Bài 5 – THIẾT KẾ CSDL
5.1. Phụ thuộc hàm (functional dependency)
5.2. Khóa và cách xác định
103
104
5.1. Giới thiệu phụ thuộc hàm
Xét loại quan hệ:
SINHVIEN(MSSV, HOTEN, NTNS, PHAI)
MSSV xác định HOTEN, hay HOTEN phụ
thuộc vào MSSV
MSSV xác định NTNS, PHAI, hay NTNS, PHAI
phụ thuộc vào MSSV.
Ký hiệu:
MSSV → HOTEN
MSSV → NTNS
MSSV → PHAI
105
5.1. Phụ thuộc hàm (1)
Cho lđ quan hệ Q(A, B, C). Phụ thuộc hàm A xác
định B. Ký hiệu A → B nếu:
q1,q2Q: Nếu q1.A = q2.A thì q1.B = q2.B
A → B được gọi là phụ thuộc hàm hiển nhiên nếu
B A
A → B được gọi là phụ thuộc hàm nguyên tố nếu
¬A A, AA sao cho A’→ B
106
Ràng buộc khóa cũng là một phụ thuộc hàm
Mamh → Tenmh, Tclt, Tcth, Makhoa
R4: Các giáo viên có cùng học vị, cùng hệ số
lương thì mức lương sẽ bằng nhau. Ràng buộc
này có thể biểu diễn bằng phụ thuộc hàm như
sau:
Hocvi, Heso → Mucluong
5.1. Phụ thuộc hàm (2)
107
Hệ tiên đề Amstrong:
Cho R(U) với X, Y, Z, W U. PTH có các
tính chất sau:
1. Tính phản xạ:
Nếu Y X thì X Y
2. Tính tăng trưởng:
Nếu X Y thì XZ YZ
3. Tính bắc cầu:
Nếu X YY → Z thì X → Z
5.1. Phụ thuộc hàm (3)