Bài giảng Cơ sở dữ liệu - Bài 3: Phụ thuộc hàm & chuẩn hóa dữ liệu - Thiều Quang Trung

Nội dung

• Khái niệm phụ thuộc hàm

• Hệ tiên đề Amstrong

• Bao đóng của tập phụ thuộc hàm

• Bao đóng của tập thuộc tính

• Tìm khóa

• Định nghĩa chuẩn hóa

• Các dạng chuẩn hóa

pdf 57 trang phuongnguyen 9880
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Bài 3: Phụ thuộc hàm & chuẩn hóa dữ liệu - Thiều Quang Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Cơ sở dữ liệu - Bài 3: Phụ thuộc hàm & chuẩn hóa dữ liệu - Thiều Quang Trung

Bài giảng Cơ sở dữ liệu - Bài 3: Phụ thuộc hàm & chuẩn hóa dữ liệu - Thiều Quang Trung
 BÀI 3 
PHỤ THUỘC HÀM & CHUẨN HÓA DỮ LIỆU 
 GV Th.S. Thiều Quang Trung 
 Trường Cao đẳng Kinh tế đối ngoại 
 Nội dung 
• Khái niệm phụ thuộc hàm 
• Hệ tiên đề Amstrong 
• Bao đóng của tập phụ thuộc hàm 
• Bao đóng của tập thuộc tính 
• Tìm khóa 
• Định nghĩa chuẩn hóa 
• Các dạng chuẩn hóa 
GV Thiều Quang Trung 2 
 Dư thừa dữ liệu 
 (Data redundancy) 
• Mục đích của thiết kế CSDL là gom các thuộc 
 tính thành các quan hệ sao cho giảm thiểu dư 
 thừa dữ liệu 
• Hậu quả của dư thừa dữ liệu: 
 – Lãng phí không gian đĩa 
 – Các bất thường khi cập nhật 
• Ba loại bất thường: 
 – Bất thường khi thêm vào 
 – Bất thường khi xóa bỏ 
 – Bất thường khi sửa đổi 
 GV Thiều Quang Trung 3 
 Phụ thuộc hàm là gì ? 
 (Functional Dependency) 
• Phụ thuộc hàm mô tả mối liên hệ giữa các 
 thuộc tính 
• Dựa vào phụ thuộc hàm để thiết kế lại CSDL, 
 loại bỏ các dư thừa dữ liệu 
GV Thiều Quang Trung 4 
 Phụ thuộc hàm 
 (Functional Dependency) 
• Cho lược đồ quan hệ R(U), r là 1 quan hệ bất kỳ 
 trên R, X và Y là 2 tập thuộc tính con. 
• Định nghĩa: Phụ thuộc hàm (FD) f: X Y trên 
 lược đồ quan hệ R nếu và chỉ nếu với mỗi giá trị 
 X trong quan hệ r có quan hệ chính xác với một 
 giá trị Y trong r. Nghĩa là bất kể khi nào 2 bộ của 
 r có cùng giá trị X thì cũng có cùng giá trị Y 
 GV Thiều Quang Trung 5 
 Phụ thuộc hàm 
 (Functional Dependency) 
• Xét lược đồ quan hệ gồm n thuộc tính 
 – R(U), U={A1, A2,, An} 
• Phụ thuộc hàm (FD) giữa hai tập thuộc tính X, Y U 
 – Ký hiệu: X Y. 
 r R,  t1, t2 r nếu t1[X] = t2[X] thì t1[Y] = t2[Y]. 
 – X là vế trái (determinant) và Y là vế phải (dependent) của 
 FD. 
 r(R) A B 
 1 4 r không thỏa A B, nhưng thỏa B A 
 1 5 
 3 7 
 GV Thiều Quang Trung 6 
 Phụ thuộc hàm 
 (Functional Dependency -FD) 
• Phụ thuộc hàm là một đặc điểm ngữ nghĩa 
 của các thuộc tính, được xem là 1 ràng buộc 
 giữa các thuộc tính. 
• Ví dụ: Một nhân viên chỉ có 1 tiền lương nhưng 
 nhiều nhân viên có thể có cùng 1 mức lương 
 Emp_ID Salary 
 Salary -/-> Emp_ID 
GV Thiều Quang Trung 7 
 Phụ thuộc hàm 
 (Functional Dependency -FD) 
• Nếu X là một khóa dự tuyển (candidate key) thì 
 tất cả các thuộc tính Y của lược đồ R sẽ phải 
 phụ thuộc hàm vào X 
• Ví dụ: trong lược đồ PROFESSOR có ProfId là 
 primary key nên: 
 ProfId Name, Qualification 
• Có một số FD trong lược đồ sẽ gây ra dư thừa 
 dữ liệu. 
 GV Thiều Quang Trung 8 
 Ví dụ FD và dư thừa dữ liệu 
• Xét lược đồ: 
 PERSON(SSN, Name, Address,Hobby) 
 với quy tắc là 1 người có thể có nhiều sở thích 
 – SSN,Hobby SSN, Name, Address,Hobby 
• Bất thường xảy ra khi một người có nhiều sở thích 
 thay đổi địa chỉ 
 GV Thiều Quang Trung 9 
 Giải thuật kiểm tra phụ thuộc hàm 
• Bài toán: cho quan hệ r và 1 phụ thuộc hàm 
 f:X Y. Kiểm tra xem r thỏa mãn f hay không? 
• Function Satisfies(r,f:X Y) 
 – Sắp thứ tự các bộ trong r theo các thuộc tính của 
 X 
 – If mỗi tập các bộ có cùng giá trị X thì có cùng giá 
 trị Y then 
 • Satisfies = true 
 – Else 
 • Satisfies = false 
 GV Thiều Quang Trung 10 
 Tập phụ thuộc hàm 
• Gọi F là 1 tập phụ thuộc hàm trên R nếu với 
 mọi phụ thuộc hàm trong F đều là phụ thuộc 
 hàm trên R 
• Phụ thuộc hàm tầm thường ( trivial FD) hay 
 phụ thuộc hàm hiển nhiên X Y nếu Y  X 
• Số tập con có thể có của R = {A1,A2,...,An} là 
 2n. Ứng với mỗi tập con sẽ có tối đa 2n. Số FD 
 tối đa có thể có trong 1 lược đồ là 22n. 
GV Thiều Quang Trung 11 
 Tập phụ thuộc hàm 
• FD được dùng để thể hiện các ràng buộc bảo 
 toàn (integrity constraint), vì vậy DBMS cần phải 
 quản lý các FD. 
• Với 1 tập S chứa toàn bộ các FD của 1 lược đồ, 
 có cách nào tìm ra 1 tập T  S sao cho mọi FD 
 của S đều ngầm suy từ các FD của T. Khi đó, 
 DBMS chỉ quản lý các FD của T, các FD trong S 
 sẽ được quản lý một cách tự động. 
 GV Thiều Quang Trung 12 
 Hệ tiên đề Amstrong 
• Phụ thuộc hàm X Y được suy diễn luận lý từ 
 F nếu với mọi quan hệ thỏa mãn mọi phụ thuộc 
 hàm trong F thì cũng thỏa mãn X Y 
 – Ký hiệu F|=X Y 
 – F bao hàm (implies) X Y 
 – X Y được suy diễn theo quan hệ từ F 
GV Thiều Quang Trung 13 
 Hệ tiên đề Amstrong 
• Quy tắc suy diễn (inference rule): nếu 1 quan 
 hệ thỏa mãn 1 số phụ thuộc hàm nào đó thì 
 quan hệ này cũng thỏa mãn 1 số phụ thuộc 
 hàm khác 
GV Thiều Quang Trung 14 
 Hệ tiên đề Amstrong 
• Các tiên đề suy diễn: 
 – F1. Phản xạ (reflexivity): YX X Y 
 – F2. Gia tăng (augmentation): X Y 
 XZ YZ 
 – F3. Bắc cầu (transitivity): X Y và Y Z 
 X Z 
GV Thiều Quang Trung 15 
 Hệ tiên đề Amstrong 
• F4. Hợp (additivity): X Y và X Z X YZ 
• F5. Chiếu (projectivity): X YZ X Y 
• F6. Bắc cầu giả (pseudotransitivity): X Y và 
 YZ W XZ W 
GV Thiều Quang Trung 16 
 Bao đóng của tập phụ thuộc hàm 
• Bao đóng (closure) của tập phụ thuộc hàm F là 
 1 tập phụ thuộc hàm nhỏ nhất chứa F sao cho 
 không thể áp dụng hệ tiên đề Amstrong trên tập 
 này để tạo ra 1 phụ thuộc hàm khác không có 
 trong tập hợp này 
• Ký hiệu F+, gồm: 
 – F và 
 – Tất cả các phục thuộc hàm được suy diễn từ F. 
• F gọi là đầy đủ nếu F = F+. 
GV Thiều Quang Trung 17 
 Các tính chất của bao đóng của 
 tập phụ thuộc hàm 
1. Tính phản xạ: với mọi tập phụ thuộc hàm F+ 
 ta luôn có F  F+ 
2. Tính đơn điệu: nếu F  G thì F+  G+ 
3. Tính lũy đẳng: với mọi tập phụ thuộc hàm F ta 
 luôn có (F+)+ = F+. 
GV Thiều Quang Trung 18 
 Hệ tiên đề Amstrong 
• Hệ tiên đề Amstrong là đúng đắn (sound) 
 các phụ thuộc hàm suy diễn từ F (tập phụ 
 thuộc hàm trên r) theo hệ tiên đề Amstrong 
 cũng là một phụ thuộc hàm trên r 
• Hệ tiên đề Amstrong là toàn vẹn 
 (completeness) bảo đảm rằng f F+ nếu và 
 chỉ nếu f là 1 FD được suy diễn 
GV Thiều Quang Trung 19 
 Phụ thuộc hàm tương đương 
• Nếu F và G là 2 tập FD. F suy diễn G ( F 
 entails G) nếu F suy diễn được tất cả các FD 
 có trong G. 
• F và G là tương đương nhau nếu F suy diễn G 
 và G suy diễn F 
GV Thiều Quang Trung 20 
Kiểm tra các tập FD tương đương 
• Input: F,G – các tập FD 
• Output: true nếu F tương đương G, 
 false nếu ngược lại 
For each f F do 
 if G does not entail f then return false 
For each g G do 
 if G does not entail f then return false 
Return true 
GV Thiều Quang Trung 21 
Ví dụ kiểm tra tập F tương đương 
• Hãy khảo sát 2 tập FD sau: 
 – F={ AC B, A C, D A} 
 – G={A B, A C, D A, D B} 
F và G có tương đương nhau không??? 
Từ A C + Tiên đề F2 A AC (1) 
Từ (1)+ AC B + tiên đề F3 A B 
Từ D A + A B + tiên đề F3 D B 
F suy diễn G 
Tương tự khi xét G suy diễn F 
GV Thiều Quang Trung 22 
 Bao đóng của tập thuộc tính 
• Làm thế nào để biết một FD X Y được suy diễn 
 từ tập F cho trước ? 
• Bao đóng của tập thuộc tính X đối với F, ký hiệu X+, 
 là 
 – Tập các thuộc tính phụ thuộc hàm vào X. 
 – X+ = {A U | X A F+} 
• Nhận xét 
 – X Y F+ Y  X+. 
 – Nếu K là khóa của R thì K+ = U. 
 GV Thiều Quang Trung 23 
 Thuật toán tìm X+ 
• Nhập: U, F và X  U 
• Xuất: X+ 
• Thuật toán: 
 – Bước 1: X+ = X; 
 – Bước 2: Nếu tồn tại Y Z F và Y  X+ thì 
 X+ := X+  Z; 
 và tiếp tục bước 2. Ngược lại qua bước 3. 
 – Bước 3: Xuất X+. 
 GV Thiều Quang Trung 24 
 Ví dụ thuật toán tìm X+ 
• Ví dụ 1, cho: 
 – F = {AB C, BC D, D EG}. X = BD. 
• Tính X+: 
 – X+ = BD. 
 – Lặp 1: 
 • Tìm các FD có vế trái là tập con của X+ = BD 
 – D EG, thêm EG vào X+ ta được X+ = BDEG. 
 – Lặp 2: 
 • Tìm các FD có vế trái là tập con của X+ = BDEG 
 – Không có FD nào. 
 – Vậy X+ = BDEG. 
 GV Thiều Quang Trung 25 
 Kiểm tra phụ thuộc hàm suy diễn 
• Dựa vào tính chất: X Y F+ Y  X+. 
• Ví dụ: 
 – Cho F = {AB C, A D, D E, AC B} 
 – Hai phụ thuộc hàm AB E và D C có được suy 
 diễn từ F hay không? 
 + 
 X XF
 AB ABCDE Được suy diễn từ F 
 D DE 
 GV Thiều Quang Trung 26 
 Giải thuật tìm khóa của 
 lược đồ quan hệ 
• Nhập: R(U) và tập phụ thuộc hàm F 
• Xuất: tập hợp K bao gồm tất cả khóa của R 
• Tập thuộc tính nguồn (TN) chứa tất cả các thuộc 
 tính xuất hiện ở vế trái và không xuất hiện ở vế 
 phải của các phụ thuộc hàm và các thuộc tính 
 không xuất hiện ở cả vế trái lẫn vế phải của các 
 phụ thuộc hàm 
 TN=U- f F right(f) 
 GV Thiều Quang Trung 27 
 Giải thuật tìm khóa của 
 lược đồ quan hệ 
• Tập thuộc tính đích (TD) chứa tất cả các thuộc 
 tính có xuất hiện ở vế phải và không xuất hiện ở 
 vế trái của các phụ thuộc hàm 
 TD= f F right(f) - f F left(f) 
• Tập thuộc tính trung gian (TG) chứa tất cả các 
 thuộc tính xuất hiện ở cả vế trái lẫn vế phải của 
 các phụ thuộc hàm 
 GV Thiều Quang Trung 28 
 Thuật toán tìm tất cả khóa 
• Bước 1: tạo tập thuộc tính nguồn TN. Tập thuộc 
 tính trung gian TG 
• Bước 2: if TG =  then lược đồ quan hệ chỉ có 1 
 khóa K 
 K=TN Kết thúc 
 Ngược lại qua bước 3 
• Bước 3: tìm tất cả các tập con Xi của tập trung 
 gian TG 
 GV Thiều Quang Trung 29 
 Thuật toán tìm tất cả khóa (tt) 
• Bước 4: tìm các siêu khóa Si bằng cách  Xi 
 if (TN  Xi)+ = Q+ then Si = TN  Xi 
• Bước 5: tìm khóa bằng cách loại bỏ các siêu khóa 
 không tối thiểu 
  Si, Sj S 
 if Si Sj then Loại Sj ra khỏi tập siêu khóa S 
 S còn lại chính là tập khóa cần tìm 
 GV Thiều Quang Trung 30 
 Ví dụ tìm khóa 
• Cho R(A,B,C,D,E,F) và F={D B, A C, 
 AD E, C F}. Tìm tất cả các khóa của R 
• B1: TN={AD}, TG={C} 
• Xi là các tập con của TG 
Xi Xi  TN (Xi  TN)+ Siêu Khóa 
 khóa 
 AD ADBCEF=R+ AD AD 
C ADC ADBCEF=R+ ADC 
GV Thiều Quang Trung 31 
 Ví dụ tìm khóa 
• Cho R(A,B,C,D,E,F) và F={A D, C AF, AB 
 EC}. Tìm khóa của R? 
• TN={B} , TG={AC} 
• Khóa của R là {AB} và {BC} 
 Xi Xi  TN (Xi  TN)+ Siêu Khóa 
 khóa 
 B B 
C CB ABCDEF=R+ BC BC 
A AB ABCDEF=R+ AB AB 
AC ABC ABCDEF=R+ ABC 
GV Thiều Quang Trung 32 
 Chuẩn hóa dữ liệu là gì ? 
• Chuẩn hoá là quá trình tách bảng (phân rã) 
 thành các bảng nhỏ hơn dựa vào các phụ 
 thuộc hàm. Các dạng chuẩn là các chỉ dẫn để 
 thiết kế các bảng trong CSDL. 
• Mục đích của chuẩn hoá là loại bỏ các dư thừa 
 dữ liệu và các lỗi khi thao tác dư thừa và các lỗi 
 khi thao tác dữ liệu (Insert, Delete, Update). 
 Nhưng chuẩn hoá làm tăng thời gian truy vấn. 
GV Thiều Quang Trung 33 
 Các dạng chuẩn hóa 
• Quá trình chuẩn hóa được thực hiện qua nhiều 
 bước. Mỗi bước tương ứng một dạng chuẩn 
• Các dạng chuẩn: 
 – Dạng chuẩn 1(1NF – first normal form) 
 – Dạng chuẩn 2(2NF- second normal form) 
 – Dạng chuẩn 3(3NF – third normal form) 
 – Dạng chuẩn BCNF – Boyce Codd 
 GV Thiều Quang Trung 34 
 Các dạng chuẩn hóa 
GV Thiều Quang Trung 35 
 Bảng chưa chuẩn hóa 
• Bảng chưa chuẩn hóa là bảng chứa thuộc tính 
 đa trị (thuộc tính có nhiều giá trị khác nhau) cho 
 mỗi dòng 
 – Dẫn đến lỗi khi thao tác dữ liệu 
• Để loại bỏ thuộc tính đa trị -> đưa bảng chưa 
 chuẩn hóa về dạng chuẩn đầu tiên (1NF – first 
 normal form) 
GV Thiều Quang Trung 36 
 Bảng chưa chuẩn hóa 
Ví dụ bảng Employee_Course có 2 thuộc tính đa trị 
Emp_ID Name Dept_Name Salary Course_ Date_ 
 Title Completed 
 100 M.Simpson Marketing 48000 SPSS 6/19/2001 
 Surveys 12/12/2002 
 140 A.Beeton Acounting 52000 Tax Acc 12/8/2003 
 110 C.Lureco Info System 43000 SPSS 1/12/2003 
 C++ 2/6/2004 
 190 L.Davis Finance 55000 
 150 S.Martin Marketing 42000 SPSS 6/16/2002 
 Java 5/7/2004 
 GV Thiều Quang Trung 37 
 Dạng chuẩn 1 
 (1NF – first normal form) 
• Bảng ở dạng chuẩn 1 nếu 
 – Có khóa chính 
 – Không có thuộc tính đa trị, tức mọi thuộc tính 
 đều là thuộc tính đơn trị (thuộc tính chứa giá trị 
 nguyên tố) 
GV Thiều Quang Trung 38 
 Biến đổi về dạng chuẩn 1NF 
• Quá trình chuẩn hóa 2 bước: 
 – Chia tách thuộc tính đa trị thành đơn trị cho mỗi 
 dòng dữ liệu 
 – Xác định lại khóa chính có bố sung thuộc tính 
 GV Thiều Quang Trung 39 
 Biến đổi về dạng chuẩn 1NF 
Emp_ID Name Dept_Name Salary Course_ Date_ 
 Title Completed 
 100 M.Simpson Marketing 48000 SPSS 6/19/2001 
 100 M.Simpson Marketing 48000 Surveys 12/12/2002 
 140 A.Beeton Acounting 52000 Tax Acc 12/8/2003 
 110 C.Lureco Info System 43000 SPSS 1/12/2003 
 110 C.Lureco Info System 43000 C++ 2/6/2004 
 190 L.Davis Finance 55000 
 150 S.Martin Marketing 42000 SPSS 6/16/2002 
 150 S.Martin Marketing 42000 Java 5/7/2004 
 Dạng chuẩn 1 
 Khóa là EmpID + CourseTitle 
 GV Thiều Quang Trung 40 
 Nhận xét về dạng chuẩn 1NF 
• Dạng chuẩn 1NF vẫn có thể có các bất thường 
 khi cập nhật. 
• Ví dụ bảng Employee_Course đạt dạng chuẩn 1 
 sẽ có các bất thường sau: 
 – Thêm 1 nhân viên mới chưa tham gia khóa học nào 
 vi phạm quy luật bảo toàn thực thể 
 – Thay đổi tên phòng phải thay đổi hàng loạt thông 
 tin này cho tất cả các nhân viên của phòng đó 
 – Xóa 1 course mà chỉ có 1 nhân viên học, thông tin 
 course sẽ bị xóa theo 
GV Thiều Quang Trung 41 
 Dạng chuẩn 2 
 (2NF – second Normal Form) 
• Quan hệ R ở dạng 2NF đối với tập phụ thuộc 
 hàm F nếu: 
 – Là 1NF 
 – Các thuộc tính không khoá phải phụ thuộc hàm 
 đầy đủ vào khoá chính 
 GV Thiều Quang Trung 42 
 Khái niệm phụ thuộc hàm đầy đủ 
• Phụ thuộc bộ phận: 
 Xét X A, nếu tồn tại Y  X sao cho Y A 
 Ta nói A phụ thuộc bộ phận vào X 
• Phụ thuộc đầy đủ: 
 Xét X A, nếu không tồn tại Y  X để cho Y A 
 Ta nói A phụ thuộc đầy đủ vào X 
 GV Thiều Quang Trung 43 
 Ví dụ về phụ thuộc hàm đầy đủ 
• Ví dụ 1: Cho quan hệ R = (ABCD) , khoá là AB 
 và tập phụ thuộc hàm F = {AB C, AB D}. 
 Ta thấy R đạt chuẩn 2NF. 
• Ví dụ 2: Cho quan hệ R = (ABCD) , khoá là AB 
 và tập phụ thuộc hàm F = {AB C, AB D, 
 B DC}. Ta thấy R không đạt chuẩn 2NF vì có 
 B DC là phụ thuộc hàm bộ phận (phụ thuộc 
 hàm không đầy đủ) vào khoá. 
GV Thiều Quang Trung 44 
 Nhận xét dạng chuẩn 2NF 
• Một quan hệ ở dạng chuẩn 2NF nếu thoả mãn 
 1 trong các đièu kiện sau: 
 – Khoá chính chỉ gồm một thuộc tính 
 – Bảng không có các thuộc tính không khoá 
 – Tất cả các thuộc tính không khoá phụ thuộc 
 hoàn toàn vào tập các thuộc tính khoá chính 
GV Thiều Quang Trung 45 
 Biến đổi thành dạng chuẩn 2NF 
• Loại bỏ các phụ thuộc hàm bộ phận và tạo thêm 
 các quan hệ mới tương ứng với các phụ thuộc 
 hàm bộ phận 
 GV Thiều Quang Trung 46 
 Dạng chuẩn 3 
 (3NF – third normal form) 
• Quan hệ R ở dạng chuẩn 3NF đối với tập 
 phụ thuộc hàm F nếu: 
 – R ở dạng 2NF 
 – Các thuộc tính không khoá phải phụ thuộc 
 trực tiếp vào khoá chính (tức các thuộc tính 
 không khóa đều không phụ thuộc bắc cầu vào 
 khóa chính) 
 GV Thiều Quang Trung 47 
 Dạng chuẩn 3NF 
• Quan hệ R ở dạng chuẩn 3NF đối với tập 
 phụ thuộc hàm F nếu: 
 – R ở dạng chuẩn 1NF 
 – Mọi phụ thuộc hàm X A với A X thì 
 • X là 1 siêu khoá của R, hoặc 
 • A là 1 thuộc tính khoá 
GV Thiều Quang Trung 48 
 Khái niệm phụ thuộc bắc cầu 
• X A được gọi là phụ thuộc bắc cầu nếu tồn tại 
 Y để cho: X Y, Y A, với Y-/->X và A XY 
• Nguyên nhân gây ra các bất thường khi cập 
 nhật bảng 2NF là do có các thuộc tính không 
 khóa phụ thuộc bắc cầu vào khóa của quan hệ 
GV Thiều Quang Trung 49 
 Ví dụ phụ thuộc hàm bắc cầu 
• Ví dụ 1: Cho quan hệ R = (ABCDGH), khoá là 
 AB và tập phụ thuộc hàm F = {AB C, AB D, 
 AB GH} là quan hệ đạt chuẩn 3NF. 
• Ví dụ 2: Cho quan hệ R = (ABCDGH) , khoá là 
 AB và tập phụ thuộc hàm F = {AB C, AB D, 
 AB GH, G DH} là quan hệ không đạt chuẩn 
 3NF, vì có phụ thuộc hàm G DH là phụ thuộc 
 hàm gián tiếp vào khoá. 
GV Thiều Quang Trung 50 
 Biến đổi về dạng chuẩn 3NF 
• Loại bỏ các phụ thuộc bắc cầu trong quan hệ 
 và tạo ra các quan hệ mới tương ứng với các 
 phụ thuộc bắc cầu 
GV Thiều Quang Trung 51 
 Dạng chuẩn Boyce-Codd 
 (BCNF) 
• Một quan hệ ở dạng chuẩn BCNF nếu quan hệ 
 đó: 
 – Là dạng chuẩn 3NF 
 – Không có thuộc tính khoá mà phụ thuộc hàm 
 vào thuộc tính không khoá 
GV Thiều Quang Trung 52 
 Ví dụ về dạng chuẩn BCNF 
• Ví dụ 1: Cho quan hệ R = (ABCDGH), khoá là 
 AB và tập phụ thuộc hàm F = {AB C, AB D, 
 AB GH} là quan hệ đạt chuẩn BCNF. 
• Ví dụ 2: Cho quan hệ R = (ABCDGH) , khoá là 
 AB và tập phụ thuộc hàm F = {AB C, AB D, 
 AB GH, H B} là quan hệ không đạt chuẩn 
 BCNF vì có thuộc tính khoá B phụ thuộc hàm 
 vào thuộc tính không khoá H. 
GV Thiều Quang Trung 53 
 Nhận xét dạng chuẩn BCNF 
• Quan hệ R ở dạng BCNF nếu có mọi vế trái của 
 tập phụ thuộc hàm F đều là khóa dự tuyển của R 
• Quan hệ R ở dạng BCNF nếu với mọi phụ thuộc 
 hàm dạng X Y trong tập F, thỏa 1 trong 2 điều 
 kiện sau: 
 – Y  X, hoặc 
 – X là siêu khóa của R 
 GV Thiều Quang Trung 54 
 Chuyển đổi thành BCNF 
• Có thể biến đổi trực tiếp quan hệ từ dạng 
 chuẩn 1NF thành BCNF, mà không cần phải 
 qua các bước chuẩn hóa 2NF, 3NF 
 – Loại bỏ các vế trái không phải là siêu khoá 
 – Tạo các quan hệ mới tương ứng với các vế trái 
 sao cho vế trái trở thành siêu khoá của quan hệ 
 mới 
GV Thiều Quang Trung 55 
 Chuyển đổi thành BCNF 
• Ví dụ: xét R={ABCD}, F ={AB CD, AC BD} 
 có 2 khóa: AB và AC 
• Vì 2 phụ thuộc hàm này đều có vế trái là khóa, 
 nên lược đồ ở dạng BCNF 
GV Thiều Quang Trung 56 
GV Thiều Quang Trung 57 

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_bai_3_phu_thuoc_ham_chuan_hoa_du_lie.pdf