Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 8: Phụ thuộc hàm và dạng chuẩn (Functional Dependencies & Normal Form) - Khoa CNTT - Trường ĐH KHTN
Các bước thiết kế CSDL quan hệ
Sự trùng lắp thông tin
Phụ thuộc hàm
Luật dẫn Armstrong
Các dạng chuẩn
Sự trùng lắp thông tin
Phụ thuộc hàm
Luật dẫn Armstrong
Các dạng chuẩn
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 8: Phụ thuộc hàm và dạng chuẩn (Functional Dependencies & Normal Form) - Khoa CNTT - Trường ĐH KHTN", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_co_so_du_lieu_da_phuong_tien_chuong_8_phu_thuoc_ha.pdf
Nội dung text: Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 8: Phụ thuộc hàm và dạng chuẩn (Functional Dependencies & Normal Form) - Khoa CNTT - Trường ĐH KHTN
- Nội dung chi tiết Các bước thiết kế CSDL quan hệ Sự trùng lắp thông tin Phụ thuộc hàm Luật dẫn Armstrong Các dạng chuẩn 2
- Các bước thiết kế CSDL quan hệ Một lược đồ CSDL thiết kế tốt được thể hiện: Ngữ nghĩa của quan hệ, thuộc tính được thể hiện rõ ràng Các thuộc tính trên quan hệ không được trùng lắp Giảm trùng lắp giữa các bộ trên một quan hệ (dư thừa thông tin) Giảm giá trị rỗng (Null) trên các quan hệ. Lược đồ thiết kế trùng lắp thông tin dẫn đến: Tốn không gian lưu trữ Dị thường khi thực hiện các phép cập nhật dữ liệu Kiểm tra lược đồ tốt hay xấu? Bằng kinh nghiệm Bằng tiêu chuẩn dạng chuẩn 4
- Nội dung chi tiết Các bước thiết kế CSDL quan hệ Sự dư thừa thông tin Phụ thuộc hàm Luật dẫn Armstrong Các dạng chuẩn 6
- Sự dư thừa thông tin Các dị thường khi thực hiện thao tác cập nhật: Thêm: Thêm 1 giáo viên thì phải thêm thông tin bộ môn hoặc phải để giá trị cho các thuộc tính liên quan đến bộ môn là Null. Không thể thêm 1 bộ môn mới mà chưa có giáo viên nào thuộc về bộ môn đó. Sửa: khi sửa thông tin bộ môn, thì phải sửa đến tất cả các bộ liên quan nếu không sẽ dẫn tới trình trạng không nhất quán. Xóa: có thể bị mất thông tin. Xem xét khi xóa giáo viên có mã 006? 8
- Nội dung chi tiết Các bước thiết kế CSDL quan hệ Sự trùng lắp thông tin và các dị thường Phụ thuộc hàm Các dạng chuẩn 10
- Phụ thuộc hàm (PTH) Nhận xét PTH thể hiện các ràng buộc từ thế giới thực. r R, t r, nếu t[K] là duy nhất thì K là siêu khóa của R; nếu t[K] là duy nhất và K là tập thuộc tính nhỏ nhất thỏa điều kiện vừa nêu thì K là khóa của R Khi K là khóa của R thì ta có phụ thuộc hàm: K xác định hàm tất cả các tập thuộc tính con của R+ : K R+ PTH dùng để đánh giá một kết quả thiết kế CSDL. 12
- Phụ thuộc hàm . Luật dẫn Armstrong - Luạ t phả n hò i (FD1) Y X, X Y - Luạ t co ̣ng Nếu X Y và Z W (FD2) Thì X, W Y, Z - Luạ t bá c cà u Nếu X Y và Y Z (FD3) Thì X Z 14
- Phụ thuộc hàm . PTH đầy đủ Xét pth X Y được định nghĩa trên R Thì Y phụ thuộc đầy đủ vào X . Ví dụ: - Cho R(A, B, C, D, E, I) - Tập PTH: F = { A BCD, BCD E, CD EI } - Pth BCD E là phụ thuộc hàm đầy đủ không? 16
- Dạng chuẩn Mục đích: đánh giá mức độ trùng lắp dữ liệu của lược đồ CSDL 18
- Biến đổi phi dạng chuẩn sang DC1 Phương pháp Phương pháp 1: Điền đầy đủ các dữ liệu vào các chỗ trống bằng dữ liệu trùng lắp → dẫn đến nhiều dữ liệu bị trùng lắp trên quan hệ. Phương pháp 2: Thay thế các giá trị không nguyên tố bằng cách xác định tập thuộc tính làm khóa chính và sau đó tách thành một quan hệ mới → tạo ra hai hay nhiều quan hệ mới, và sẽ làm giảm bớt sự trùng lắp thông tin. 20
- Biến đổi phi dạng chuẩn sang DC1 Phương pháp 2: xác định khóa và tách bảng NGUOI_THUE (MANT, TENNT) MANT TENNT CR76 L.V.Hùng CR56 H.V.Gia NHA_CHO_THUE (MANT, MANHA, DCHI_NHA, NGAYTHUE_BT, NGAYTHUE_KT, GIATHUE, MACHUNHA, TENCHUNHA) MANT MANHA DCHI_NHA NGAYTHUE_BT NGAYTHUE_KT GIATHUE MACHUNHA TENCHUNHA CR76 PG4 125 Lê Văn Sỹ, Q3 01/08/2012 01/09/2013 50tr CO40 N.T Lan CR76 PG16 432 CMT8, QTB 01/09/2007 01/10/2011 150tr CO72 B.T.Thanh CR56 PG4 125 Lê Văn Sỹ, Q3 01/08/2007 01/07/2012 50tr CO40 N.T.Lan CR56 PG16 432 CMT8, QTB 01//01/2012 01/01/2013 150tr CO72 B.T.Thanh CR56 PG36 124 Tô Ký, Q12 01/01/2010 01/01/2014 200tr CO20 N.T.Phuong 22
- Dạng chuẩn 2 (DC2) Một lược đồ đạt dạng chuẩn 2 nếu như lược đồ đó đã đạt DC1 và các thuộc tính không khóa phụ thuộc đầy đủ vào thuộc tính khóa. Nhận xét: Mọi lược đồ quan hệ đạt DC2 cũng đạt DC1. Nếu R chỉ có 1 khóa và khóa chỉ có 1 thuộc tính thì R đạt DC 2. DC2 còn xuất hiện sự trùng lặp dữ liệu nên vẫn còn xuất hiện các dị thường về cập nhật dữ liệu. Ví dụ: NGUOI_THUE (MANT, TENNT) MANT TENNT Xét quan hệ NGUOI_THUE: PK = {MANT}, F = {MANT → TENNT} CR76 L.V.Hùng NGUOI_THUE có đạt DC2 ? CR56 H.V.Gia ► NGUOI_THUE: thỏa DC2 24
- Biến đổi DC1 sang DC2 B1: Xác định khóa chính trên quan hệ bị DC1: NHA_CHO_THUE với PK = {MANT, MANHA} B2: Xác định các pth gây ra thuộc tính không khóa không phụ thuộc đầy đủ vào khóa MANHA DCHI_NHA, GIA_THUE, MACHUNHA, TENCHUNHA B3: Nếu có tồn tại pth không đầy đủ trên khóa chính thì xóa chúng ở quan hệ cũ và đưa chúng vào một quan hệ mới. Xóa pth MANHA DCHI_NHA, GIA_THUE, MACHUNHA, TENCHUNHA bằng cách đưa chúng vào quan hệ mới NHA_THUE (MANHA,DCHI_NHA, GIA_THUE, MACHUNHA, TENCHUNHA). Đổi tên quan hệ cũ thành TT_THUE_NHA(MANT,MANHA, NGAYTHUE_BT, NGAYTHUE_KT) 26
- Dạng chuẩn 3 (DC3) Khái niệm bổ sung: Thuộc tính phụ thuộc bắc cầu vào một tập thuộc tính : A phụ thuộc bắc cầu vào X nếu có 4 điều kiện sau: X Y F+ (i) Y A F+ (ii) Y X F+ (iii) A (XY) (iv) 28
- Dạng chuẩn 3 (DC3) Một lược đồ R ở dạng chuẩn 3 khi nó đạt dạng chuẩn 2 và tất cả các thuộc tính không khóa không phụ thuộc bắt cầu vào khóa Ví dụ: NHA_THUE (MANHA, DCHI_NHA, GIATHUE, MACHUNHA, TENCHUNHA) MANHA DCHI_NHA GIATHUE MACHUNHA TENCHUNHA PG4 125 Lê Văn Sỹ, Q3 50tr CO40 N.T Lan PG16 432 CMT8, QTB 150tr CO72 B.T.Thanh PG36 124 Tô Ký, Q12 200tr CO20 N.T.Phuong PK = {MANHA} F= { f1: MANHA DCHI_NHA,GIA_THUE, MACHUNHA, TENCHUNHA f2: MACHUNHA TENCHUNHA } NHA_THUE có đạt DC3? Ta có: MANHA MACHUNHA MACHUNHA TENCHUNHA MANHA TENCHUNHA (do bắt cầu) 30 ► NGUOI_THUE: không thỏa DC2, do TENCHUNHA phụ thuộc bắt cầu vào thuộc tính khóa
- Biến đổi DC2 lên DC3 NHA_THUE (MANHA, DCHI_NHA, GIATHUE, MACHUNHA, TENCHUNHA) MANHA DCHI_NHA GIATHUE MACHUNHA TENCHUNHA DC2 PG4 125 Lê Văn Sỹ, Q3 50tr CO40 N.T Lan PG16 432 CMT8, QTB 150tr CO72 B.T.Thanh PG36 124 Tô Ký, Q12 200tr CO20 N.T.Phuong CHU_NHA(MACHUNHA, TENCHUNHA) NHA_THUE (MANHA, DCHI_NHA, GIATHUE, MACHUNHA) MANHA DCHI_NHA GIATHUE MACHUNHA MACHUNHA TENCHUNHA PG4 125 Lê Văn Sỹ, Q3 50tr CO40 CO40 N.T Lan PG16 432 CMT8, QTB 150tr CO72 CO72 B.T.Thanh PG36 124 Tô Ký, Q12 200tr CO20 CO20 N.T.Phuong DC3 DC3 32
- Dạng chuẩn BCK (Boyce Codd Kent) Một lược đồ chỉ đạt dạng chuẩn BCK nếu khi mỗi xác định (pth) có vế trái đều là siêu khóa/khóa BCK TT_THUE_NHA (MANT, MANHA, NGAYTHUE_BT, NGAYTHUE_KT) NGUOI_THUE (MANT, TENNT) MANT TENNT MANT MANHA NGAYTHUE_BT NGAYTHUE_KT CR76 PG4 01/08/2012 01/09/2013 CR76 L.V.Hùng BCK CR76 PG16 01/09/2007 01/10/2011 CR56 H.V.Gia DC BCK CR56 PG4 01/08/2007 01/07/2012 CR56 PG16 01//01/2012 01/01/2013 BCK CR56 PG36 01/01/2010 01/01/2014 NHA_THUE (MANHA, DCHI_NHA, GIATHUE, MACHUNHA) CHU_NHA(MACHUNHA, TENCHUNHA) MANHA DCHI_NHA GIATHUE MACHUNHA MACHUNHA TENCHUNHA PG4 125 Lê Văn Sỹ, Q3 50tr CO40 BCK CO40 N.T Lan PG16 432 CMT8, QTB 150tr CO72 CO72 B.T.Thanh PG36 124 Tô Ký, Q12 200tr CO20 CO20 N.T.Phuong 34
- Biến đổi DC3 lên DC BCK Xác định phụ thuộc hàm A → B của Q, trong đó A ≠ B và A không là siêu khóa/khóa. Phân rã quan hệ gốc Q thành hai quan hệ Q1 = {A,B}, Q2 = {tập các thuộc tính còn lại của Q } – {B} Lặp lại qui trình trên cho Q2 đến khi không thể tiếp tục. Quan hệ Q1 và các Qi phân rã được từ Q2 là quan hệ cuối cùng đạt chuẩn BCK. 36
- Dạng chuẩn BCK Nhận xét: Mọi lược đồ quan hệ đạt DC BCK cũng thuộc DC3. Mục tiêu của quá trình thiết kế CSDL là đưa các lược đồ quan hệ về DC3 hoặc BCK. 38