ĐỊNH NGHĨA PHỤ THUỘC HÀM

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Nghề: Công nghệ thông tin - Cao đẳng) - Trường CĐ Nghề Công nghiệp Thanh Hóa (Trang 56 - 60)

CHƢƠNG 4 : PHỤC THUỘC HÀM

1.ĐỊNH NGHĨA PHỤ THUỘC HÀM

Cho quan hệ phan Cong sau:

phanCong PHICONG MAYBAY NGAYKH GIOKH

Cushing 83 9/8 10:15a Cushing 116 10/8 1:25p Clark 281 8/8 5:50a Clark 301 12/8 6:35p Clark 83 11/8 10:15a Chin 116 12/8 1:25p Copely 281 9/8 5:50a Copely 281 13/8 5:50a Copely 412 15/8 1:25p

Quan hệ phanCong diễn tả phi công nào lái máy bay nào và máy bay khởi hành vào thời gian nào. Không phải sự phối hợp bất kỳ nào giữa phi công, máy bay và ngày giờ khởi hành cũng đều đƣợc chấp nhận mà chúng có các điều kiện ràng buộc qui định sau:

+ Mỗi máy bay có một giờ khởi hành duy nhất.

+ Nếu biết phi công, biết ngày giờ khởi hành thì biết đƣợc máy bay do phi công ấy lái.

+ Nếu biết máy bay, biết ngày khởi hành thì biết phi công lái chuyến bay ấy. Các ràng buộc này là các ví dụ về phụ thuộc hàm và đƣợc phát biểu lại nhƣ sau:

57 + MAYBAY xác định GIOKH

+{PHICONG,NGAYKH,GIOKH} xác định MABAY +{MAYBAY,NGAYKH} xác định PHICONG

Hay

+ GIOKH phụ thuộc hàm vào MAYBAY

+ MABAY phụ thuộc hàm vào {PHICONG,NGAYKH,GIOKH} + PHICONG phụ thuộc hàm vào {MAYBAY, NGAYKH}

và đƣợc ký hiệu nhƣ sau: + {MAYBAY} GIOKH

+ {PHICONG, NGAYKH, GIOKH} MABAY + {MAYBAY, NGAYKH}  PHICONG

Trong ký hiệu trên ta đã ký hiệu MAYBAY thay cho {MAYBAY}. Một cách tổng quát:

a. Định nghĩa phụ thuộc hàm

Cho lƣợc đồ quan hệ Q{A1, A2,…, An}. X, Y là hai tập con khác rỗng của Q+. Ta nói X xác định Y (hay Y phụ thuộc hàm vào X ) nếu với r là một quan hệ nào đó trên Q, t1,t2  r mà t1.X = t2.X  t1.Y = t2.Y (nghĩa là không thể tồn tại

hai bộ trong r giống nhau ở các thuộc tính trong tập X mà lại khác nhau ở một hay nhiều thuộc tính nào đó trong tập Y). Khi đó ta ký hiệu là X  Y.

Chẳng hạn nhƣ phụ thuộc hàm của thuộc tính họ tên của sinh viên (HOTENSV) vào mã số sinh viên (MASV) và ta có thể diễn tả bằng phụ thuộc hàm:

MASV HOTENSV

b.Tính chất:

+ Phụ thuộc hàm X   đúng với mọi quan hệ r

+ Phụ thuộc hàm Y chỉ đúng trên quan hệ r có cùng giá trị trên Y. Ví dụ 4.1: Quan hệ sau thỏa mãn phụ thuộc hàm   GIOKH

phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)

Cushing 83 9/8 10:15a Cushing 116 10/8 10:15a Clark 281 8/8 10:15a Clark 301 12/8 10:15a Clark 83 11/8 10:15a Chin 83 13/8 10:15a

58 Chin 116 12/8 10:15a Copely 281 9/8 10:15a Copely 281 13/8 10:15a Copely 412 15/8 10:15a

Trên thực tế không có quan hệ r nào thỏa tính chất trên nên từ đây về sau nếu không nói rõ thì với một quan hệ r bất kỳ ta luôn xem phụ thuộc hàm Y luôn luôn không thỏa trên r.

c. Phụ thuộc hàm hiển nhiên (Trivial Dependencies)

Hệ quả: Nếu X Y thì X Y.

Chứng minh:

Giả sử t1.X = t2.X do X Y nên t1.Y = t2.Y theo định nghĩa suy ra XY (adsbygoogle = window.adsbygoogle || []).push({});

Trong trƣờng hợp này X  Y đƣợc gọi là phụ thuộc hàm hiển nhiên. Ví dụ phụ thuộc hàm X  X là phụ thuộc hàm hiển nhiên.

Vậy với r là quan hệ bất kỳ, F là tập phụ thuộc hàm thỏa trên r, ta luôn có F {các phụ thuộc hàm hiển nhiên}

d.Thuật toán Satifies

Cho quan hệ r và X, Y là hai tập con của Q+. Thuật toán SATIFIES sẽ trả về trị true nếu XY

ngƣợc lại là false

SATIFIES

Vào: quan hệ r và hai tập con X,Y ra: true nếu X đ Y, ngƣợc lại là false SATIFIES(r, X, Y)

1.Sắp các bộ của quan hệ r theo X để các giá trị giống nhau trên X nhóm lại với nhau

2.Nếu tập các bộ cùng giá trị trên X cho các giá trị trên Y giống nhau thì trả về true ngƣợc lại là False

Ví dụ 4.2: SATIFIES( phanCong,MAYBAY,GIOKH)

phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)

Cushing 83 9/8 10:15a

Clark 83 11/8 10:15a

59 Cushing 116 10/8 1:25p Chin 116 12/8 1:25p Clark 281 8/8 5:50a Copely 281 9/8 5:50a Copely 281 13/8 5:50a Clark 301 12/8 6:35p Copely 412 15/8 1:25p

cho kết quả là true nghĩa là MAYBAYGIOKH Ví dụ 4.3: SATIFIES(phanCong, GIOKH, MAYBAY)

phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)

Clark 281 8/8 5:50a Copely 281 9/8 5:50a Copely 281 13/8 5:50a Cushing 83 9/8 10:15a Clark 83 11/8 10:15a Chin 83 13/8 10:15a Cushing 116 10/8 1:25p Chin 116 12/8 1:25p Copely 412 15/8 1:25p Clark 301 12/8 6:35p

60

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Nghề: Công nghệ thông tin - Cao đẳng) - Trường CĐ Nghề Công nghiệp Thanh Hóa (Trang 56 - 60)