Q đạt chuẩn BC nếu và chỉ nếu mọi phụ thuộc hàm XAF với AX đều cĩ X là siêu khĩa
6.2.2.4 Thuật tốn kiểm tra bảo tồn phụ thuộc hàm
Thuật tốn tìm bao đĩng của tập thuộc tính X đối với G = Qi(F)
Vào: =(Q1,Q2,…,Qk),F,X Ra: XG+
Bước 1: Với mỗi phụ thuộc hàm XYF ta thực hiện từ bước 2 đến bước 4 Bước 2: đặt Z’ = X Bước 3: thế Z’ = Z’((Z’ i Q )+ i Q )
Bước 4: nếu ở Qi, Z’thay đổi thì thực hiện lại bước 3 cho Qđầu tiên Ngược lại kết thúc thuật tốn và trả về Z’(là bao đĩng XG+) Thuật tốn kiểm tra bảo tồn phụ thuộc hàm
Vào: =(Q1,Q2,…,Qk),F
Ra: kết luận phép tách bảo tồn hay khơng bảo tồn phụ thuộc hàm
Bước 1: Với mỗi phụ thuộc hàm XYF ta thực hiện từ bước 2 đến bước 3: Bước 2: Tìm bao đĩng XG+ với G = Qi(F)
Bước 3: Nếu Y XG+ thì XY Qi(F)+
Bước 4: Nếu tất cả phụ thuộc XYF đều thuộc Qi(F)+ thì ta kết luận phân rã bảo tồn phụ thuộc hàm ngược lại khơng bảo tồn phụ hàm
Ví dụ 14: thực hiện lại ví dụ 13, nghĩa là kiểm tra phép tách cĩ bảo tồn phụ thuộc hàm khơng? Vào: Q(C,S,Z),F={CSZ,ZC},Q1(S,Z) và Q2(C,Z) Đương nhiên ZCG = Q1(F)Q2(F) ZC (Q1(F)Q2(F))+ 1. Z’=CS 2. gán Z’= Z’((Z’ 1 Q )+ 1 Q ): Z’ = CS(SSZ)=CS
Bước 1 và 2 cĩ Z’ khơng thay đổi, ta sang lược đồ Q2 và tính tiếp Z’ 3. gán Z’= Z’((Z’
2
Q )+
2
Q ): Z’ = CS(CCZ)=CS
Z’khơng thay đổi và hết lược đồ quan hệ ngưng khơng tính tiếp Z’
4. Vậy CSG=CS CSZ (Q1(F) Q2(F))+ phép phân rã khơng bảo tồn phụ thuộc hàm.
Ví dụ 15: thực hiện lại ví dụ 12 với nội dung kết luận phép tách cĩ bảo tồn phụ thuộc hàm khơng (khơng tính F+)
Vào: Q(A,B,C),F={AB,BC,CA},Q1(A,B) và Q2(B,C) Hiển nhiên G = Q1(F) Q2(F) {AB,BC}
Ta xác định CA cĩ thuộc (Q1(F) Q2(F))+ 1. Z’=C 2. gán Z’= Z’((Z’ 1 Q )+ 1 Q ): Z’ = C(AB)=C
Bước 1 và 2 cĩ Z’ khơng thay đổi, ta sang lược đồ Q2 và tính tiếp Z’ 3. gán Z’= Z’((Z’
2
Q )+
2
Q ): Z’ = C(ABCBC)=BC Z’thay đổi tính tiếp Z’bắt đầu từ lược đồ Q1 Z’thay đổi tính tiếp Z’bắt đầu từ lược đồ Q1
4. gán Z’= Z’((Z’
1
Q )+
1
Q ): Z’ = BC(ABCAB)=ABC do Z’=Q+ Z’ sẽ khơng bao giờ thay đổi. do Z’=Q+ Z’ sẽ khơng bao giờ thay đổi.
5. vậy CG=ABC CA(Q1(F) Q2(F))+ phép phân rã bảo tồn phụ thuộc hàm.