Bài giảng cơ sở dữ liệu chương 6 lý thuyết thiết kế CSDL

34 327 0
Bài giảng cơ sở dữ liệu   chương 6  lý thuyết thiết kế CSDL

Đ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 CSDL Chương 6: Lý Thuyết Thiết Kế Cơ Sở Dữ Liệu I Khái Niệm Phụ thuộc Hàm Định Nghĩa: khái niệm quan trọng việc thiết kế sở liệu - cho quan hệ R tập thuộc tính U R(U) + với U={A1,A2,A3…An} x,y,z tập U x y t & t’ t.x=t’.x t.y=t’.y   Ví dụ: x={masv} y={hoten,ngaysinh} =>x y Hệ tiên đề Amstrong a đ/n hệ tiên đề amstrong Gọi R(U) lược đồ quan hệ với U = {A­1,…,An} tập thuộc tính X,   Y, Z, W  U Hệ tiên đề Armstrong bao gồm: F1) Tính phản xạ: YXXY F2) Tính bắc cầu: X  Y, Y  Z  X  Z F3) Tính mở rộng hai vế(tăng trưởng) X  Y  (Z  U) XZ  YZ  b bổ đề Bổ đề 1: Hệ tiên đề Armstrong Có nghĩa F tập phụ thuộc hàm quan hệ R Nếu X  Y phụ thuộc hàm suy dẫn từ F nhờ hệ tiên đề Armstrong X  Y quan hệ R Bổ đề 2: F4) Cộng tính vế phảI( luật hợp) X  Y, X  Z  X  YZ F5) Tính tựa bắc cầu(giả bắc cầu) X  Y, YZ  W  XZ  W F6) Luật tách: X  Y Z  X  Z x  y Ví dụ: Cho tập phụ thuộc hàm F = {A  B, B  CD} ta chứng minh phụ thuộc hàm AC  CD suy diễn logic từ F Thật vậy: F3: A  B  AC  BC F3: B  CD  BC  CD F3: AC  BC, BC  CD  AC  CD Ví dụ 2:cho R={A,B,C,D,E} F={A  BC,B  D,C  E} CMR:A  E,A  D Ví dụ 3:cho R={ABCDEF} F={A  BC,AB  D,AC  E,DE  F,F  AD) CMR:A  E,F  DE Tính bao đóng a Bao đóng phụ thuộc hàm a Định nghĩa: Cho tập phụ thuộc hàm F tập thuộc tính U Bao đóng F, ký hiệu F+, tập nhỏ phụ thuộc hàm U thoả: F+ = {X  Y | F |== X  Y} b Định nghĩa khác cho bao đóng tập phụ thuộc hàm: F+ tập phụ thuộc suy diễn từ F nhờ hệ tiên đề Armstrong Tức phải thoả hai tính chất sau: F+  F Khi áp dụng tính chất F1, F2, F3 cho F+ ta khơng thu phụ thuộc hàm nằm ngồi F+ c Tính chất: (1): Tính phản xạ: F+  F (2): Tính đơn điệu: F  G  F+  G+ (3): Tính lũy đẳng: (F+)+ = F+ (4): (FG)+  F+G+ (5): (F+G)+ = (FG+)+ = (FG)+ Bao đóng tập thuộc tính a Định nghĩa: Cho tập phụ thuộc hàm F tập thuộc tính U X  U Bao đóng tập thuộc tính X (đối với F), ký hiệu X+, tập sau: X+ = {A | X  A  F+} b Định nghĩa khác cho bao đóng tập thuộc tính: X+ tập thuộc tính A cho X  A suy diễn từ F hệ tiên đề Armstrong c Tính chất: (1): Tính phản xạ: X+  X (2): Tính đơn điệu: X  Y  X+  Y+ (3): Tính lũy đẳng: (X+)+ = X+ (4): (XY)+  X+Y+ (5): (X+Y)+ = (XY+)+ = (XY)+ (6): X  Y  Y  X+ (7): X  Y  Y+  X+ (8): X  X+ X+  X (9): X+ = Y+  X  Y, Y  X phụ thuộc hàm tương đương - khái niệm Cho R={A1,A2….An} Cho lược đồ quan hệ R tập phụ thuộc hàm F G R ta nói: F phủ phụ thuộc hàm G G+  F+ F tương đương phụ thuộc hàm G G+ = F+ Để xác định phụ thuộc hàm Y  Z  G+ hay khơng ta sử dụng thuật tốn tính bao đóng tập thuộc tính để tính Y+ G kiểm tra xem Z  Y+ hay không Mệnh đề: F  G+  F+  G+ Mệnh đề: Mỗi tập phụ thuộc hàm F tương đương với tập phụ thuộc hàm G gồm phụ thuộc hàm mà vế phải có thuộc tính b Phủ tối tiêu: Để tối ưu việc thiết kế lược đồ CSDL quan hệ ta yêu cầu mạnh tập phụ thuộc hàm tương đương Định nghĩa: Tập phụ thuộc hàm F gọi phụ thuộc hàm tối thiểu thoả mãn điều kiện sau: (1): Vế phải phụ thuộc hàm F có thuộc tính (2): Mọi phụ thuộc hàm X  A  F quan trọng, tức tập phụ thuộc hàm có từ F loại bỏ phụ thuộc hàm X  A: F \ {X  A} không tương đương với F (3): Với phụ thuộc hàm X  A  F, thuộc tính B  X quan trọng, tức tập phụ thuộc hàm có từ F việc thay phụ thuộc hàm X  A phụ thuộc hàm (X \{B})  A: (F \ {X  A})  {X \ {B}  A} không tương đương với F Nhận xét: Điều kiện (2) đảm bảo khơng có phụ thuộc hàm dư thừa, điều kiện (3) đảm bảo khơng có thuộc tính vế trái dư thừa Thuật tốn tìm phủ tối thiểu: - Input: Tập phụ thuộc hàm F - Output: Tập phụ thuộc hàm tối thiểu G tương đương với F - Method: (1): Phân rã vế phải tất phụ thuộc hàm F gọi G tập tất phụ thuộc hàm thu (2): Loại phụ thuộc hàm dư thừa G: Không tồn X  A F mà tập F - {X  A} tương đương với F (3): Loại thuộc tính dư thừa vế trái phụ thuộc hàm G: Không tồn X  A F mà Z  X để cho: (F - {X  A})  {Z  A} tương đương với F Ví dụ: Cho lược đồ R = (A, B, C, D, E, G) tập phụ thuộc hàm F gồm phụ thuộc hàm sau: AB  C D  EG CA BE  C BC  D CG  BD ACD  B CE  AG Ta áp dụng thuật tốn tính phủ tối thiểu để tính phủ tối thiểu F (1): Phân rã vế phải phụ thuộc hàm F Tập G thu gồm phụ thuộc hàm: AB  C BE  C CA CG  B BC  D CG  D ACD  B CE  A DE DG CE  G 2.các loại dạng chuẩn gồm dạng: - 1NF: dạng chuẩn - 2NF : dạng chuẩn - 3NF: dạng chuẩn - BCNF: dạng chuẩn II Quy ước dạng chuẩn 1.dạng chuẩn 1NF *quy ước: giá trị thuộc tính mỗI phải đầy đủ *chú ý: hầu hết tất bảng dl dạng 1NF Ví dụ Hàng Hàng (mah,ngayban,slban) mah ngayban slban M1 10 m1 10 M2 20 m1 35 M3 100 25 M1 10 m3 12 M2 23 20 14 dạng 1NF ko phải dạng 1NF (thiếu thông tin) Dạng 2NF  Quy ước quan hệ dạng 2NF khi: - dạng 1NF -các thuộc tính khơng khố phải phụ thuộc hàm đầy đủ vào thuộc tính khố  Chuẩn hoá quan hệ dạng 1NF lại dạng phải chuẩn hố sau -tách thuộc tính phụ thuộc phần vào khố thuộc tính khố vào bảng - khố bảng tách thuộc tính khố Ví dụ: Cho quan hệ R={ABCD} F={AB  C,B  D} - Hỏi R dạng chuẩn NF hay chưa? - tách bảng chuyển 2NF trả lời: -Khoá: AB R chưa phải dạng 2( D phụ thuộc phần khoá) - tách R(ABCD) R1(ABC), F={AB  C} Khoá AB R2(BD),F={B  D} Khoá B kết luận: từ R tách quan hệ R1,R2 dạng NF 3.Dạng chuẩn 3NF *quy ước: quan hệ dạng 3NF khi: - dạng NF -không tồn thuộc tính khơng khố phụ thuộc hàm bắc cầu vào khố  phụ thuộc hàm bắc cầu: ` -chặt: A B,B C Thì A C C khơng thể xác định A - không chặt: A B,B C ,C A *chuẩn hoá thành dạng 3NF quan hệ dạng 2NF chưa dạng 3NF phải tách - tách thuộc tính phụ thuộc hàm bắc cầu thuộc tính xác định hàm thành bảng - khố bảng tách thuộc tính xác định hàm Ví dụ: cho R=(ABCD) F={AB  C,C  D) Tách R(ABCD) R1(CD);F={C  D}// Khoá C R2(ABC); F={AB  C} Khố AB Chú ý: phụ thuộc hồn tồn 1NF  2NF Phụ thuộc trực tiếp(khơng bắc cầu): 2NF  3NF BÀI TẬP Cho R=(ABCDEGH) F={B  AC,AB  DE,A  G,C  H} -hỏi R dạng nào? - chuyển NF - chuyển 3NF Bài làm R =(ABCDEGH) R1=(AG); F={A  G} khoá là: A R2=(CH);F={C  H} khoá :C R3=(ABCDE);F3=(B  AC,AB  DE} Tách R3 thấy B  AC B  A(luật tách) B  AB(luật tăng trưởng) AB  DE B  DE(bắc cầu) R31=(BAC),F={B  AC} Khoá là: B R32=(BDE) Cách kiểm tra việc tách hợp lệ R=R1 R2  ….Rn hỏi tách R hay không giả thiết: R={A1,A2,A3…AN}N: thuộc tính - giả sử R=R1 R2 ….Rn F={f1,f2…fn}  kiểm tra:   b1:lập bảng có: n cột tương đương n thuộc tính nhãn cột tên thuộc tính xác định m dịng(các quan hệ tách ra) đặt số: Stt cho cột dòng ghi giá trị aij: j số dòng i số cột quan hệ quan hệ có thuộc tính tách B2 cập nhật Từ F có X  Y X có giá trị giống Y cập nhật giá trị lặp lại nhiều lần dịng xuất tồn a q trình tách Ví dụ cho R(ABCD) F={AB C,B D,BC A} Tách thành:ABC,DC,DBA Hỏi phép tách có thơng tin hay khơng? Ví dụ 2: Cho R=(ABCDE) F={AB DE,E AD,D C} Tách thánh BDC,AE,ABD Phép tách có bảo tồn hay khơng? chuẩn BCNF(boyed godd) chuẩn mạnh hoàn toàn dựa vào định nghĩa phụ thuộc hàm, thự tế sử dụng BCNF nhiều 3NF  Quy định: thuộc tính khơng khố phải phụ thuộc hàm vào khố - khơng tồn trường hợp ngược lại: khố phụ thuộc hàm khơng khố  Khái niệm khoá theo quan điểm phụ thuộc hàm cho R={A1,A2,A3…AN} K R, K gọi khoá nếu: - k {A1,A2,A3…AN} - không tồn k’ k, k’ {A1,A2,A3…AN}  Ví dụ R={ABCD},F={AB C,C D} AB khố, AB {A,B,C,D} Chú ý:tập thuộc tính xác định hàm tất thuộc tính cịn lại -khố dự tuyển: giả sử R có K1,K2 khố, có tính chất khố gọi K1,K2 khố dự tuyển Ví dụ R={ABCD},F={AB C,BC D,D AB} Tìm K=? K1={AB} K2={BC} K3={D} gọi K1 ,K2 ,K3 khố dự tuyển Ví dụ 2:R={ABCD},F={AB CD,D B} dạng chuẩn 3NF , không dạng chuẩn BCNF khố AB CD khơng khố Quy tắc tách quan hệ khơng dạng chuẩn BCNF chuyển BCNF sau(trong quan hệ có thuộc tính khố phụ thuộc hàm vào khơng khố) -tách thuộc tính khơng khố thuộc tính khố thuộc phụ thuộc hàm vào khơng khố thành bảng - khố bảng tách thuộc tính khơng khố Ví dụ tách R1:={B,D} R2:={A,B,C} R2={A,C,D}   BÀI TẬP Bài 1: cho R=(A,B,C,D,E,G) F={AB CD,BC E,D GB} u cầu:- tìm khố -xác định dạng chuẩn R - tách R BCNF Bài 2:R=(A,B,C,D,E) F={AB ED,E A,A C} u cầu:- tìm khố -xác định dạng chuẩn R - tách R BCNF Cách kiểm tra R tách R1, R2 - cho R la tập thuộc tính,F tập phụ thuộc hàm - R tách R1,R2 F có phụ thuộc hàm có dạng R1   ... thuộc hàm G gồm phụ thuộc hàm mà vế phải có thuộc tính b Phủ tối tiêu: Để tối ưu việc thiết kế lược đồ CSDL quan hệ ta yêu cầu mạnh tập phụ thuộc hàm tương đương Định nghĩa: Tập phụ thuộc hàm... tách R1:={B,D} R2:={A,B,C} R2={A,C,D}   BÀI TẬP Bài 1: cho R=(A,B,C,D,E,G) F={AB CD,BC E,D GB} u cầu:- tìm khố -xác định dạng chuẩn R - tách R BCNF Bài 2:R=(A,B,C,D,E) F={AB ED,E A,A C}... 2NF Phụ thuộc trực tiếp(không bắc cầu): 2NF  3NF BÀI TẬP Cho R=(ABCDEGH) F={B  AC,AB  DE,A  G,C  H} -hỏi R dạng nào? - chuyển NF - chuyển 3NF Bài làm R =(ABCDEGH) R1=(AG); F={A  G} khoá là:

Ngày đăng: 03/12/2015, 00:54

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