RÀNG BUỘC TOÀN VẸN, PHỤ THUỘC HÀM VÀ KHÓA
4.3. PHỤ THUỘC HÀM (Functional Dependency) 1 Định nghĩa và biểu diễn phụ thuộc hàm
4.3.1. Định nghĩa và biểu diễn phụ thuộc hàm
Trong Chương trước đã trình bày khái niệm cơ bản về phụ thuộc hàm (Functional Dependency) trong một quan hệ. Phụ thuộc hàm có tầm quan trọng rất lớn trong việc phân tích và thiết kế mơ hình dữ liệu. Mục này sẽ trình bày kỹ hơn về vấn đề này.
Khái niệm: Quan hệ R được định nghĩa trên tập thuộc tính U=A1A2...An.
X,Y U là 2 tập con của tập thuộc tính U. Nếu tồn tại một ánh xạ f: X Y thì ta nói rằng X xác định hàm Y, hay Y phụ thuộc hàm vào X, và ký hiệu là X Y.
Định nghĩa hình thức của phụ thuộc hàm như sau:
Quan hệ Q (ABC) có phụ thuộc hàm A xác định B (ký hiệu là A B) nếu: q, q‟ Q, sao cho q.A = q‟.A thì q.B = q‟.B
(Nghĩa là: ứng với 1 giá trị của A thì có một giá trị duy nhất của B) A là vế trái của phụ thuộc hàm, B là vế phải của phụ thuộc hàm.
Phụ thuộc hàm hiển nhiên: A B được gọi là phụ thuộc hàm hiển nhiên nếu
B A.
Phụ thuộc hàm nguyên tố: A B được gọi là phụ thuộc hàm nguyên tố, hoặc
nói cách khác, B được gọi là phụ thuộc hàm đầy đủ (fully functional dependence)
Ví dụ 4.15: Trong CSDL quản lý hàng hóa, quan hệ HANG(MaH, TenH,
SLTon) có các phụ thuộc hàm sau:
f1:MaH tenH; f2: MaH SLTon; Các phụ thuộc hàm trên đều là nguyên tố.
Ví dụ 4.16:
Trong lược đồ CSDL quản lý hóa đơn bán hàng đã cho trong ví dụ trên, quan hệ HOADON(Sohoadon, Soloaihang, Tongtrigia) có các phụ thuộc hàm sau:
f1: Sohoadon Soloaihang; f2: Sohoadon Tongtrigia;
Bởi vì Sohoadon là khóa của lược đồ quan hệ HOADON. Nếu biết số hóa đơn thì ta có thể xác định được tất cả các thơng tin cịn lại liên quan đến hóa đơn đó, trong đó có thơng tin về Soloaihang và Tongtrigia tất cả các mặt hàng của hóa đơn. Các phụ thuộc hàm trên đều là nguyên tố.
Quan hệ CHITIETHD (Sohoadon, Mahang, Soluongdat, Dongia, Trigia) có các phụ thuộc hàm sau:
f1: Sohoadon, Mahang Soluongdat. f2: Sohoadon, Mahang Dongia. f3: Sohoadon, Mahang Trigia. f4: Soluongdat, Dongia Trigia. f5: Mahang Dongia
Thuộc tính Dongia phụ thuộc hàm khơng đầy đủ vào khóa (Sohoadon, Mahang), bởi vì nó chỉ phụ thuộc vào mặt hàng (thơng qua Mahang).
Qua ví dụ vừa nêu chúng ta thấy, trên một lược đồ quan hệ có thể tồn tại nhiều phụ thuộc hàm. Tập các phụ thuộc hàm thường được ký hiệu bằng chữ F.