Định nghĩa 2.12. [4] Cho F là tập các ffd của lược đồ quan hệ R. R được gọi là ở dạng BCNF mờ nếu và chỉ nếu R ở dạng 3NF mờ và với bất kỳ X →p A trong F, hoặc A nằm trong X hoặc X là một siêu khoá mờ của R; có nghĩa X là một khoá mờ hoặc chứa một 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 .
Thuật toán 2.11. Thuật toán phân tách có kết nối không mất thông tin thành BCNF mờ.
Vào: Quan hệ R và tập phụ thuộc hàm mờ F.
Ra: Một phép phân tách có kết nối không mất thông tin của R, sao cho mỗi quan hệ trong phân tách ở dạng BCNF mờ.
Phương pháp:
1) Với ffd vi phạm BCNF mờ là X →p A trong đó A, X ⊂ R và A là thuộc tính đơn. Phân tách R thành 2 lược đồ quan hệ: R − A và XA.
2) Áp dụng đệ quy bước 1 cho tất cả các ffd vi phạm BCNF mờ cho tới khi không còn ffd nào trong quan hệ vi phạm BCNF mờ.
Các ffd được kiểm tra ở trên đã ở dạng 3NF mờ và vế phải của ffd chỉ bao gồm các thuộc tính đơn (bởi vì áp dụng thuật 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 với 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à C→0.9 B với 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 C→0.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 C→0.9 B với C là khoá mờ có độ mạnh 0.9. Do vậy, các lược đồ
BDE, BC và ACDFG là BCNF mờ.