Bài giảng Cơ sở dữ liệu - Chương 5: Dạng chuẩn và Chuẩn hóa cung cấp cho người học các kiến thức: Các dạng chuẩn, phân rã lược đồ quan hệ, chuẩn hóa lược đồ CSDL. Cuối bài giảng có phần bài tập để người học có thể ôn tập và củng cố kiến thức.
CƠ SỞ DỮ LIỆU ( Databases ) Chương 5: Dạng chuẩn Chuẩn hóa Nội dung Các dạng chuẩn Phân rã lược đồ quan hệ Chuẩn hóa lược đờ CSDL Bài tập Chương - Dạng chuẩn chuẩn hóa 5.1 Các dạng chuẩn Chuẩn hóa gì? – Chuẩn hóa kỹ thuật dùng để tạo tập các quan hệ có các đặc điểm mong muốn dựa vào các yêu cầu liệu enterprise – Chuẩn hóa cách tiếp cận từ lên (bottom-up approach) để thiết kế CSDL, các mối liên hệ các thuộc tính Mục đích chuẩn hóa – Loại bỏ các bất thường quan hệ để có được các quan hệ có cấu trúc tốt hơn, nhỏ Quan hệ có cấu trúc tốt (well-structured relation): – Là quan hệ có dư thừa liệu tối thiểu cho phép người dùng thêm, sửa, xóa mà khơng gây mâu thuẫn liệu Chương - Dạng chuẩn chuẩn hóa 5.1.1.Sự dư thừa liệu Sự phụ thuộc các thuộc tính gây dư thừa – Ví dụ: • Điểm các mơn học Điểm trung bình xếp loại • Địa zip code TENPHG MAPHG TRPHG NG_NHANCHUC MANV TENNV HONV … Nghien cuu 333445555 05/22/1988 333445555 Tung Nguyen … Dieu hanh 987987987 01/01/1995 987987987 Hung Nguyen … Quan ly 888665555 06/19/1981 888665555 Vinh Pham … Chương - Dạng chuẩn chuẩn hóa 5.1.1.Sự dư thừa liệu (tt) Thuộc tính đa trị lược đờ ER nhiều số liệu lược đờ quan hệ Ví dụ: NHANVIEN(TENNV, HONV, NS,DCHI,GT,LUONG, BANGCAP) TENNV HONV NS DCHI GT LUONG BANGCAP Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 Trung học Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Trung học Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Đại học Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Thạc sỹ Chương - Dạng chuẩn chuẩn hóa 5.1.1.Sự dư thừa liệu (tt) Sự dư thừa dị thường – Thao tác sửa đổi: cập nhật tất các giá trị liên quan – Thao tác xóa: người cuối đơn vị thông tin đơn vị – Thao tác thêm: TENPHG MAPHG TRPHG NG_NHANCHUC MANV TENNV HONV … Nghien cuu 333445555 05/22/1988 333445555 Tung Nguyen … Dieu hanh 987987987 01/01/1995 987987987 Hung Nguyen … Quan ly 888665555 06/19/1981 888665555 Vinh Pham … Chương - Dạng chuẩn chuẩn hóa 5.1.1.Sự dư thừa liệu (tt) Các giá trị khơng xác định – Đặt thuộc tính Trưởng phòng vào quan hệ NHANVIEN thay vào quan hệ PHONGBAN Các giả – Khi sử dụng các phép nối Chương - Dạng chuẩn chuẩn hóa 5.1.1.Sự dư thừa liệu (tt) Một số quy tắc thiết kế CSDL quan hệ – NT1: Rõ ràng mặt ngữ nghĩa, tránh các phụ thuộc các thuộc tính với – NT2: Tránh trùng lặp nội dung đảm bảo tránh được các dị thường thao tác cập nhật liệu • Phải có số thao tác thêm cập nhật vào lược đồ quan hệ, gây sai hỏng trường hợp xóa bỏ các – NT3: Tránh sử dụng các thuộc tính có nhiều giá trị Null • Khó thực hiện các phép nối kết hợp – NT4: Thiết kế các lược đờ quan hệ cho chúng được nối với điều kiện các thuộc tính khoá khoá ngồi theo cách đảm bảo không sinh các “giả” Chương - Dạng chuẩn chuẩn hóa 5.1.2 Dạng chuẩn Mỗi dạng chuẩn tập các điều kiện lược đờ nhằm đảm bảo các tính chất (liên quan tới dư thừa bất thường cập nhật) Chuẩn hóa liệu: quá trình phân tích lược đồ quan hệ dựa các FD các khóa để đạt được – Cực tiểu dư thừa – Cực tiểu các phép cập nhật bất thường Chương - Dạng chuẩn chuẩn hóa 5.1.2 Dạng chuẩn (tt) Các dạng chuẩn – Dạng chuẩn (1NF – first normal form) – Dạng chuẩn (2NF – second normal form) – Dạng chuẩn (3NF – third normal form) – Dạng chuẩn BCNF (Boyce-Codd normal form) Chương - Dạng chuẩn chuẩn hóa 10 Phân rã thành BCNF Các phân rã khơng phải BCNF P Sem C nằm phân rã Phân rã được tách thành lược đồ – (P Sem C; {P Sem C}) – (St Sem P; {}) Phân rã không mát thông tin không bảo toàn PTH St C Sem P Chương - Dạng chuẩn chuẩn hóa 55 Phân rã thành BCNF Phân rã lược đồ thành – (P Sem C; {P Sem C}) – (P Sem T; {}) Không mát thông tin không bảo toàn PTH C Sem T P Chương - Dạng chuẩn chuẩn hóa 56 Phân rã thành BCNF Kết cuối cùng: (P Sem C; {P Sem C}) (P Sem St) (P Sem T) (P Sem T R; {P Sem T R}) (St T Sem P) Chương - Dạng chuẩn chuẩn hóa 57 Bài tập Chương - Dạng chuẩn chuẩn hóa 58 Nhận xét Việc phân rã R thành R1, R21, R22 Nếu FD F ADH sẽ có R1= (FADH; {F ADH}) R2 = (FBCEG,{}) R1,R2 chuẩn BCNF số FD gốc bị mất, suy diễn được Chương - Dạng chuẩn chuẩn hóa 59 Tính chất giải thuật phân rã BCNF Khơng mát thơng tin Nhưng khơng bảo tồn phụ thuộc hàm Là giải thuật không xác định (nondeterministic), phụ thuộc vào thứ tự các PTH được chọn để xét phân rã 60 Chương - Dạng chuẩn chuẩn hóa Ví dụ Cho R= (U,F) với U={ABCDEFGH}, F= {ABH C, ADE, BGH F, F ADH, BH GE} Phủ tối thiểu F là: G={BHC,AD,CE,FA,EF} Phân rã thành lược đồ: – R1 (BHC; {BHC}) – R2 (AD; {AD}) – R3 (CE; {CE}) – R4 (FA; {FA}) – R5 (EF; {EF}) Khơng có lược đờ phân rã có (Ri)+F = siêu khóa BCGH R, nên bổ sung thêm lược đồ thứ – R6 (BCGH;{}) 61 Chương - Dạng chuẩn chuẩn hóa Dạng chuẩn (tt) Table (Key1, (Key2, (Key3, ) ) ) Table1(Key1, ) TableA (Key1,Key2 (Key3, ) ) Table2 (Key1, Key2 ) Table3 (Key1, Key2, Key3, ) Lược đồ gốc: Table (Key1, aaa (Key2, bbb (Key3, ccc .) ) ) Để thỏa mãn 1NF thực – Table1(Key1, aaa ) – Table2(Key1, Key2, bbb ) – Table3(Key1, Key2, Key3, ccc .) Chương - Dạng chuẩn chuẩn hóa 62 Dạng chuẩn (tt) Ví dụ Phụ thuộc vào MaNV, MaDA NV_DA(MaNV, MaDA, Sogio, TenDA, DDiemDA) Chỉ phụ thuộc vào MaDA NV_DA(MaNV, MaDA, Sogio) DUAN(MaDA, TenDA) DUAN(MaDA, DDiemDA) Chương - Dạng chuẩn chuẩn hóa 63 Dạng chuẩn (tt) Phụ thuộc vào MaNV NV_DV(MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG) Phụ thuộc vào MaDV NHANVIEN(MaNV, TenNV, NS, DCHI, MaDV) DONVI(MaDV, TenDV, TruongPHG) Chương - Dạng chuẩn chuẩn hóa 64 Ví dụ phân rã bảo tồn PTH (1) Cho R(ABCDEFG) F = {B A, D C, D EB, DF G} Tách dạng chuẩn 3, bảo toàn PTH – B1: • Phủ tối thiểu G = {B A, D C, D B, D E, DF G} – B2: R(ABCDEFG) R1(BA) – B3: R(DC) R(DB) R(DE) R3(DFG) R2(DBCE) • Xuất D = {R1, R2, R3} Chương - Dạng chuẩn chuẩn hóa 65 Ví dụ phân rã bảo toàn PTH (2) Cho – R(ABCDEFGHI) – F = {B A, D C, D EB, DF G} Tách dạng chuẩn 3, bảo tồn PTH – B1: • Phủ tối thiểu G = {B A, D C, D B, D E, DF G} – B2: R(ABCDEFG) – B3: R1(BA) R2(DBCE) R3(DFG) • Vì U1 U2 U3 = {ABCDEFG} nên đặt R4(HI) – B4: • D = {R1, R2, R3, R4} Chương - Dạng chuẩn chuẩn hóa 66 5.1.3.2 Phân rã bảo tồn thơng tin (tt) Thuật toán Nhập: R(U), U = {A1, …, An} tập PTH F Xuất: D = {R1, …, Rm}, Ri dạng chuẩn Boyce-Codd – B1: • D = {R}; – B2: • Nếu có lược đờ Q(UQ) D khơng dạng chuẩn BC – Tìm X Y Q(F) làm Q vi phạm điều kiện BC – D = (D - {Q}) Q1(UQ1) Q2(UQ2) với UQ1 = UQ - Y UQ2 = X Y – Quay lại B2 • Ngược lại, chuyển sang B3 – B3: • Xuất D Chương - Dạng chuẩn chuẩn hóa 67 Ví dụ phân rã bảo tồn thơng tin (1) Cho: – R(ABCDEFG) – F = {B A, D C, D EB, DF G} Tách dạng chuẩn BC, không thông tin R(ABCDEFG) F, KR = DF B A {B A}, R1(BA) KR1 = B R2(BCDEFG) {D C, D EB, DF G}, KR2 = DF D BCE {D C, D EB}, KR3 = D R3(DBCE) R4(DFG) Chương - Dạng chuẩn chuẩn hóa {DF G}, KR4 = DF 68 Ví dụ phân rã bảo tồn thơng tin (2) R(ABCDEFG) F, KR = DF D BCE {D BCE}, KR1 = D R1(DBCE) {D A}, KR3 = D R3(DA) R2(ADFG) {D A, DF G}, KR2 = DF DA R4(DFG) {DF G}, KR4 = DF Chương - Dạng chuẩn chuẩn hóa 69 ... A5) Chương - Dạng chuẩn chuẩn hóa 22 Dạng chuẩn Boyce-Codd(tt) Ví dụ Phụ thuộc vào MaSV, MaMH SV_MH_GV(MaSV, MONHOC, GIANGVIEN) Phụ thuộc vào MONHOC Chương - Dạng chuẩn chuẩn hóa 23 Dạng chuẩn. ..Nội dung Các dạng chuẩn Phân rã lược đờ quan hệ Chuẩn hóa lược đờ CSDL Bài tập Chương - Dạng chuẩn chuẩn hóa 5.1 Các dạng chuẩn Chuẩn hóa gì? – Chuẩn hóa kỹ thuật dùng để tạo... A2 - R đạt dạng chuẩn 3NF (Khơng có thuộc tính khơng khóa phụ thuộc bắc cầu vào khóa) - R chưa đạt BCNF f2: A4 A2 có vế trái khơng phải siêu khóa Chương - Dạng chuẩn chuẩn hóa 20 Dạng chuẩn