1.Chuẩn hóa là quá trình khảo sát danh sách các thuộc tính và áp dụng các quy tắc phân tích vào danh sách đó để biến dổi thành nhiều tập nhỏ hơn, sao cho: Tối thiểu việc lặp lại Tránh dị thường thông tin Xác định và giải quyết được sự không rõ ràng, nhập nhằng trong suy diễn 2.Các dạng chuẩn hóa Dạng chuẩn 1 (1NF-First Normal Form) Dạng chuẩn 2 (2NF-Second Normal Form) Dạng chuẩn 3 (3NF) Dạng chuẩn Boye Code (BCNF) a.Dạng chuẩn 1NF Định nghĩa: quan hệ R ở dạng chuẩn 1NF nếu mọi thuộc tính của R đều chứa các giá trị nguyên tố (automic value), giá trị này không là 1 danh sách các giá trị hoặc các giá trị phức hợp (composite value). Quan hệ ở dạng 1NF là quan hệ không chứa các thuộc tính đa trị và thuộc tính phức hợp. Cách khác: Bảng ở dang 1NF là bảng có tồn tại PTH có nguồn là 1 phần của khóa Biểu diễn sơ đồ dạng 1NF: R(A1,A2,A3,A4,A5) Ví dụ: MSKH TÊN KH TP PVC MSMH TÊN MH DG SL C1 NAM NĐ 01 P1 CAM 500 100 C1 NAM NĐ 01 P2 TÁO 650 200 C2 BA HCM 02 P3 CHAN H 450 400 C2 BA HCM 02 P1 CAM 500 300 C2 BA HCM 02 P2 TÁO 650 200 C3 THẮN G HN 03 P2 TÁO 650 300 Và F={1.MSKH -> TÊN KH, TP; 2.MSMH ->TÊN MH, DG; 3.MSKH,MSMH ->SL; 4.TP ->PVC } • Kết luận: để kiểm tra một lược đồ có là dạng 1NF hay không thực hiện kiểm tra lược đồ thỏa mãn 2 điều kiện: -Không có thuộc tính là đa trị -Không có thuộc tính là phức hợp • Áp dụng quy tắc sau để đưa về dạng chuẩn 1NF - Bỏ nhóm thuộc tính lặp hoặc gộp ra khỏi quan hệ, chuyển nhóm đó thành một quan hệ mới -Thuộc tính khóa tồn tại trong 2 quan hệ b.Dạng chuẩn 2NF • Định nghĩa: lược đồ quan hệ R ở 2NF khi và chỉ khi thỏa mãn -R đã là 1NF -Mọi thuộc tính không khóa của R là phụ thuộc hàm đầy đủ vào khóa chính Phụ thuộc hàm đầy đủ: cho lược đồ R, PTH X ->Y được gọi là PTh đầy đủ nếu mọi Z c X, Z ≠ Ø: không tồn tại Z->Y. Khi đó ta nói Y phụ thuộc hàm đầy đủ của X • Cách khác định nghĩa lược đồ ở dạng 2NF: lược đồ quan hệ R được gọi là 2NF nếu với mọi X -> A trên R (A khác X) thì: -Hoặc: A là thuộc tính khóa -Hoặc: X không là tập con thực sự của khóa Biểu diễn sơ đồ dạng 2NF: R(A1,A2,A3,A4,A5) R(A1,A2,A3,A4,A5) Mục đích xây dựng sơ đồ dạng 2NF: -giản ước sự dư thừa dữ liệu -tránh các dị thường cập nhật gây nên do sự dư thừa dữ liệu này Ví dụ: NHÂN VIÊN-DỰ ÁN MNV MaDA SoGio TenNV TenDA DiaDiemD A Lược đồ NHÂN VIÊN-DỰ ÁN vì thuộc tính TÊN NV phụ thuộc bộ phận vào khóa (thuộc tính Mã Nhân Viên) Ví dụ: MNV TÊN nv NgSinh Đia Chi Ma Phong Ten Phong Ngay NC Lược đồ NHÂN VIÊN-PHÒNG BAN ở dạng 2NF c.Dạng chuẩn 3NF Định nghĩa: lược đồ quan hệ R được dọi là ở dạng chuẩn 3NF nếu thỏa mãn: -R đã ở 2NF -mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ Cách khác, lược đồ ở dạng 3NF nếu thỏa mãn: Xét mọi PTH X-> A thì X là 1 khóa của R hoặc X là thuộc tính không khóa hay A là thuộc tính khóa của R ( đích là thuộc tính khóa) Biểu diễn sơ đồ: R(A1,A2,A3,A4,A5) R(A1,A2,A3,A4,A5,A6) Ví dụ: quan hệ ở dạng 3NF MSKH TÊN KH TP C1 NAM NĐ C2 BA HCM C3 THẮNG HN C4 BÌNH HN Fvc={TP ->PVC} Fkh ={ MSKH ->TÊN KH, TP} • Cách đưa về dạng chuẩn 3NF -tạo quan hệ mới gồm các thuộc tính phụ thuộc bắc cầu vào thuộc tính khóa, lấy thuộc tính bác cầu làm khóa -giữ lại các thuộc tính phụ trực tiếp vào khóa -thuộc tính bắc cầu nằm ở 2 quan hệ R(A1,A2,A3,A4,A5) R1(A2,A4) R(A1,A2,A3,A5) • ví dụ: cho quan hệ NV(MaNV, TenNV, GioiTinh, DiaChi, TenPhong) tách về 3NF? áp dụng nguyên tắc ta thu được lược đồ thỏa mãn 3NF như sau: NV(MNV,TenNV,GioiTnh,DiaChi,MaPhong) PHONG(MaPhong,TenPhong) TP PVC NĐ 01 HCM 02 HN 03 d.dạng chuẩn BCNF • định nghĩa: lược đồ quan hệ R ở dạng chuẩn BCNF nếu với mọi PTH X ->A của R, A không thuộc X thì X là 1 siêu khóa nhỏ nhất. Hay nói cách khác các thuộc tính đều phụ thuộc trực tiếp vào khóa • biểu diễn sơ đồ: R(A1,A2,A3,A4,A5) • Ví dụ: lược đồ quan hệ Sinh Vien(Ma SV, Hoten,Ngaysinh) là lược đồ ở dạng BCNF với thuộc tính khóa là MaSV. • Thuật toán tách lược dồ về dạng BCNF -loại bỏ các thuộc tính phụ thuộc hàm vào thuộc tính không khóa ra khỏi quan hệ -tách chúng thành một quan hệ riêng có khóa chính là thuộc tính không khóa gây ra phụ thuộc R(A1,A2,A3,A4,A5) R(A4,A2) R(A1,A4,A3,A5) • Ví dụ: cho lược dồ quan hệ R=(A,B,C,D,E,F,G,H,I,J) có khóa chính là A,B.với tạp các phụ thuộc hàm: F1: A,B ->C,D,E,F,G,H,I,J F2: A ->E,F,G,H,I,J F3: F ->I,J F4: D ->B Yêu cầu tách lược đồ về dạng chuẩn cao nhất? -Có PTH A->E,,F,G,H,I,J mà A là 1 bộ phận của khóa chính nên quan hệ R là vi phạm 2NF.Áp dụng tách R thành R1(A,E,F,G,H,I,J) và R2(A,B,C,D) -trong R1 do có phu thuộc hàm F->I,J nên có I,J phụ thuộc bắc cầu vào khóa chính, R1 là quan hệ vi phạm 3NF -trong R2 ta có phụ thuộc hàm D->B trong đó B là một thuộc tính khóa,R2 vi phạm BCNF -tách R1 và R2 ta có: R11(F,I,J), R12(A,E,F,G,H), R21(D,B), R22(A,D,C) kết luận dạng chưa được chuẩn hóa loại bỏ các thuộc tính ko nguyên tố dạng chuẩn hóa thứ nhất-1NF loại bỏ các phụ thuộc ko đầy đủ dạng chuẩn hóa thứ hai-2NF loại bỏ các phụ thuộc bắc cầu dạng chuẩn hóa thứ ba-3NF . diễn 2 .Các dạng chuẩn hóa Dạng chuẩn 1 (1NF-First Normal Form) Dạng chuẩn 2 (2NF-Second Normal Form) Dạng chuẩn 3 (3NF) Dạng chuẩn Boye Code (BCNF) a.Dạng chuẩn 1NF Định nghĩa: quan hệ R ở dạng chuẩn. chưa được chuẩn hóa loại bỏ các thuộc tính ko nguyên tố dạng chuẩn hóa thứ nhất-1NF loại bỏ các phụ thuộc ko đầy đủ dạng chuẩn hóa thứ hai-2NF loại bỏ các phụ thuộc bắc cầu dạng chuẩn hóa. 2NF: R(A1,A2,A3,A4,A5) R(A1,A2,A3,A4,A5) Mục đích xây dựng sơ đồ dạng 2NF: -giản ước sự dư thừa dữ liệu -tránh các dị thường cập nhật gây nên do sự dư thừa dữ liệu này Ví dụ: NHÂN VIÊN-DỰ ÁN MNV MaDA SoGio TenNV TenDA DiaDiemD A Lược