Phủ tối tiểu (Minimum Cover)

Một phần của tài liệu GIÁO TRÌNH CƠ SỞ DỮ LIỆU.TS. Đặng Thị Thu Hiền (Trang 76 - 77)

RÀNG BUỘC TOÀN VẸN, PHỤ THUỘC HÀM VÀ KHÓA

4.3.4.2. Phủ tối tiểu (Minimum Cover)

- Cho F là tập các phụ thuộc hàm dựa trên Q và một tập các RBTV dạng phụ thuộc hàm.

- Điều quan trọng ở đây là khi ta cập nhật CSDL thì hệ thống phải bảo đảm tất cả các phụ thuộc hàm trên không bị vi phạm.

- Ta biết rằng từ F ban đầu ta có tìm ra nhiều tập Fi tương đương với F bằng cách suy từ các phụ thuộc hàm của F. Quan hệ thoả các Fi thì cũng thoả F và ngược lại.

Giả sử ta có F={AB, BC}

Thì ta cũng có : F1={AB,BC,AC}, F2= {AB,BC,AC, ABBC}, … và F1  F , F2  F

Vấn đề được đặt ngược lại là nếu cho F thì ta có thể tìm ra được tập phụ thuộc hàm đơn giản hơn F và tương đương với F.

Tập phụ thuộc hàm có ít phụ thuộc hàm hơn F và các phụ thuộc hàm đó cũng đơn giản hơn. Và như vậy hệ thống dễ dàng kiểm tra hơn.

Định nghĩa thuộc tính dư thừa (Extraneous):

Một thuộc tính được gọi là dư thừa trong tập phụ thuộc hàm F nếu như ta bỏ nó ra khỏi các phụ thuộc hàm mà bao đóng của F vẫn không đổi.

Cho XY là một phụ thuộc hàm của F

- A là thuộc tính dư thừa trong X nếu A X và F  (F- {XY})  {(X- A)Y}

- B là thuộc tính dư thừa trong Y nếu B Y và F  (F- {XY})  {X(Y- B)}

Phủ tối tiểu của F ký hiệu là Fc là tập phụ thuộc hàm tương đương với F và

thoả các tính chất sau:

Không có phụ thuộc hàm nào trong Fc chứa các thuộc tính dư thừa. Không có 2 phụ thuộc nào cùng vế trái.

Thuật toán tìm phủ tối tiểu từ F. do

Sử dụng công thức hợp để thay thế các phụ thuộc hàm có cùng vế trái: X1Y1 và X1  Y2  X1Y1Y2

Nếu có một phụ thuộc hàmXY có các thuộc tính dư thừa bên vế trái hay vế phải thì xoá nó khỏi XY

while (F không thay đổi)

Ví dụ 4.21: Cho F là tập phụ thuộc hàm trên lược đồ quan hệ (ABC) như sau:

F={ABC, BC, AB, ABC} Tìm phủ tối tiểu của F

Có hai phụ thuộc hàm cùng vế trái: ABC, A B

Ta thay thế hai phụ thuộc hàm trên bằng phụ thuộc hàm ABC Tập phụ thuộc hàm mới: F={ABC, BC, ABC}

A là thuộc tính dư thừa trong ABC vì F (F- {ABC})  {BC} Do đó ABC được thay bằng BC

Tập phụ thuộc hàm mới là: F={ABC, BC}

C là thuộc tính dư thừa trong ABC vì F (F –{ABC})  {AB} Do đó ABC được thay thế bằng AB

Tập phụ thuộc hàm mới là: F={AB, BC} Vậy phủ tối tiểu của F là: Fc={AB, BC}

4.4. KHÓA

Một phần của tài liệu GIÁO TRÌNH CƠ SỞ DỮ LIỆU.TS. Đặng Thị Thu Hiền (Trang 76 - 77)