4.6.3.1 Định nghĩa phụ thuộc hàm đ−ợc bao trong một l−ợc đồ quan hệ
• Một phụ thuộc hàm f: X->Y d−ợc gọi là phụ thuộc hàm đ−ợc bao trong l−ợc đồ quan hệ R nếu XY ⊂ R+
• Một phụ thuộc hàm f: X->Y d−ợc gọi là phụ thuộc hàm đ−ợc bao trong l−ợc đồ cơ sở dữ liệu D = { R1, R2,..., Rp} nếu f đ−ợc bao trong Rj, i∈
[1..p].
4.6.3.2 Định nghĩa phụ thuộc hàm bị ép thoả trong l−ợc đồ cơ sở dữ liệu
• Gọi G là tập tất cả các phụ thuộc hàm đ−ợc bao trong D thì
∀f ∈ G+, f đ−ợc gọi là bị ép thoả trong l−ợc đồ cơ sở dữ liệu D.
∀f ∈ (F+ - G+), f đ−ợc gọi là không bị ép thoả trong l−ợc đồ cơ sở dữ liệu D.
• Gọi G là tập tất cả các phụ thuộc hàm đ−ợc bao trong D ta nói tập phụ thuộc hàm F đ−ợc gọi là bị ép thoả trong D nếu F≡G.
Ví dụ: Cho D= { R1, R2, R3 } với R1(A,B,C), R2(B,C,D), R3(D,E) Xét F ={ A -> BC, C -> A, A -> D, D -> E, A -> E}
Ta nhận thấy phụ thuộc hàm A->D và A->E không đ−ợc bao trong D nh−ng F bị ép thoả trong D vì ta tìm đ−ợc tập G={ A-> BC, C ->A, D->E, C -> D} gồm các phụ thuộc hàm đ−ợc bao trong D và G ≡ F.
4.6.3.3 Điều kiện phân rã bảo toàn phụ thuộc
Một phân rã ρ là bảo toàn phụ thuộc F nếu F bị ép thoả trong ρ với t− cách là một l−ợc đồ cơ sở dữ liệu.
4.6.3.4 Giải thuật kiểm tra phân rã ρ có bảo toàn phụ thuộc
Cho l−ợc đồ quan hệ R, tập phụ thuộc hàm F định nghĩa trên R và phân rã
ρ= {Rj} j =1.. n.
Giải thuật Eclosure(X,F, ρ)
Vào: tập thuộc tính X, Tập phụ thuộc hàm F, phân rã ρ
Ra : X+ F
1. Y := ỉ 2. While Y <> X do Begin Y:=X; for ∀Rj∈ ρ do X := X U ((X ∩ Ri)+ F ∩ Ri); End; 3. Return X; Giải thuật Enforce(F, ρ)
Vào : Tâp phụ thuộc hàm F, phân rã ρ
Ra : đúng, Sai Ph−ơng pháp:
1. For ∀f∈F, f không đ−ợc bao trong ρ, f: X->Y do if Not Y ⊂ Eclosure(X,F, ρ) then return False; 2. Return true;
Ví dụ Cho F = { A->B, B ->C, C -> D, D -> A } và phân rã ρ
={(AB),(BC),(CD)}. Kiểm tra phân rã ρ có bảo toàn phụ thuộc F không?
Ta nhận thấy chỉ có phụ thuộc hàm D -> A không đ−ợc bao trong ρ. áp dụng giải thuật Enforce(F, ρ) ta kiểm tra Y có chứa trong Eclosure(D)?
Tính toán ta đ−ợc Eclosure(D)=ABCD tức A ⊂ Eclosure (D). Suy ra phân rã
ρ bảo toàn phụ thuộc trong F.