Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 7 - Lê Nhị Lãm Thúy

20 28 0
Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 7 - Lê Nhị Lãm Thúy

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Phân tích thiết kế hệ thống thông tin - Chương 7: Lý thuyết chuẩn hóa dữ liệu cung cấp cho người học các kiến thức: Phụ thuộc hàm, bao đóng, khóa của lược đồ quan hệ, phủ tối thiểu, dạng chuẩn, chuẩn hóa cơ sở dữ liệu,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chương LÝ THUYẾT CHUẨN HĨA DỮ LIỆU PHÂN TÍCH THIẾT KẾ THỐNG THÔNG TIN Nội dung         Xét hóa đơn bán hàng sau Phụ thuộc hàm Bao đóng Khóa lược đồ quan hệ Phủ tối thiểu Dạng chuẩn Chuẩn hóa sở liệu Phép tách lược đồ quan hệ Bài tập Ví dụ Số HD NgàyHD TênKH TênNV 001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Coca TênHH SL DG 001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Pepsi 7.000 7.000 001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Ken 15.000 45.000 002 01/02/19 Nguyễn Thị An Linh Gạo 20.000 20.000 002 01/02/19 Nguyễn Thị An Linh Đường 21.000 42.000 003 01/02/19 Nguyễn Thị An Linh Sữa 25.000 25.000 8.000 TT 16.000 Nếu thêm hóa đơn mới ??? Nếu thêm kết thi sinh viên mới ??? 7.1 Phụ thuộc hàm (functional dependence-FD) 7.1 Phụ thuộc hàm (functional dependence-FD) Định nghĩa: Một thể R thỏa phụ thuộc hàm X  Ynếu Phụ thuộc hàm ràng buộc giữa tập thuộc tính 01 lược t1, t2  R đồ quan hệ t1.X = t2.X  t1.Y = t2.Y R(A1, A2,…, An) lược đồ quan hệ X, Y hai tập tập thuộc tính  ={A1, A2,…, An} Ta nói Y phụ thuộc hàm vào X: X → Y Nếu t1.X = t2.X  t1.Y  t2.Y lược đồ vi phạm phụ thuộc hàm XY Với giá trị X R xác định giá trị Y R Ví dụ sai A B C D E 4 4 Kí hiệu phụ thuộc hàm MONHOC → DIEMTHI ??? HOTEN → DIEMTHI ??? MASV → DIEMTHI ??? I AB → C II B → D (T) III DE → A Phụ thuộc hàm hiển nhiên (T) 7.2 Hệ luật dẫn Armstrong  Nếu X  Y X → Y Phụ thuộc hàm suy diễn logic từ F  Phụ thuộc hàm X  Y suy diễn logic từ F quan hệ r thỏa mãn tất phụ thuộc hàm F thỏa phụ thuộc hàm X  Y  Với r là quan hệ bất kỳ, F là tập phụ thuộc hàm thỏa r, ta ln có  Ký hiệu F|= X  Y F  {các phụ thuộc hàm hiển nhiên}  Bao đóng F đóng F tập suy diễn logic từ F  Bao tất phụ thuộc hàm  Ký hiệu: F+ Nếu F=F+ F họ đầy đủ PTH Thuật tốn tìm bao đóng F+ 7.2 Hệ luật dẫn Armstrong  Các tính chất tập F+ “Áp dụng hệ tiên đề Armstrong cho đến khơng tìm thêm phụ thuộc hàm mới”  Tính phản xạ: F  F+  Tính đơn điệu: Nếu F  G F+  G+  Tính lũy đẳng: (F+)+ = F+  Phần phụ F: F- = G - F+ (G - tập tất các PTH có r) 7.2 Hệ luật dẫn Armstrong  Hệ luật dẫn Amstrong: Gọi R() lược đồ quan hệ với  ={A1, A2,…, An} tập thuộc tính X,Y,Z,W tập  (Kí hiệu: XY=XY)  Ba luật tiên đề Amstrong: Luật phản xạ (reflexive rule): Nếu Y  X X  Y Luật tăng trưởng (augmentation rule): Nếu X  Y, Z   XZ  YZ Luật bắc cầu (Transivity Rule) Nếu X  Y Y  Z X  Z CM: Tiên đề tăng trưởng Giả sử quan hệ r thoả mãn X  Y Tồn tại hai t, u  r cho t[XZ] = u[XZ] mà t[YZ]  u[YZ] Vì t[Z] = u[Z] nên để có t[YZ]  u[YZ] t[Y]  u[Y] (1) Mà ta có t[XZ] = u[XZ] nên t[X] = u[X] (2) Từ (1) (2) ta có t[X] = u[X] t[Y]  u[Y] điều trái với giả thiết quan hệ r thoả mãn X  Y Vậy t[YZ] = u[YZ] hay XZ  YZ quan hệ r 7.2 Hệ luật dẫn Armstrong  Ba hệ tiên đề Amstrong: Luật hợp (Union Rule) Nếu X  Y X  Z X  YZ 7.3 Bao đóng tập thuộc tính X (closures of attribute sets)  Định nghĩa Gọi F tập phụ thuộc hàm tập thuộc tính  Bao đóng F tất phụ thuộc hàm suy từ F dựa tiên đề Armstrong Luật bắc cầu giả (Pseudotransivity Rule) Nếu X  Y WY  Z XW  Z Luật phân rã (Decomposition Rule) Nếu X  Y Z  Y X  Z 7.3 Bao đóng tập thuộc tính X (closures of attribute sets)  Thuật tốn tìm bao đóng:  Tính liên tiếp tập tập thuộc tính X0,X1,X2, theo phương pháp sau:  Bước 1: X0 = X  Bước 2: lần lượt xét phụ thuộc hàm F  Nếu  Loại YZ có Y  Xi Xi+1 = Xi Z phụ thuộc hàm Y  Z khỏi F  Bước 3: Nếu bước khơng tính Xi+1 Xi bao đóng X  Ngược lại lặp lại bước 7.3 Bao đóng tập thuộc tính X (closures of attribute sets) Ví dụ 1: Cho lược đồ quan hệ R(A,B,C,D,E,G,H) tập phụ thuộc hàm F={BA; DACE; DH; GH C; ACD} Tìm bao đóng X = {A,C} F? bao đóng Giải: X(0) = {A,C} , {A,C}{D}  X(1) = {A,C,D}, {A, D}{C,E}  X(2) = {A,C,D,E}, {D}{H}  X(3) = {A,C,D,E,H}  X+= X(3) Cho X = {B, D} ->X+? 7.3 Bao đóng tập thuộc tính X (closures of attribute sets)  Ví dụ 2: cho lược đồ quan hệ: Q(A,B,C,D,E,G)  F = { f1: A → C; f2: A → EG; f3: B →D; f4: G →E} Tìm bao đóng: - X+ với X = {A,B}; - Y+ với Y = {C,G,D} Phủ tối thiểu 7.4 Phủ tối thiểu Tập phụ thuộc hàm tối thiểu (minimal cover) Một phủ tối thiểu tập phụ thuộc hàm F tập phụ thuộc hàm G Trong đó: - G tương đương với F (tức G+ = F+) - Tất phụ thuộc hàm G có dạng X  A - Không thể làm G nhỏ nữa (nghĩa khơng thể xóa PTH G, hay xóa thuộc tính bên phải, bên trái phụ thuộc hàm mà G tương đương với F) F là tập phụ thuộc hàm tối thiểu nếu thỏa mãn điều kiện sau:  F là tập phụ thuộc hàm có vế trái khơng dư thừa  F là tập phụ thuộc hàm có vế phải thuộc tính  F là tập phụ thuộc hàm không dư thừa 7.4 Phủ tối thiểu Ví dụ Thuật tốn tìm phủ tối thiểu Bước 1: R(A, B, C, D, E, F, G, H) T = {ABH → CK, A → D, C → E, BGH → F, F → AD, E → F, BH → E} Tìm phủ tối thiểu - Tách vế phải PTH F cho vế phải PTH chứa thuộc tính Bước 2: - Tìm PTH đầy đủ cách loại bỏ PTH dư thừa vế trái PTH Bước 3: - Loại bỏ PTH dư thừa F Bước T = {ABH → C, ABH → K, A → D, C → E, BGH → F, F → A, F → D, E → F, BH → E} Loại bỏ các thuộc tính dư thừa phía bên trái thuộc tính hàm: T = {ABH → C, ABH → K, A → D, C → E, BGH → F, F → A, F → D, E → F, BH → E} 2.1 Xét ABH → C - Loại A ABH → C: Ta có (BH)+ = (BHEFADK) chứa A, nên A dư thừa - Loại B ABH → C: Ta có (AH)+ = (AHD) không chứa B, nên B không dư thừa - Loại H ABH → C: Ta có (AB)+ = (ABD) không chứa H, nên H không dư thừa  Kết quả: T = {BH → C, ABH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} Bước 1: Tách vế phải thuộc tính hàm thành thuộc tính đơn lẻ: ABH → C ABH → K A→D C→E BGH → F F→A F→D E→F BH → E Bước T = {ABH → C, ABH → K, A → D, C → E, BGH → F, F → A, F → D, E → F, BH → E} 2.2 Xét ABH → K - Loại A ABH → K: Ta có (BH)+ = (BHEFADK) chứa A, nên A dư thừa - Loại B ABH → K: Ta có (AH)+ = (AHD) khơng chứa B, nên B không dư thừa - Loại H ABH → K: Ta có (AB)+ = (ABD) khơng chứa H, nên H không dư thừa  Kết quả: T = {BH → C, BH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} Bước T = {ABH → C, ABH → K, A → D, C → E, BGH → F, F → A, F → D, E → F, BH → E} 2.3 Xét BGH → F - Loại B BGH → F: Ta có (GH)+ = (GH) khơng chứa B, nên B khơng dư thừa - Loại G BGH → F: Ta có (BH)+ = (BHEFDACK) khơng chứa G, nên G khơng dư thừa - Loại H BGH → F: Ta có (BG)+ = (BG) khơng chứa H, nên H khơng dư thừa  Kết quả: T = {BH → C, BH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} 2.4 Xét BH → E - Cả B H không dư thừa Kết quả: T = {BH → C, BH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} Bước T = {BH → C, BH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} 3.3 Thử loại bỏ A → D: Ta có: (A)+ = (A) không chứa D, nên A → D không dư thừa  Kết giữ nguyên 3.4 Thử loại bỏ BGH → F: Ta có: (BGH)+ = (BHEFDAKC) chứa F nên BGH → F dư thừa  Kết quả: T = {BH → C, BH → K, A → D, F → A, F → D, E → F, BH → E} 3.5 Thử loại bỏ F → A: Ta có: (F)+ = (FD) khơng chứa A, nên không dư thừa  Kết giữ nguyên Bước T = {BH → C, BH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} Loại bỏ các phụ thuộc hàm dư thừa: T = {BH → C, BH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} 3.1 Thử loại bỏ BH → C: Ta có: (BH)+ = (BHEFDAK) không chứa C, nên BH → C không dư thừa  Kết giữ nguyên 3.2 Thử loại bỏ BH → K: Ta có: (BH)+ = (BHCEFDA) khơng chứa K, nên BH → K không dư thừa  Kết giữ nguyên Bước T = {BH → C, BH → K, A → D, BGH → F, F → A, F → D, E → F, BH → E} 3.6 Thử loại bỏ F → D: Ta có: (F)+ = (FAD) chứa D, nên dư thừa  Kết quả: T = {BH → C, BH → K, A → D, F → A, E → F, BH → E} 3.7 Thử loại bỏ E → F: Ta có: (E)+ = (E) khơng chứa F, nên khơng dư thừa  Kết giữ nguyên 3.8 Thử loại bỏ BH → E: Ta có: (BH)+ = (BHCK) khơng chứa E, nên không dư thừa  Kết giữ nguyên Kết T = {BH → C, BH → K, A → D, F → A, E → F, BH → E} BH → C BH → K A → D F → A E → F BH → E Ví dụ Cho lược đồ quan hệ Q(A,B,C,D) tập phụ thuộc F ={AB CD, B  C, C  D} Tìm phủ tối thiểu F Bước 1: AB  CD phụ thuộc hàm có vế trái dư thừa? Xét B  CDF+ ? Tính B+ =BCD  B  CD F+ Vậy AB  CD phụ thuộc hàm có vế trái dư thừa A  F={B  CD; B  C; C  D} Ví dụ Bước 2: tách phụ thuộc hàm có vế phải nhiều thuộc tính thành phụ thuộc hàm có vế phải thuộc tính F={B  CD; B  C; C  D} F={BD; B  C; C  D}=F1tt Bài tập Tìm phủ tối thiểu? Bước 3: Ta có: B  D PTH dư thừa {B  C;C  D} Kết cho phủ tối thiểu: F={B  C;C  D}=Ftt 7.5 Phụ thuộc hàm tương đương  Định Nghĩa: Hai tập phụ thuộc hàm F và G là tương đương (Equivalent) nếu F+ = G+  Ký hiệu: F  G (F ∼G) 7.5 Phụ thuộc hàm tương đương  phụ thuộc hàm: F = {ABC, AD, CE}  Thuật toán xác định F G có tương đương khơng Bước 1: Với phụ thuộc hàm XY F ta xác định G = {ABCE, AABD, CE} xem XY có thành viên G không Bước 2: Với phụ thuộc hàm XY G ta xác định xem XY có thành viên F khơng a) F có tương đương với G khơng? b) F có tương đương với G’={ABCE} khơng?  Nếu hai bước F G 7.5 Phụ thuộc hàm tương đương Với phụ thuộc hàm YZ F Tính Y+ tập phụ thuộc hàm G Nếu Z  Y+ YZ G+ ngược lại F={ABC,AD,CE} G = {ABCE,AABD,CE} Giải:  Tính A+ , C+ dựa tập G  A+G=ABCED BC (xét A  BC)  C+G=CE  E (xét C  E) +  Các phụ thuộc hàm F suy diễn từ G (1) - Tính A+ , C+ dựa tậpF  A+ =ABCED  BCE (xét ABCE) F  C+F = CE  E (xét C  E) +  Các phụ thuộc hàm G suy diễn từ F (2)  (1) (2)  F+ = G+  F  G Ví dụ: Cho lược đồ quan hệ R(ABCDE) hai tập Phụ thuộc hàm dư thừa Tập các PTH là dư thừa chúng suy diễn từ các PTH khác Ví dụ: AC là dư thừa đối với F= (AB, BC, A C)  Một phần phụ thuộc hàm dư thừa  Ví dụ: F=(A B, BC, AC,D) viết lại: F=(A B, BC, AD)  10 Cho F = { A→C, AC→D, E→AD, E→H} Y = {A→CD, E→AH} Cách Cho F = { A→C, AC→D, E→AD, E→H} Y = {A→CD, E→AH} Kiểm tra F E có tương đương A→C  A → AC AC → D A→D A→C A → CD Vậy F chứa A → CD Cách 1: Quy tắc suy diễn Cách 2: Dùng bổ đề và bao đóng E→AD  E → A E→H E → AH Vậy F chứa E → AH Cách Cho F = { A→C, AC→D, E→AD, E→H} Y = {A→CD, E→AH} A→CD  A → C A→CD  A → D  AC → D E → AH E → A A → D(do A → CD) E → AH E → H E → AD Cách Cho F = { A→C, AC→D, E→AD, E→H} Y = {A→CD, E→AH} Xét Y F (A)+F = {ACD} (E)+F = {ADEH} Vậy F phủ Y Xét F Y (A)+Y = {ACD} (AC)+Y = {ACD} (E)+Y = {ACDEH} Vậy Y phủ F 11 Bài tập: Cho lược đồ quan hệ R tập phụ thuộc hàm: F={AB  C, B  D, CD  E, CE GH, G A} R Chứng minh AB  EG Cho lược đồ quan hệ R(A,B, C, D, E, G, H) tập phụ thuộc hàm F, F = {B → A; DA→ CE; D → H; GH→ C; AC→ D} Hãy tính: B+; H+;BC+ tìm PTT Cho lược đồ quan hệ Q(ABC) hai tập phụ thuộc hàm: F={ A→B; A→C; B→A; C→A; B→C} G={ A→B; C→A; B→C} F có tương đương với G khơng? Bài tập: Bài tập: Cho lược đồ quan hệ R(A,B,C,D) tập phụ thuộc F sau: F = {A  C; C  A; CB  D; AD  B; CD  B; AB  D} Hãy tìm phủ tối thiểu F? Cho G = {AB  C, A  B, B  C, A  C}và F ={AB  C, A  B, B  C} Hai PTH có tương đương khơng? Cho lược đồ quan hệ (A,B,C,D,E,G) tập PTH: F = {ABC; C  A; CB  D; ACD  B; D  EG, BE  C; CG BD; CE AG } a/ X={B,D}, X+=? b/ Y={C,G}, Y+=? c/ Hãy tìm phủ tối thiểu F Bài tập: Cho lược đồ CSDL Cho lược đồ CSDL KeHoach(NGAY, GIO, PHONG, MOMHOC, GIAOVIEN): F = {NGAY, GIO, PHONG MONHOC; MONHOC, NGAY GIAOVIEN; NGAY, GIO, PHONG  GIAOVIEN; MONHOC  GIAOVIEN} Q(LENTAU, LOAITAU, MACHUYEN, LUONGHANG, BENCANG, NGAY} F = {TENTAU LOAITAU; MACHUYEN TENTAU, LUONGHANG; TENTAU, NGAY  BENCANG, MACHUYEN} a/ Hãy tìm tập phủ tối thiểu F? b/ Tìm tất khóa Q? a/ Tính {NGAY, GIO, PHONG}+; {MONHOC}+ b/ Tìm phủ tối thiểu F c/ Tìm tất khóa KeHoach? 12 Bài tập: Bài tập: Hãy tìm tất khóa cho lược đồ CSDL Q(BROKER, OFFICE, STOCK, QUANTITY, INVESTOR, DIVIDENT): F = {STOCK DIVIDENT; INVESTOR  BROKER; INVESTOR, STOCK  QUANTITY; BROKER  OFFICE} 1.Cho lược đồ quan hệ R(C,T,H,R,S,G) tập phụ thuộc F sau: F = {C T; HR  C; HT  R; CS  G; HS  R} Hãy tìm phủ tối thiểu F? 2.Cho lược đồ quan hệ R(A,B,C,D,E,H) tập phụ thuộc F sau: F = {A E; C  D; E  DH} Chứng minh K={A,B,C} khóa R? 3.Cho lược đồ quan hệ R(A,B,C,D) tập phụ thuộc F sau: F = {AB C; D  B; C  ABD} Hãy tìm tất khóa R? 4.Cho lược đồ quan hệ R(A,B,C,D,E,G) tập phụ thuộc F sau: F = {AB C; C  A; BC  D; ACD  B; D EG; BE  C; CG BD; CE G} Hãy tìm tất khóa R? KHĨA CỦA LƯỢC ĐỒ QUAN HỆ (Key)  Định Nghĩa: Cho lược đồ quan hệ R(A1,A2,…,An) U Dạng chuẩn tập thuộc tính R F tập phụ thuộc hàm R K tập U K khóa R thỏa điều kiện sau:  K+ = U  Không tồn tại K'  K cho K’+= U 13 KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) • Tập thuộc tính S gọi siêu khóa S K • Thuộc tính A gọi thuộc tính khóa AK với K khóa R Ngược lại A gọi thuộc tính khơng khóa • Một lược đồ quan hệ có nhiều khóa tập  Ví dụ: cho lược đồ quan hệ R(U) với U={A,B,C,D,E} tập PTH: F={AB CE; B  D; BC  A}  Các khóa R K1=AB, K2=BC Vậy: A,B,C thuộc tính khóa cịn Fn={D,E} thuộc tính khơng khóa rỗng KHĨA CỦA LƯỢC ĐỒ QUAN HỆ (Key)  Thuật tốn tìm khóa lược đồ quan hệ R • Bước 1: gán K = U • Bước 2: A thuộc tính K, đặt K’ = K - A  Nếu  K’+= U gán K = K' thực lại bước Nếu muốn tìm khóa khác (nếu có) lược đồ quan hệ, ta thay đổi thứ tự loại bỏ phần tử K KHĨA CỦA LƯỢC ĐỒ QUAN HỆ (Key)  Ví dụ 1: cho lược đồ quan hệ U = R(A,B,C,D,E) tập phụ thuộc hàm F sau: F={ABC, AC  B, BC  DE} tìm khóa K? Giải: B1: K=U  K=ABCDE B2:(K\A)+ (BCDE)+=BCDE ≠ U  K=ABCDE B3:(K\B)+ (ACDE)+= ABCDE = U  K=ACDE B4: (K\C)+ (ADE)+ = ADE ≠ U  K=ACDE B5: (K\D)+  (ACE)+ = ACEBD=U  K=ACE B6: (K\E)+ (AC)+ = ACBDE =U  K=AC 14 KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)  Ví dụ 2: cho lược đồ quan hệ R(A,B,C,D,E,G,H,I)  Thuật toán tìm tất khóa lược đồ quan hệ: tập phụ thuộc hàm F={  Bước 1: Xác định tất tập khác rỗng U={X1, AC B; BI AC; X2, …,Xn-1 } ABC D;  Bước 2: Tìm bao đóng Xi H  I; ACEBCG; CG  AE}  Bước 3: Siêu khóa Xi có Xi+= U  Tìm K?  Giả sử ta có siêu khóa S = {S1,S2,…,Sm}  Bước 4: xét mọi Si, Sj S (i ≠ j), Si  Sj loại Sj (i,j=1 n), kết cịn lại S tập tất khóa cần tìm KHĨA CỦA LƯỢC ĐỒ QUAN HỆ (Key) KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key)  Ví dụ: Tìm tất các khóa lược đồ quan hệ  Thuật tốn (cải tiến) tìm tất khóa với tập phụ thuộc hàm sau: lược đồ quan hệ  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: TG =  lược đồ quan hệ có khóa K= TNkết thúc  Ngược lại Qua bước  Bước 3: tìm tất tập Xi tập trung gian TG  Nếu 15 KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) Tập thuộc tính nguồn (TN) : bao gồm thuộc tính xuất tìm siêu khóa Si cách Xi  if (TN  Xi)+ = U then Si = TN Xi  Bước 5: tìm khóa cách loại bỏ siêu khóa khơng tối thiểu   Si, Sj S if Si Sj then Loại Sj khỏi tập siêu khóa S, S cịn lại tập khóa cần tìm  Bước 4: vế trái, không xuất vế phải F( tập phụ thuộc hàm) thuộc tính khơng xuất vế trái vế phải F Tập thuộc tính đích (TĐ) : Bao gồm thuộc tính xuất R, không xuất L Tập thuộc tính trung gian (TG) : Chứa thuộc tính xuất L R Ví dụ : Cho tập sở dữ liệu R = Với Q = {ABC} F = {AB –> C, C -> A} Tìm tất khóa thuộc tập sở dữ liệu Giải L = {ABC} R = {CA} TN = {B} TG = {AC} # nên ta làm tiếp bước Ta có tập Xi tập TG = {0, A,C,AC} Ta lấy thuộc tính thuộc tập Xi tập TG hợp với TN ta có thuộc tính sau : Q = {ABC} F = {AB –> C, C -> A} TN = {B} TG = {0, A,C,AC} S1 = TN U = B Ta có B+ = B # Q nên S1 = A khơng siêu khóa S2 = TN U A = AB Ta có AB+ = ABC = Q nên S2 = AB siêu khóa S3 = TN U C = BC Ta có BC+ = ABC = Q nên S3 = BC siêu khóa S4 = TN U AC = ABC Ta có ABC+ = ABC = Q nên S4 = ABC siêu khóa Vậy ta có tập siêu khóa S = {AB,BC,ABC} Tuy nhiên, AB chứa ABC BC chứa ABC nên loại bỏ siêu khóa ABC khỏi tập siêu khóa Vậy ta có, tập khóa K = {AB,BC} khóa lượt đồ quan hệ 16 7.5 Dạng chuẩn KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) Ví dụ: cho lược đồ quan hệ R(C,S,Z) tập phụ thuộc hàm F={CS Z; Z  C} Áp dụng thuật toán cải tiến:  Phụ thuộc hàm riêng phần/bộ phận X → A gọi là phụ thuộc hàm riêng phần nếu tồn Y ⊂X Y → A N = {S}; TG ={C,Z} Gọi Xi tập tập TG: TNXi Xi (TNXi)+ TN = {S} Siêu khóa Khóa S S C SC U SC SC Z SZ U SZ SZ CZ SCZ U SCZ 7.5 Dạng chuẩn  Phụ thuộc hàm đầy đủ X → A gọi là phụ thuộc hàm đầy đủ nếu không tồn Y ⊂X Y → A =U   Ví dụ Cho lược đồ quan hệ R(A,B,C) tập PTH F={A → B; A → C; AB → C} A → B; A → C PTH đầy đủ AB → C khơng PTH đầy đủ có A → C 7.5 Dạng chuẩn Các loại PTH 7.5.1 Qui trình chuẩn hóa  Phụ thuộc hàm bắc cầu X → A gọi là phụ thuộc hàm bắc cầu nếu tồn Y X →Y, Y → A, Y −/→ X A∉ XY  Khi thiết kế cài đặt hệ CSDL, chuẩn hoá q trình khảo sát danh sách thuộc tính áp dụng tập quy tắc phân tích vào danh sách đó, biến đổi chúng thành nhiều tập nhỏ cho:  Ví dụ Cho lược đồ quan hệ R(A,B,C,D,E) tập PTH F={A → BCE; B → DC}  Thuộc tính D,C PTH bắc cầu vào A Các loại PTH  Tối thiểu việc lặp lại  Tránh dị thường thông tin  Xác định giải không rõ ràng, nhập nhằng suy diễn 17 7.5.2 Các dạng chuẩn 7.5.2 Các dạng chuẩn Dạng chuẩn Một (1NF - first normal form) Dạng chuẩn Một (2NF - second normal form) Lược đồ quan hệ R dạng chuẩn NF nếu R dạng chuẩn thuộc tính khơng khóa phụ thuộc hàm đầy đủ vào thuộc tính khóa R Lược đồ quan hệ R dạng chuẩn nếu nếu toàn miền có mặt R chứa giá trị nguyên tố (không phân chia nữa) Ví dụ: Cho lược đồ quan hệ R(ABCDEG) thỏa mãn phụ thuộc hàm: F={ A BC, C  DE, E G} Kiểm tra R có thỏa dạng chuẩn 2NF khơng ? Giải: Ta có: (A)+ =U K=A Các thuộc tính khơng khóa { B, C, D, E,G} Do khóa có thuộc tính nên R dạng 2NF  Đưa dạng chuẩn 1: Biến cột đa trị thành đơn trị Điền đủ liệu vào các cột khác 7.5.2 Các dạng chuẩn Ví dụ 2: Xét quan hệ CNHAN sau: Dạng chuẩn Một (3NF – third normal form) Lược đồ quan hệ R dạng 3NF nếu có PTH X  A thỏa R thì: CNHAN(MACN, LOAINGHE, HESOTHUONG)  Khóa quan hệ MACN  Ta thấy có PTH quan hệ:  X siêu khóa R, hay  A thuộc tính khóa R Ví dụ: Cho lược đồ quan hệ R (A, B, C, D) thỏa mãn phụ thuộc hàm: F={ AB CD, D  A} Kiểm tra R có thỏa dạng chuẩn 3NF khơng ? Giải Khóa lược đồ quan hệ R là: K={AB,BD} Xét DA: A thuộc tính khóa Vậy R thỏa dạng chuẩn 3NF MACN → LOAINGHE MACN → HESOTHUONG LOAINGHE → HESOTHUONG Dạng chuẩn cao quan hệ này? Giải: Ta có: - Pth bắc cầu: MACN → LOAINGHE LOAINGHE → HESOTHUONG Hệ quả: Một lược đồ quan hệ gọi dạng chuẩn thứ dạng chuẩn thứ khơng có phụ thuộc hàm bắc cầu 71 -Thuộc tính khơng khóa HESOTHUONG phụ thuộc bắc cầu vào thuộc tính khóa MACN Do đó: CNHAN 3NF 18 \ 7.5.2 Các dạng chuẩn Dạng chuẩn BCNF (Boyce - Codd) Lược đồ quan hệ R gọi BCNF nếu X  A R (A  X) thì: X là siêu khóa R Ví dụ 1: Cho lược đồ quan hệ R(A, B, C) thỏa mãn phụ thuộc hàm F={AB  C, BC  A} Kiểm tra R có thỏa dạng chuẩn BCNF khơng? Giải: Khóa R : K={AB, BC} Xét AB  C: Ta có AB khóa, C  AB Xét BC  A : Ta có BC khóa, A BC Vậy R thỏa dạng chuẩn BCNF Định lý: Các lớp dạng chuẩn lược đồ quan hệ có quan hệ lồng nghĩa là lớp sau nằm trọn lớp trước: BCNF3NF  2NF  1NF VD: R BCNF R 3NF Ví dụ: Cho lược đồ quan hệ R ( A, B, C, D) F = { AB  C, D B, C  ABD} Kiểm tra R có thuộc dạng chuẩn BCNF khơng? Giải thích? Giải: - Khóa lược đồ quan hệ R : K1=AB, K2=AD, K3=C Nên R khơng có thuộc tính khơng khóa Vậy R dạng chuẩn 3NF khơng BCNF Ví dụ 2: Cho lược đồ quan hệ PROJ(PNO, PNAME, BUDGET) thỏa mãn phụ thuộc hàm PNO(PNAME, BUDGET), Kiểm tra PROJ có thỏa dạng chuẩn BCNF khơng? BTVN Chú ý:  Một quan hệ BCNF đạt 3NF  Trong thực hành quan hệ đạt chuẩn 3NF đủ Tuy nhiên quan hệ 3NF không đảm bảo loại bỏ tất lỗi thao tác dữ liệu 1/ Xét LĐQH R với U=ABCDE tập PTH F = {ABCE, E  AB, C  D} Dạng chuẩn cao quan hệ gì? Bài tập 1/ Cho lược đồ quan hệ R( A,B,C,D,E ) tập phụ thuộc hàm F: F = { AB  C, AD  E, B  D} Kiểm tra R có thuộc dạng chuẩn 3NF khơng? Giải thích? 75 19 Bài tập 1/ Cho lược đồ quan hệ HoaDon với HoaDon(SOHD, KHACH, NGAYLAP, MATHANG, DONGIA, SOLUONG) tập phụ thuộc hàm F sau: F={SOHD →KHACH, NGAYLAP, SOHD,MATHANG →DONGIA,SOLUONG} Hãy cho biết lược đồ quan hệ HoaDon có đạt dạng chuẩn ? Tại sao? 2/ Cho lược đồ quan hệ Q ( A, B, C, D, E ) và tập phụ thuộc hàm F sau: F = {AD  C, AB  E, D  B } a Kiểm tra phụ thuộc hàm: AD  E có thuộc F+ ? b Kiểm tra R có thuộc dạng chuẩn 2NF khơng? Tìm phủ tối thiểu tập phụ thuộc hàm: T = {ABH → CK, A → D, C → E, BGH → F, F → AD, E → F, BH → E} 2/ R = (A, B, C, D); F = {ABC→D, D→A} a Xác định tất khóa R b Xác định dạng chuẩn cao 77 78 Bài tập 3/ Cho lược đồ quan hệ HoaDon với HoaDon(SOHD, KHACH, NGAYLAP, MATHANG, DONGIA, SOLUONG) tập phụ thuộc hàm F sau: F = { SOHD→KHACH, NGAYLAP, SOHD, MATHANG → DONGIA , SOLUONG } Hãy cho biết lược đồ quan hệ HoaDon có đạt dạng chuẩn ? Tại sao? Thank you! 4/ Cho LĐQH r(R) với R=ABCD F= {A → C, D → B, C → ABD} Xác định dạng chuẩn cao nhất? 5/Cho LĐQH r(R) với R={A, B, C, D} tập PTH F={ABCD, B  C} R có NF? 79 20 ... Tính lũy đẳng: (F+)+ = F+  Phần phụ F: F- = G - F+ (G - tập tất các PTH có r) 7. 2 Hệ luật dẫn Armstrong  Hệ luật dẫn Amstrong: Gọi R() lược đồ quan hệ với  ={A1, A2,…, An} tập thuộc tính... trái với giả thiết quan hệ r thoả mãn X  Y Vậy t[YZ] = u[YZ] hay XZ  YZ quan hệ r 7. 2 Hệ luật dẫn Armstrong  Ba hệ tiên đề Amstrong: Luật hợp (Union Rule) Nếu X  Y X  Z X  YZ 7. 3 Bao đóng... dị thường thông tin  Xác định giải không rõ ràng, nhập nhằng suy diễn 17 7.5.2 Các dạng chuẩn 7. 5.2 Các dạng chuẩn Dạng chuẩn Một (1NF - first normal form) Dạng chuẩn Một (2NF - second normal

Ngày đăng: 11/07/2020, 04:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan