CHƢƠNG 6 : CHUẨN HÓA CƠ SỞ DỮ LIỆU
1. CÁC DẠNG CHUẨN CỦA LƢỢC ĐỒ QUANHỆ
1.4. Dạng chuẩn BCNF (Boyce Codd Normal Form)
Một quan hệ Q ở dạng chuẩn BCNF nếu mọi phụ thuộc hàm X A F+ với AX đều có X là siêu khóa.
Hệ quả 1: Nếu Q đạt chuẩn BCNF thì Q đạt chuẩn 3 (hiển nhiên do định nghĩa) Hệ quả 2: Mỗi lƣợc đồ có hai thuộc tính đều đạt chuẩn BCNF (xét phụ thuộc hàm
có thể có của Q )
Định lý:
Q là lƣợc đồ quan hệ
F là tập các phụ thuộc hàm có vế phải một thuộc tính.
Q đạt chuẩn BCNF nếu và chỉ nếu mọi phụ thuộc hàm X A Fvới A X đều có X là siêu khóa.
82
Q đạt dạng chuẩn BCNF theo định nghĩa ta suy ra mọi phụ thuộc hàm X A F với AX có X là siêu khóa.
Ngƣợc lại ta phải chứng minh nếu mọi phụ thuộc hàm X A F với A X
có X là siêu khóa thì mọi phụ thuộc hàm ZB F+ với B Z cũng có Z là siêu khóa. Thật vậy, do ZB không là phụ thuộc hàm hiển nhiên nên theo thuật toán tìm bao đóng phải có XAF sao cho Z X (X là siêu khóa) Z là siêu khóa.
Thuật toán kiểm tra dạng chuẩn BCNF Vào: lƣợc đồ quan hệ Q, tập phụ thuộc hàm F
Ra: khẳng định Q đạt chuẩn BCNF hay không đạt chuẩn BCNF. Bƣớc 1: Tìm tất cả khóa của Q
Bƣớc 2: Từ F tạo tập phụ thuộc hàm tƣơng đƣơng F1tt có vế phải một thuộc tính Bƣớc 3: Nếu mọi phụ thuộc hàm XAF1tt với AX đều có X là siêu khóa thì Q đạt chuẩn BCNF ngƣợc lại Q không đạt chuẩn BCNF
Ví dụ 1: Q(A,B,C,D,E,I) F={ACDEBI; CEAD}. Hỏi Q có đạt chuẩn BC không?
Giải: TN={C} TG={ADE}
Xi (TN Xi) (TN Xi)+ Siêu khóa Khóa
C C
A AC AC
D CD CD
AD ACD ABCDEI ACD ACD
E CE ABCDEI CE CE
AE ACE ABCDEI ACE
DE CDE ABCDEI CDE
ADE ACDE ABCDEI ACDE
F F1tt={ACDE,ACDB,ACDI,CEA,CED}
Mọi phụ thuộc hàm của F1tt đều có vế trái là siêu khóa Q đạt dạng chuẩn BCNF
Ví dụ 2: Q(SV,MH,THAY); F = {SV, MH THAY; THAY MH} Quan hệ trên đạt chuẩn 3 nhƣng không đạt chuẩn BCNF..
Ví dụ 3:
Chẳng hạn cho Q(A,B,C,D) và F={AB C; D B; C ABD} thì Q là 3NF nhƣng không là BCNF
83
Ví dụ 4: Xác định dạng chuẩn của lƣợc đồ quan hệ sau.
Q(ACDEIB)
F={ACD EBI; CEAD}
Dễ thấy Q có hai khoá là: ACD và CE. Các phụ thuộc hàm của F đều có vế trái là siêu khoá, nên Q đạt dạng chuẩn BCNF.
Thuật toán kiểm tra dạng chuẩn của một lƣợc đồ quan hệ. Vào: lƣợc đồ quan hệ Q, tập phụ thuộc hàm F
Ra: khẳng định Q đạt chuẩn gì? Bƣớc 1: Tìm tất cả khóa của Q
Bƣớc 2: Kiểm tra chuẩn BCNF nếu đúng thì Q đạt chuẩn BCNF, kết thúc thuật
toán ngƣợc lại qua bƣớc 3
Bƣớc 3: Kiểm tra chuẩn 3 nếu đúng thì Q đạt chuẩn 3, kết thúc thuật toán ngƣợc
lại qua bƣớc 4
Bƣớc 4: Kiểm tra chuẩn 2 nếu đúng thì Q đạt chuẩn 2, kết thúc thuật toán. ngƣợc
lại Q đạt chuẩn 1
ĐỊNH LÝ : Các lớp dạng chuẩn của một lƣợc đồ quan hệ có quan hệ lồng nhau:
nghĩa là lớp sau nằm trọn trong lớp trƣớc. BCNF 3NF 2NF 1NF
Ví dụ 5 : Chẳng hạn cho lƣợc đồ quan hệ Q(ABCD) và F = {AB C; D B; C ABD} thì Q đạt chuẩn 3NF nhƣng không là BCNF
Nếu F = {B D, A C, C ABD} thì Q đạt dạng chuẩn 2NF nhƣng không là 3 NF.
Dạng chuẩn của một lƣợc đồ cơ sở dữ liệu là dạng chuẩn thấp nhất của các lƣợc đồ quan hệ con.
Chú ý: Các dạng chuẩn cao hơn nhƣ dạng chuẩn bốn (với phụ thuộc đa trị), dạng
chuẩn năm (với phụ thuộc chiếu kết) có thể xem các tài liệu tham khảo đã chỉ ra.