Dạng chuẩn BCNF (Boyce Codd Normal Form)

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Nghề: Công nghệ thông tin - Cao đẳng) - Trường CĐ Nghề Công nghiệp Thanh Hóa (Trang 81 - 83)

CHƢƠNG 6 : CHUẨN HÓA CƠ SỞ DỮ LIỆU

1.4.Dạng chuẩn BCNF (Boyce Codd Normal Form)

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 AX đề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 AX 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 ZB  F+ với B  Z cũng có Z là siêu khóa. Thật vậy, do ZB 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ó XAF 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 XAF1tt với AX đề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={ACDEBI; CEAD}. 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={ACDE,ACDB,ACDI,CEA,CED}

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 (adsbygoogle = window.adsbygoogle || []).push({});

83

Ví dụ 4: Xác định dạng chuẩn của lƣợc đồ quan hệ sau.

Q(ACDEIB)

F={ACD  EBI; CEAD}

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.

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Nghề: Công nghệ thông tin - Cao đẳng) - Trường CĐ Nghề Công nghiệp Thanh Hóa (Trang 81 - 83)