Chuẩn hóa về dạng BCNF
Trang 1Thực thể liên kết:
KH(#maKH,hoten,diachi)
HD(#maHD,ngay,giaHD,maNV,maKH)
NV(#maNV,ten,ngaysinh,quequan,sdt,luong,maNQL,maGH)
GH(#maGH,vitri,tenGH,maNQL)
NQL(#maNQL,ten,diachi)
NCC(#maNCC,ten,diachi,sdt)
MH(#maMH,tenMH,soluong,NSX,maGH)
Chitiet(#maHD,#maMH,soluong)
CC(#maNCC,#maMH,gia)
Phụ thuộc hàm:
{ten,ngaysinh}→sdt}
Đề bài:Chuẩn hóa về dạng BCNF
+F1 , F2, F5, F8, F9 đã ở dạng chuẩn BCNF
+chuẩn hóa F3, F4, F6, F7
TH1 :F3 đặt maNV=A;ten=B; ngaysinh=C; quequan=D; sdt=E; luong=F; maNQL=G; maGH= H;
1,VP của F có nhiều hơn 1 thuộc tính
2,Xem VT đã tối thiểu chưa?
Xét BC→D
B+=B
C+=C Nên VT đã tối thiểu
B+=B
C+=C Nên VT đã tối thiểu 3,Xem F có dư thừa hay không?
+) Fa=F3 /{A→B}
Nên không loại bỏ được Fa
+) Fb=Fa /{A→C}
Nên không loại bỏ được Fb
Trang 2+) Fc=Fb /{A→D}
Nên không loại bỏ được Fc
+) Fd=Fc/{A→E}
Nên không loại bỏ được Fd
+) Fe=Fd /{A→F}
Nên không loại bỏ được Fe
+) Ff=Fe /{A→G}
Nên không loại bỏ được Ff
+)Fg=Fe /{BC→D}
Nên không loại bỏ được Fg
+)Fh=Fa /{BC→E}
{BC}+=B,C Nên không loại bỏ được Fh
4,Tìm khóa
TN={A,B,C,F,G,H} ; TG={ Φ }
Vậy khóa K=ABCFGH
1,VP có nhiều hơn 1 thuộc tính
2,Xem VT đã tối thiểu chưa?VT chỉ có một thuộc tính nên thỏa mãn 3,Xem F có dư thừa không?
+)Fa=F4/{A→B}
Nên có thể bỏ được Fa
+)Fb=Fa/{A→C}
A+=A,D
+) Fc=Fb/{A→D}
A+=A,C,B
C+=C,D
+)+) Fe=Fd/{C→D}
Trang 34, Tìm khóa
TN={A} TG={C}
Vậy khóa K=A
TH3:F6 đặt maNCC=A, ten=B, diachi=C; sdt=D;
1,VP của F có nhiều hơn 1 thuộc tính nên
2,Xem VT đã tối thiểu chưa?
B+=B
C+=C Nên VT đã tối thiểu 3,Xem F có dư thừa không?
Fa=F6 /{A→B}
A+=A,C,D nên không loại bỏ được Fa
Fb=Fa /{A→C}
A+=A,B,D nên không loại bỏ được Fb
Fc=Fb /{A→D}
A+=A,B,C nên không loại bỏ được Fc
Fd=Fc /{BC→D}
{BC}+=B,C nên không loại bỏ được Fd
4,Tìm khóa
Vậy khóa K=A
TH4:F7 đặt maMH=A; tenMH=B; soluong=C; NSX=D; maGH=E;
1, Vp có nhiều hơn một thuộc tính nên
3, Xem F có dư thừa không?
Trang 4A+=A,C,D,E Nên không loại bỏ được Fa
Nên loại bỏ được Fb
+)Fc=Fb/{A→D}
A+=A,B,C,E Nên không loại bỏ được Fc
+)Fd= Fc/{A→E}
Nên không loại bỏ được Fd
+) Fe= Fd/{B→C}
B+=B Nên không loại bỏ được Fe
4, Tìm khóa
TN={A}; TG={B}
Vậy khóa K là A