Dạng chuẩn mờ Boyce Codd

Một phần của tài liệu Lý thuyết chuẩn hóa của cơ sở dữ liệu mờ và ngôn ngữ SQL mờ (Trang 57)

Định nghĩa 2.12. [4] Cho F là tp các ffd ca lược đồ quan h R. R được gi dng BCNF m nếu và ch nếu R dng 3NF m và vi bt k X p A trong F, hoc A nm trong X hoc X là mt siêu khoá m ca R; có nghĩa X là mt khoá m hoc cha mt khoá m.

Để kiểm tra một quan hệ có là BCNF mờ hay không, tất cả các ffd của quan hệ cần được kiểm tra dựa vào 2 điều kiện. Nếu vế trái của ffd hoặc chứa tất cả các thuộc tính của vế phải hoặc chứa bất cứ khoá mờ nào của quan hệ thì ffd đó không vi phạm BCNF mờ. Thuật toán phân tách thành BCNF mờ được trình bày trong phần sau. Thuật toán này đảm bảo phép tách là phép tách có kết nối không mất thông tin .

Thut toán 2.11. Thut toán phân tách có kết ni không mt thông tin thành BCNF m.

Vào: Quan h R và tp ph thuc hàm m F.

Ra: Mt phép phân tách có kết ni không mt thông tin ca R, sao cho mi quan h trong phân tách dng BCNF m.

Phương pháp:

1) Vi ffd vi phm BCNF m là X p A trong đó A, X R và A là thuc tính đơn. Phân tách R thành 2 lược đồ quan h: R − A và XA.

2) Áp dng đệ quy bước 1 cho tt c các ffd vi phm BCNF m cho ti khi không còn ffd nào trong quan h vi phm BCNF m.

Các ffd được kim tra trên đã dng 3NF m và vế phi ca ffd ch bao gm các thuc tính đơn (bi vì áp dng thut toán phân tách 3NF m).

Ví d 2.15. Cho lược đồ quan hệ R =(A, B, C, D, E, F, G) với các ffd

CE→0.7 A, BD→0.6 E, C→0.9 B và A là khoá mờ của quan hệ với độ mạnh 0.8, đó là A→0.8 BCDFG. Lược đồ quan hệ là 2NF mờ vì không có phụ thuộc một phần (khoá mờ của quan hệ, A, là thuộc tính đơn). Bây giờ, cần kiểm tra quan hệ có là 3NF mờ hay không. Để là 3NF mờ, hoặc vế trái của ffd chứa khoá mờ, A, hoặc vế phải là thuộc tính khoá mờ, nghĩa là, vế phải là một phần của khoá mờ. Ở ví dụ này, ffd thứ 2 vi phạm điều kiện này, do vậy quan hệ không là 3NF mờ và do đó cũng không là BCNF mờ. Theo như thuật toán 2.9, phân tách quan hệ thành 2 quan hệ mới; một quan hệ với các thuộc tính

{B, D, E} và ffd BD→0.6 E vi BD là khoá mờ với độ mạnh 0.6; một quan hệ với các thuộc tính {A, B, C, D, F, G} và ffd là C0.9 B vi A là khoá mờ với độ mạnh là 0.8. Ở phép phân tách này, lược đồ quan hệ thứ 2 vẫn không ở

BCNF mờ vì ffd C0.9 B vi phạm các điều kiện của BCNF mờ. Do vậy phải phân tách nó thành 2 quan hệ mới, một quan hệ với các thuộc tính {A, C, D,

F, G} và A là khoá mờ với độ mạnh 0.8, và một quan hệ với các thuộc tính {B

,C} và ffd C0.9 B vi C là khoá mờ có độ mạnh 0.9. Do vậy, các lược đồ

BDE, BC và ACDFG là BCNF mờ.

Một phần của tài liệu Lý thuyết chuẩn hóa của cơ sở dữ liệu mờ và ngôn ngữ SQL mờ (Trang 57)