1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cơ sở dữ liệu: Bài 9 - Cao Kim Tuyến

53 3 0

Đ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

Nội dung

Bài giảng Cơ sở dữ liệu - Bài 9: Phụ thuộc hàm và dạng chuẩn cung cấp cho người học các kiến thức: Hệ luật dẫn Amstrong, bao đóng, khóa, thuật toán tìm khóa; các dạng chuẩn. Đây là một tài liệu hữu ích dành cho các bạn sinh viên và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.

Bài 9: Phụ thuộc hàm dạng chuẩn Khoa HTTT - Đại học CNTT Nội dung  Phụ thuộc hàm     Hệ luật dẫn Amstrong Bao đóng Khóa Thuật tốn tìm khóa  Các dạng chuẩn     Dạng chuẩn Dạng chuẩn Dạng chuẩn Dạng chuẩn Boyce Codd Khoa HTTT - Đại học CNTT Phụ thuộc hàm (1) X,Y hai tập thuộc tính quan hệ R r1, r2 R Ta nói X xác định Y, ký hiệu X → Y, r1[X] = r2[X] r1[Y] = r2[Y] X → Y phụ thuộc hàm, hay Y phụ thuộc X X vế trái phụ thuộc hàm, Y vế phải phụ thuộc hàm Ví dụ: cho quan hệ sinh viên sau: SINHVIEN(Tên, Mônhọc, SốĐT, ChuyênNgành, GiảngViên, Điểm) Khoa HTTT - Đại học CNTT Phụ thuộc hàm (2) Tên Mônhọc SốĐT ChuyênNgành GiảngViên Điểm Huy CSDL 0913157875 HTTT Hưng Hoàng CSDL 0913154521 HTTT Hưng 10 Huy AV 0913157875 HTTT Thủy Hải 0166397547 MạngMT Lan 10 Tính Tốn SXTK HQTCSDL 012145475 CNPM Sang Tính LậpTrình 012145475 CNPM Việt Hồng LậpTrình 0913154521 HTTT Việt 10 Tên SốĐT ChunNgành? Tên Mơnhọc Điểm? Mônhọc GiảngViên? Khoa HTTT - Đại học CNTT Phụ thuộc hàm (3) Một số tính chất sau: Với Tên có SốĐT ChuyênNgành Với Mơnhọc có GiảngViên Với Tên, Mơnhọc có Điểm Ký hiêu: {Tên} → {SốĐT, ChuyênNgành} {Mônhọc} → {GiảngViên} {Tên, Mônhọc} → {Điểm} Khoa HTTT - Đại học CNTT Phụ thuộc hàm (4) Tên Mônhọc SốĐT Các phụ thuộc hàm: {Tên} {Mônhoc} {Tên, Mônhoc} → → → ChuyênNgành GiảngViên Điểm {SốĐT, Chuyên ngành} {GiảngViên} {Điểm} Các phụ thuộc hàm kéo theo: {Tên} → {ChuyênNgành} {Mônhọc, Điểm} → {GiảngViên, Điểm} …… Khoa HTTT - Đại học CNTT Hệ luật dẫn Amstrong (1) Gọi F tập phụ thuộc hàm Định nghĩa: X → Y suy từ F, hay F suy X → Y, ký hiệu: F ╞ X → Y quan hệ thỏa F thỏa X → Y Hệ luật dẫn Amstrong: Với X, Y, Z, W ⊆ U Phụ thuộc hàm có tính chất sau: F1) Tính phản xạ: Nếu Y ⊆ X X → Y F2) Tính tăng trưởng: {X → Y} XZ → YZ F3) Tính bắc cầu: {X → Y, Y → Z} X → Z Khoa HTTT - Đại học CNTT Hệ luật dẫn Amstrong (2) Từ hệ luật dẫn Amstrong ta suy số tính chất sau: F4) Tính kết hợp: {X → Y, X → Z} X → YZ F5) Tính phân rã: {X → YZ} {X → Y, X → Z} F6) Tính tựa bắt cầu: {X → Y, YZ → W} XZ → W Ví dụ: F = {A → B, A → C, BC → D}, chứng minh A → D? 1)A → B (giả thiết) 2)A → C (giả thiết) 3)A → BC (tính kết hợp 1,2) 4)BC → D (giả thiết) 5)A → D (tính bắc cầuKhoa 3,4) HTTT - Đại học CNTT Hệ luật dẫn Amstrong (3)  Bài tập:  Bài 1: Cho F = {A → B, BC → D } Chứng minh: AC → BCD  Bài 2: Cho F = {A → BC, AC → D } Chứng minh : AC → BCD Khoa HTTT - Đại học CNTT Hệ luật dẫn Amstrong (4)  Bài 3: Cho F={AB-> C,B-> D,CD->E,CE->GH,G->A} Chứng minh :AB->G?  Bài 4: Cho F = {AB→C, B→D, CD→E, CE→GH, G→A }  Chứng minh : AB→E? Khoa HTTT - Đại học CNTT 10 Các dạng chuẩn (10) Dạng chuẩn (3NF) Không đạt dạng chuẩn TenNV MaNV NgSinh Diachi MaPh TenPh TrPhong PTH bắc cầu Đạt dạng chuẩn TenNV MaPh MaNV TenPh NgSinh Diachi MaPh TrPhong Khoa HTTT - Đại học CNTT 39 Các dạng chuẩn (11) Dạng chuẩn (3NF)  Kiểm tra dạng chuẩn  Bước 1: Tìm khóa Q  Bước 2: Phân rã vế phải phụ thuộc hàm F để tập F trở thành tập phụ thuộc hàm có vế phải thuộc tính  Bước 3: Nếu phụ thuộc hàm X → A ∈ F, mà A ∉ X thỏa :   (1) X siêu khóa (vế trái chứa khóa), (2) A thuộc tính khóa (vế phải tập khóa) Q đạt dạng chuẩn 3, ngược lại Q không đạt dạng chuẩn Khoa HTTT - Đại học CNTT 40 Các dạng chuẩn (12) Dạng chuẩn (3NF)  Ví dụ:  Cho Q3(A, B, C, D), F={AB→C, C→D}  Khóa AB Q3 đạt dạng chuẩn hay dạng chuẩn2? Giải:  Xét dạng chuẩn 3:  D thuộc tính khơng khóa phụ thuộc bắc cầu vào khóa -> Khơng đạt dạng chuẩn  (Hoặc: C->D mà C khơng siêu khóa D thuộc tính khơng khóa Q3 khơng đạt dạng chuẩn 3)  Xét dạng chuẩn :  A+ F = A, B+ F = B (Không chứa C, D) Do C, D thuộc tính khơng khóa PTH đầy đủ vào khóa ->đạt DC2 Khoa HTTT - Đại học CNTT 41 Các dạng chuẩn (13) Dạng chuẩn (3NF)  Ví dụ: R3(A, B, C), F3={AB→C, C→B}  R3 có đạt dạng chuẩn khơng? Giải:  Khóa AB,AC (giải thích?)  Tất thuộc tính thuộc tính Khóa Kết luận: đạt dạng chuẩn  Khoa HTTT - Đại học CNTT 42 Các dạng chuẩn (14) Dạng chuẩn (3NF)  Cho:  Q(A,B,C,D)  R= (AB->CD, C->B) Khóa AB Q có đạt dạng chuẩn khơng?   Giải • •  •  • Phân rã AB->CD thành AB->C, AB->D Xét phụ thuộc hàm: AB->C, AB->D AB khóa Xét phụ thuộc hàm: C->B B thuộc tính khóa Vậy Q đạt dạng chuẩn Khoa HTTT - Đại học CNTT 43 Các dạng chuẩn (15) Dạng chuẩn Boyce Codd (BCNF)  Lược đồ Q dạng chuẩn BC phụ thuộc hàm X → A ∈ F+, với A ∉ X có X siêu khóa Khoa HTTT - Đại học CNTT 44 Các dạng chuẩn (16) Dạng chuẩn Boyce Codd (BCNF)  Kiểm tra dạng chuẩn BCNF    Bước 1: Tìm khóa Q Bước 2: Phân rã vế phải phụ thuộc hàm F để tập F trở thành tập phụ thuộc hàm có vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X → A ∈ F, mà A ∉ X thỏa X siêu khóa (vế trái chứa khóa), Q đạt dạng chuẩn BC, ngược lại Q không đạt dạng chuẩn BC Khoa HTTT - Đại học CNTT 45 Các dạng chuẩn (17) Dạng chuẩn Boyce Codd (BCNF)  Ví dụ: Cho Q (A, B, C, D, E, I), F={ACD → EBI, CE → AD}  Q có đạt dạng chuẩn BCNF không?  Giải:    Bước 1: Q có hai khóa {ACD, CE} Bước 2: Phân rã vế phải phụ thuộc hàm F, ta có: F={ACD → E, ACD → B, ACD → I, CE → A, CE → D} Bước 3: Mọi phụ thuộc hàm F có vế trái siêu khóa Vậy Q đạt dạng chuẩn BC Khoa HTTT - Đại học CNTT 46 Kiểm tra dạng chuẩn cao  Kiểm tra dạng chuẩn cao lược đồ quan hệ Q     Bước 1: Tìm khóa Q Bước 2: Kiểm tra dạng chuẩn BC, Q đạt dạng chuẩn BC, ngược lại qua bước Bước 3: Kiểm tra dạng chuẩn 3, Q đạt dạng chuẩn 3, ngược lại qua bước Bước 4: Kiểm tra dạng chuẩn 2, Q đạt dạng chuẩn 2, ngược lại Q đạt dạng chuẩn Khoa HTTT - Đại học CNTT 47 Bài tập • • Cho lược đồ quan hệ R(A, B, C, D, E, G, H) tập phụ thuộc hàm F={ f1: B → A , f2: DA → CE, f3: D → H, f4: GH → C, f5: AC → D}  Cho biết AC → E có thuộc F + khơng (Hoặc AC → E có suy từ F không)? Khoa HTTT - Đại học CNTT 48 Bài tập (giải)  Tìm bao đóng AC +F  Bước 1: X =AC  Bước 2:    Lặp lại bước 2:       f1 đến f4 không thỏa Xét f5: AC->D: AC  X =>X1 =X ∪D = ACD Loại f5 f1 không thỏa Xét f2: DA->CE: DA  X1 =>X2 =X1 ∪CE = ACDE Xét f3: D->H: D  X2 =>X2 =X2 ∪H = ACDEH f4 không thỏa Lặp lại bước 2: f1, f4 không thỏa, X3 = X2 = ACDEH Vì AC +F = ACDEH  E => AC → E thuộc F + (hay AC → E suy từ F) Khoa HTTT - Đại học CNTT 49 Bài tập (Cách khác)  Tập phụ thuộc hàm:  F={ f1: B → A , f2: DA → CE, f3: D → H, f4: GH → C, f5: AC → D}  Giải:       AC → D (giả thiết) (1) Từ (1): AC → AD (luật tăng trưởng) (2) DA → CE (giả thiết) (3) Từ (2), (3): AC → CE (luật bắc cầu) (4) Từ (4): AC → E (luật phân rã) AC → E thuộc F + (hay AC → E suy từ F) Khoa HTTT - Đại học CNTT 50 Bài tập  Cho R(Q), Q+={A, B, C, D, E, G}  F={AE->G, AC->E, BD->G, E->C}  Tìm dạng chuẩn cao lược đồ Giải  Bước 1: Tìm tất khóa   N = {ABD}, N +F = ABDG ≠ Q + TG = {CE}, tập tập trung gian CTG = {∅, C,E, CE} Khoa HTTT - Đại học CNTT 51 N Xi N ∪ Xi (N ∪ Xi) +F (N ∪ Xi) +F= Q+? ABD ∅ ABD ABDG SAI ABD C ABDC ABDCEG ĐÚNG ABD E ABDE ABDECG ĐÚNG ABD CE ABDCE ABDCEG ĐÚNG   Như tập siêu khoá S = {ABDC, ABDE, ABDCE} Nhận thấy ABDE ⊂ ABDCE nên loại siêu khóa ABDCE Tập khóa cịn lại S = {ABDC, ABDE} Khoa HTTT - Đại học CNTT 52  Bước 2: Kiểm tra dạng chuẩn BC  Phân rã vế phải phụ thuộc hàm F, ta có F={AE->G, AC->E, BD->G, E->C} Ta xét AE->G có vế trái khơng siêu khóa, khơng đạt dạng chuẩn BC • Bước 3: Kiểm tra dạng chuẩn   •  • Xét AE->G, có G thuộc tính khơng khóa AE khơng siêu khóa Vậy khơng đạt dạng chuẩn Bước 4: Kiểm tra dạng chuẩn Xét (AE) +F  G (G thuộc tính khơng khóa phụ thuộc riêng phần vào khóa ABDE) Khơng đạt dạng chuẩn Vậy lược đồ đạt dạng chuẩn Khoa HTTT - Đại học CNTT 53 ... luật dẫn Amstrong (4)  Bài 3: Cho F={AB-> C,B-> D,CD->E,CE->GH,G->A} Chứng minh :AB->G?  Bài 4: Cho F = {AB→C, B→D, CD→E, CE→GH, G→A }  Chứng minh : AB→E? Khoa HTTT - Đại học CNTT 10 Bao đóng... thuộc F + (hay AC → E suy từ F) Khoa HTTT - Đại học CNTT 50 Bài tập  Cho R(Q), Q+={A, B, C, D, E, G}  F={AE->G, AC->E, BD->G, E->C}  Tìm dạng chuẩn cao lược đồ Giải  Bước 1: Tìm tất khóa ... HTTT - Đại học CNTT 42 Các dạng chuẩn (14) Dạng chuẩn (3NF)  Cho:  Q(A,B,C,D)  R= (AB->CD, C->B) Khóa AB Q có đạt dạng chuẩn khơng?   Giải • •  •  • Phân rã AB->CD thành AB->C, AB->D Xét

Ngày đăng: 11/05/2021, 00:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN

w