Tập phụ thuộc hàm tối thiểu

Một phần của tài liệu Giáo trình quản trị cơ sở dữ liệu nâng cao MS SQL SERVER (Trang 81)

- DEFAULT IDENTITY

81Như vậy E tương đương với F.

7.2.1.7 Tập phụ thuộc hàm tối thiểu

Tập phụ thuộc hàm là tối thiểu nếu nĩ thoả mãn các điều kiện sau:

1. Chỉ cĩ một thuộc tính nằm ở phía bên phải của tất cả các phụ thuộc hàm trong F.

2. Khơng thể bỏ đi bất kỳ một phụ thuộc hàm nào trong F mà vẫn cĩ được một tập phụ thuộc hàm tương đương với F (tức là, khơng cĩ phụ thuộc hàm dư thừa).

3. Khơng thể thay thế bất kỳ phụ thuộc hàm XA nào trong F bằng phụ thuộc hàm YA, với YX mà vẫn cĩ được một tập phụ thuộc hàm tương đương với F (tức là, khơng cĩ thuộc tính dư thừa trong phụ thuộc hàm)

Nhận xét:

- Tất cả các tập phụ thuộc hàm đều cĩ phụ thuộc hàm tối thiểu tương đương với nĩ. - Cĩ thể cĩ nhiều phụ thuộc hàm tối thiểu

Thuật tốn: Tìm tập phụ thuộc hàm tối thiểu G của F

1. Đặt G:=F.

2. Thay thế tất cả các phụ thuộc hàm X→{A1,A2,…,An} trong G bằng n phụ thuộc hàm: X →A1, X →A2,…, X →An.

3. Với mỗi phụ thuộc hàm X → A trong G, với mỗi thuộc tính B trong X nếu ((G -{X → A})  {( X - {B}) →A} ) là tương đương với G, thì thay thế X→ A bằng (X - {B}) → A trong G.

(Loại bỏ thuộc tính dư thừa trong phụ thuộc hàm)

4. Với mỗi phụ thuộc hàm X → A trong G, nếu (G- {X → A}) tương đương với G, thì loại bỏ phụ thuộc hàm X → A ra khỏi G.(Loại bỏ phụ thuộc hàm dư thừa)

Ví dụ: Tìm tập phụ thuộc hàm tối thiểu G của F (hay tìm phủ tối thiểu G của F) F = {ABC, BAC, CAB}

Bước 1: G = F = {ABC, BAC, CAB}

Bước 1. G = {AB, AC, BA, BC, CA, CB}

Bước 3. Do các phụ thuộc hàm trong G đều cĩ vế trái gồm một thuộc tính nên G vẫn giữ nguyên. Bước 4. Loại bỏ phụ thuộc hàm thừa.

1. Do AB và BC nên AC là thừa. Do CB, BA nên C A là thừa. Bỏ đi những phụ thuộc hàm thừa ta được một tập phụ thuộc hàm tối thiểu

G = {AB, BA, BC, CB}

2. Do AB và BC nên AC là thừa. Do BC và CA nên BA là thừa. do CA, AB nên CB là thừa. Bỏ đi những phụ thuộc hàm thừa ta nhận được tập phụ thuộc hàm tối thiểu: G = { AB, BC, CA}

Một phần của tài liệu Giáo trình quản trị cơ sở dữ liệu nâng cao MS SQL SERVER (Trang 81)

Tải bản đầy đủ (PDF)

(121 trang)