Tương tự như trong quan hệ truyền thống, trong mô hình cơ sở dữ liệu quan hệ mờ, các dạng chuẩn mờ được định nghĩa dựa trên khái niệm phụ thuộc hàm mờ và khoá mờ.
Định nghĩa 2.7. [4] Cho K, S ⊆U, và F là một tập phụ thuộc hàm mờ của lược đồ quan hệ R: K được gọi là một khoá mờ của R với độ mạnh ϑ nếu và
chỉ nếu K→ϑi U ∈ F và K→ϑi U không phải là ffd một phần, trong đó
ϑ=minϑi và ϑ >0.
Ví dụ 2.6. Cho quan hệ R=(A, B, C, D), và các phụ thuộc hàm mờ: A→0.7 B và A→0.9 CD, A là khoá mờ của quan hệ với độ mạnh 0.7, vì giá trị B được xác định bởi A với độ mạnh là 0.7 và các giá trị C, D được xác định bởi A với độ mạnh 0.9. Các giá trị ϑ1=0.7 và ϑ2 = 0.9 và giá trị ϑ khi đó là min của {0.7,0.9}, đó là 0.7.
Khoá mờ có các giá trị như một thuộc tính thông thường. Nó có thể có nhiều giá trị như là {a,b} ở đó a và b là tương tự nhau với một mức độ tương tự nhất định. Giá trị khoá mờ chỉ có một hạn chế như các thuộc tính khác là không được là tổ hợp của AND. Điều này sẽđược giải thích ở phần sau.
2.2.2.1.Bao đóng các phụ thuộc hàm mờ
Cho một tập các phụ thuộc hàm mờ của một quan hệ, khoá mờ của quan hệ có thể tìm thấy bằng cách sử dụng khái niệm bao đóng bắc cầu. Chen, Kerre và Vandenbulcke ([13]) đã nghiên cứu bao đóng bắc cầu và các tiên đề của phụ thuộc hàm mờ. Việc tính bao đóng bắc cầu của tập phụ thuộc hàm mờ F dựa trên các quy tắc suy diễn là không đơn giản, bởi vì tập đó có thể là rất lớn cho dù tập phụ thuộc F là nhỏ. Thay vì sử dụng phương pháp trên, thuật toán sau tìm tất cả các thuộc tính phụ thuộc hàm mờ vào tập thuộc tính X và độ mạnh lớn nhất sẽđược lấy, gọi là bao đóng bắc cầu của X.
Thuật toán 2.1. [4] Thuật toán tính bao đóng bắc cầu.
Vào: X là tập k thuộc tính X=X1, X2,....Xk . F là tập các phụ thuộc hàm mờ.
Ra: X+, bao đóng bắc cầu của X ứng với F.
1) Khởi tạo danh sách bao đóng của X, ký hiệu là XList, với tập các thuộc tính thuộc X với độ lớn nhất, 1, cho mỗi thuộc tính.
XList={(X1, 1), (X2, 1),...,(X3, 1)}
Gọi Dom là miền thoạt đầu, chứa các thuộc tính trong XList; cụ thể là X1, X2, ...Xk. BList là danh sách bao đóng tạm thời.
2) Với mỗi ffd V→α W, trong F
Nếu vế trái mỗi fdd là một tập con của miền Dom, V ⊆ Dom
• Tìm độ mạnh nhỏ nhất trong XList, trong số các phần tử của XList mà có thuộc tính là các phần tử của V, gọi là minstrength.
• Gọi φ là giá trị nhỏ nhất của α và độ mạnh tìm thấy ở bước trước,
φ = min (α, minstrength).
• Với mỗi thuộc tính Wj của vế phải W, thêm (Wj, φ ) vào BList 3) Tổ hợp BList với XList, sử dụng phép hợp mờ.
4) Nếu có một sự thay đổi ở XList, thiết lập lại BList, điều chỉnh miền, Dom, theo các phần tử mới của XList, và trở lại bước 2. Trong trường hợp khác thì dừng, XList là bao đóng bắc cầu của X.
Ví dụ 2.7. Cho các quan hệ nhưở ví dụ 2.6, quan hệ R với tập thuộc tính
{A, B, C, D} và fdds: A→0.7 B và A→0.9 CD. Chúng ta tính bao đóng bắc cầu của thuộc tính A.
Khởi tạo,
XList = {(A,1)}, Dom={A}, BList =Ø
Với ffd đầu tiên, A→0.7 B
minstrength = 1, φ = min(1, 0.7) =0.7 BList = {(B, 0.7)}
Với ffd thứ 2, A→0.9 CD
BList ={(B, 0.7),(C, 0.9),(D, 0.9)}
Tổ hợp BList vào XList, XList = {(A, 1), (B, 0.7), (C, 0.9), (D, 0.9)}
Vì XList thay đổi, chúng ta thiết lập lại BList và miền Dom mới là Dom = {A,
B, C, D}. Sau đó, 2 ffd cũng được xem lại với kịch bản tương tự. Nhưng tại thời điểm này, không có gì thay đổi ở XList và bao đóng bắc cầu của A là {(A,
1),(B, 0.7), (C, 0.9), (D, 0.9)}.
2.2.2.2.Tìm khoá mờ của quan hệ
Để tìm khoá mờ của quan hệ, khái niệm tập bao đóng bắc cầu của phụ thuộc hàm mờđược sử dụng.
Thuật toán 2.2. [4] Thuật toán tìm khoá mờ,
Vào: Cho F là một tập các ffd của quan hệ R
Ra: Khoá mờ của quan hệ R
Phương pháp:
1) Tìm tất cả các thuộc tính vế trái của các ffd trong F.
2) Tìm tất cả các thuộc tính không chứa ở bất kỳ ffd nào của F. 3) Hợp hai tập tìm thấy vào danh sách các thuộc tính AttributeList.
4) Bắt đầu với các tổ hợp một thuộc tính đơn, cho tất cả các tổ hợp lớn dần các thuộc tính trong danh sách các thuộc tính AttributeList (gọi tắt tổ hợp là comb):
a. Nếu comb chứa một khoá đã tìm thấy trước đây, tiếp tục với các tổ hợp khác
b. Tìm bao đóng của comb
c. Nếu bao đóng đã tìm thấy chứa tất cả các thuộc tính của quan hệ, thiết lập α là giá trị nhỏ nhất của độ mạnh trong tập bao
Với thuật toán này, tất cả các khoá dự tuyển được tìm thấy. Bước thứ tư của thuật toán đảm bảo phụ thuộc hàm mờđầy đủ của các thuộc tính của quan hệ vào khoá mờ.
Ví dụ 2.8. Cho các quan hệ như ví dụ 2.6. Để tìm tất cả các khoá mờ cho quan hệ R=(A, B, C, D) với các ffd: A→0.7 B và A→0.9 CD, chúng ta áp dụng thuật toán trên.
Tập thuộc tính vế trái của R là {A}, không có thuộc tính nào không nằm trong bất cứ ffd nào, do vậy AttributeList={A}. Vì chỉ có một thuộc tính ở
AttributeList, chỉ cần tìm bao đóng cho thuộc tính A.Và bao đóng của thuộc
tính A là {(A, 1),(B, 0.7), (C, 0.9), (D, 0.9)}. Vì bao đóng chứa tất cả các thuộc tính trong quan hệ, A là khoá mờ của quan hệ với độ mạnh 0.7, là nhỏ nhất của {1, 0.7, 0.9}
2.2.2.3. Các thuộc tính khoá và không khoá (Fuzzy Prime and Nonprime Attributes)
Để có thể thiết lập các điều kiện cho dạng chuẩn mờ 2, cần phải định nghĩa các thuộc tính khoá mờ và không khoá mờ cho quan hệ.
Định nghĩa 2.8. [4] Cho A∈ U, X ⊆ U và К là một tập khoá mờ của quan hệ
R. A được gọi là thuộc tính khoá mờ nếu và chỉ nếu A ∈ K với K∈К; X được gọi là tập thuộc tính khoá mờ nếu và chỉ nếu X ⊆ K với K∈К. Các thuộc tính không phải là thuộc tính khóa mờ được gọi là thuộc tính không khoá mờ
(nonprime).
Để một thuộc tính là thuộc tính khoá mờ thì nó phải là một phần của ít nhất một trong những khoá mờ của quan hệ. Tương tự, để một thuộc tính là thuộc tính không khoá mờ, nó không được xuất hiện trong bất cứ một khoá
mờ nào của quan hệ. Ở ví dụ 2.8, thuộc tính A là thuộc tính khoá mờ với độ mạnh 0.7.