Thuộc tính Tên các cột của quan hệ Mô tả ý nghĩa cho các giá trị tại cột đó Tất cả các dữ liệu trong cùng 1 một cột đều có dùng kiểu dữ liệu Thuộc tính... Định nghĩa Gọi K là m
Trang 1Chương 3: Mô hình dữ liệu quan hệ
Trang 2Nội dung chi tiết
Giới thiệu
Các khái niệm của mô hình quan hệ
Ràng buộc toàn vẹn
Các đặc trưng của quan hệ
Chuyển lược đồ ER sang mô hình quan hệ
Trang 3Giới thiệu
Do tiến sĩ E F Codd đưa ra
“A Relation Model for Large Shared Data Banks”,
Là cơ sở của các HQT CSDL thương mại
MS Access, SQL Server, DB2, Oracle, …
Trang 4Nội dung chi tiết
Trang 51 cột là 1 thuộc tính của nhân viên
1 dòng là 1 nhân viên
Quan hệ
Các thông tin lưu trữ trong CSDL được tổ chức thành bảng (table) 2 chiều gọi là quan hệ
Tên quan hệ là NHANVIEN
Trang 7Thuộc tính
Tên các cột của quan hệ
Mô tả ý nghĩa cho các giá trị tại cột đó
Tất cả các dữ liệu trong cùng 1 một cột đều có
dùng kiểu dữ liệu
Thuộc tính
Trang 8Lược đồ quan hệ
Lược đồ
Lược đồ quan hệ
Tên của quan hệ
Tên của tập thuộc tính
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
Là tập hợp
Trang 9Lược đồ (tt)
Lược đồ CSDL
Gồm nhiều lược đồ quan hệ
Lược đồ CSDL
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)
DEAN(TENDA, MADA, DDIEM_DA, PHONG)
Trang 10Dữ liệu cụ thể của thuộc tính
Trang 12Định nghĩa hình thức
Lược đồ quan hệ
Cho A1, A2, …, An là các thuộc tính
Có các miền giá trị D1, D2, …, Dn tương ứng
Ký hiệu R(A1:D1, A2:D2, …, An:Dn) là một lược đồ quan hệ
lược đồ
NGSINH:date, DCHI:string, PHAI:string, LUONG:integer, PHONG:integer)
viên
MANV là một thuộc tính có miền giá trị là số nguyên
TENNV là một thuộc tính có miền giá trị là chuỗi ký tự
Trang 13Định nghĩa hình thức (tt)
Quan hệ (hay thể hiện quan hệ)
Một quan hệ r của lược đồ quan hệ R(A1, A2, …, An),
Trang 14 Miền giá trị của thuộc tính A
DOM(A) hay MGT(A)
Giá trị tại thuộc tính A của bộ thứ t
t.A hay t[A]
Trang 15Nội dung chi tiết
Khóa ngoại (Foreign key)
Trang 17Siêu khóa
Các bộ trong quan hệ phải khác nhau từng đôi
một
Siêu khóa (Super Key)
Gọi SK là một tập con khác rỗng các thuộc tính của R
SK là siêu khóa khi
Siêu khóa là tập các thuộc tính dùng để xác định tính duy nhất của mỗi bộ trong quan hệ
Mọi lược đồ quan hệ có tối thiểu một siêu khóa
r, t1,t2r, t1 t2 t1[SK] t2[SK]
Trang 18 Định nghĩa
Gọi K là một tập con khác rỗng các thuộc tính của R
K là khóa nếu thỏa đồng thời 2 điều kiện
K là một siêu khóa của R
Nhận xét
Giá trị của khóa dùng để nhận biết một bộ trong quan hệ
Khóa là một đặc trưng của lược đồ quan hệ, không phụ
thuộc vào thể thiện quan hệ
Khóa được xây dựng dựa vào ý nghĩa của một số thuộc
tính trong quan hệ
Lược đồ quan hệ có thể có nhiều khóa
K’ K , K’ K , K’ không phải là siêu khóa của R
Trang 19Khóa chính
Xét quan hệ
Có 2 khóa
Khi cài đặt quan hệ thành bảng (table)
Chọn 1 khóa làm cơ sở để nhận biết các bộ
Khóa có ít thuộc tính hơn
Khóa được chọn gọi là khóa chính (PK - primary key)
Các thuộc tính khóa chính phải có giá trị khác null
Các thuộc tính khóa chính thường được gạch dưới
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
Trang 20Tham chiếu
Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ một thuộc tính B của quan hệ S, ta gọi R tham chiếu S
Bộ được tham chiếu phải tồn tại trước
Trang 21Khóa ngoại
Xét 2 lược đồ R và S
Gọi FK là tập thuộc tính khác rỗng của R
FK là khóa ngoại (Foreign Key) của R khi
Các thuộc tính trong FK phải có cùng miền giá trị với các thuộc tính khóa chính của S
Giá trị tại FK của một bộ t 1 R
Hoặc bằng giá trị tại khóa chính của một bộ t2S
Trang 22Khóa ngoại (tt)
Nhận xét
Trong một lược đồ quan hệ, một thuộc tính vừa có
thể tham gia vào khóa chính, vừa tham gia vào khóa ngoại
Khóa ngoại có thể tham chiếu đến khóa chính trên
Trang 23Khóa ngoại (tt)
Trang 24Nội dung chi tiết
Giới thiệu
Các đặc trưng của quan hệ
Trang 25Các đặc trưng của quan hệ
Thứ tự các bộ trong quan hệ là không quan trọng
Thứ tự giữa các giá trị trong một bộ là quan trọng
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, Nam, 40000, 5>
khác
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, 40000, Nam, 5>
Trang 26Các đặc trưng của quan hệ (tt)
Mỗi giá trị của một thuộc tính trong một bộ
Hoặc là một giá trị nguyên tố
Hoặc là một giá trị rỗng (null)
Không có bộ nào trùng nhau
Trang 27Nội dung chi tiết
Giới thiệu
Chuyển lược đồ E/R sang thiết kế quan hệ
Các qui tắc chuyển đổi
Trang 28Các qui tắc chuyển đổi
(1) Tập thực thể
Các tập thực thể (trừ tập thực thể yếu) chuyển thành các quan hệ có cùng tên và tập thuộc tính
(1,1) (1,1)
PHONGBAN(TENPHG, MAPHG)
Trang 29Các qui tắc chuyển đổi (tt)
(2) Mối quan hệ
(2a) Nhiều-Nhiều
Tạo một quan hệ mới có
Tên quan hệ là tên của mối quan hệ
Thuộc tính là những thuộc tính khóa của các tập thực thể liên quan
DEAN
TENDA
DDIEM_DA MADA
MANV
Phan_cong
THOIGIAN
Trang 30Các qui tắc chuyển đổi (tt)
MANV
MAPHG TENPHG
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, MAPHG)
Trang 31Các qui tắc chuyển đổi (tt)
(2) Mối quan hệ
(2c) Một-Một
Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia
Hoặc thêm thuộc tính khóa vào cả 2 quan hệ
MANV
La_truong_phong
PHONGBAN
MAPHG TENPHG
NG_NHANCHUC
PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC)
Trang 32Các qui tắc chuyển đổi (tt)
(3) Thực thể yếu
Chuyển thành một quan hệ
Có cùng tên với thực thể yếu
Thêm vào thuộc tính khóa của quan hệ liên quan
MANV
THANNHAN
TENTN PHAI NGSINH
QUANHE
Co_than_nhan
(1,1) (1,n)
Trang 33 Giới thiệu
Chuyển lược đồ E/R sang thiết kế quan hệ
Các qui tắc chuyển đổi
Các phép toán của đại số quan hệ
Trang 34Các phép toán của đại số quan hệ
Có 8 phép toán của đại số quan hệ được phân
làm 2 loại:
Phép toán tập hợp (hợp, trừ, giao, tích đề các)
Phép toán quan hệ( chọn, chiếu, kết nối, chia)
Trang 35 1 Phép hợp: Hợp của 2 quan hệ r và s, kí hiệu là
r s là tập các bộ thuộc r hoặc s hoặc cả 2 quan hệ.
Biểu diễn:
r s =t /t r hoặc t s hoặc t r và s
Trang 36 Phép giao: Giao của 2 quan hệ r và s, kí hiệu là
sr là tập các bộ thuộc cả 2 quan hệ r và s.
Biểu diễn :
s r =t /t r và t s
Trang 37 3 Phép trừ: Hiệu của 2 quan hệ r và s, kí hiệu là
r-s là tập các bộ thuộc r nhưng không thuộc s
Biểu diễn: r-s =t \ t r và t s
Trang 38 4 Tích Đề_ các
Gọi r là quan hệ xác định tên tập thuộc tính A1, A2, …An
và s là quan hệ xác định trên tập thuộc tính B1, B2, …
Trang 39 5 Phép chiếu:
Phép chiếu phép trên 1 quan hệ chỉ giữ lại 1 số thuộc tính của quan hệ và loại bỏ các thuộc tính khác
Cho r(U), XU
Phép chiếu quan hệ r trên tập X được viết là: X(r)
X(r)=t[X] \ t r
Trang 40 6 Phép chọn: Là phép toán lọc ra một tập con các bộ quan hệ thoả mãn điều kiện chọn cho trước
Trong đó: Điều kiện chọn là 1 tổ hợp logic của các toán
hạng, trong đó mỗi toán hạng là 1 phép so sánh giữa 2 thuộc tính hoặc giữa 1 thuộc tính và 1 giá trị nào đó.
Phép toán logic: (và), (hoặc), (không)
Phép toán so sánh: >, <, =, >=, <=,
Phép chọn trên quan hệ r được viết như sau:
Trang 41 7 Phép kết nối (Join):
Điều liện kết nối: Là 1 tổ hợp logic của các toán hạng,
trong đó mỗi toán hạng là 1 phép so sánh 1 thuộc tính của r(U) với 1 thuộc tính của s(V)
Kí hiệu: Ai Bj , Ai U, BjV, là phép so sánh
Phép toán kết nối:
r >< s= t=(u,v)/ u r, vs và F(t) đúng
Trang 43Một số phép toán khác
Phép kết nối ngoài trái
(us:t[A] u[A])) }
Phép kết nối ngoài phải
r kết nối ngoàiP s={(t,u)| (t,u)r*s hoặc ((null,…null,u) và (tr :t[A] u[A])) }
Trang 47Các ví dụ về tìm kiếm bằng đại số quan hệ
Cho 3 quan hệ
S(S#, SNAME, STATUS, CITY): Các hãng cung ứng
P(P#, PNAME, COLOR, WEIGHT, CITY): Các mặt hàng
SP(S#, P#, QTY): Các mặt hàng đã cu Các ví dụ về tìm kiếm bằng đại số quan hệ ng cấp
Trang 48 Yêu cầu:
1 Đưa ra tên nhà cung ứng có STATUS=15
2 Đưa ra danh sách các mặt hàng có màu đỏ
3 Tìm số hiệu những nhà cung ứng có STATUS =15, cung ứng ít nhất 1 mặt hàng màu đỏ
4 Đưa ra số hiệu các hãng cung ứng cả mặt hàng P1 và P2
5 Đưa ra số hiệu các hãng cung ứng tất cả các mặt hàng
6 Thêm 1 hàng (‘S’, ‘John’, 23, ‘London’)
7 Xoá hãng cung cấp S1 trong cả 2 quan hệ S và SP
Trang 50 Codd E F., “A Relation Model for Large Shared Data
Banks”, Communications of ACM, pp377-387, 1970
Qui tắc chuyển mối quan hệ isa sang lược đồ quan hệ