Bài giảng môn Cơ sở dữ liệu: Chương 6 - ThS. Thái Bảo Trân

50 102 0
Bài giảng môn Cơ sở dữ liệu: Chương 6 - ThS. Thái Bảo Trân

Đ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 môn Cơ sở dữ liệu - Chương 6: Phụ thuộc hàm và các 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. Mời các bạn cùng tham khảo nội dung chi tiết.

Chương 6: Phụ thuộc hàm dạng chuẩn Thời lượng: tiết Giảng viên: ThS Thái Bảo Trân CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm (PTH)  PTH (Functional dependencies) loại RBTV quan trọng để phát thiết kế CSDL tốt  Có thể biểu diễn RBTV PTH  PTH biểu diễn mối liên hệ thuộc tính quan hệ CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm  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) CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm 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 Toán SXTK 0166397547 MạngMT Lan 10 Tính HQTCSDL 012145475 CNPM Trân Tính LậpTrình 012145475 CNPM Việt Hồng LậpTrình 0913154521 HTTT Việt 10 Tên SốĐT ChuyênNgành? Tên Mônhọc Điểm? Mônhọc GiảngViên? CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm Một số tính chất sau: Với Tên có SốĐT ChuyênNgành Với Tên, Mơnhọc có Điểm Với Mơnhọc có GiảngViên Ký hiệu: {Tên} → {SốĐT, ChuyênNgành} {Tên, Mônhọc} → {Điểm} {Mônhọc} → {GiảngViên} CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm Tên Mônhọc SốĐT ChuyênNgà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} CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ luật dẫn Amstrong 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ luật dẫn Amstrong 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 2) A → C 3) A → BC (tính kết hợp F4) 4) BC → D 5) A → D (tính bắc cầu F3) CuuDuongThanCong.com https://fb.com/tailieudientucntt Bao đóng  Bao đóng tập phụ thuộc hàm Bao đóng tập phụ thuộc hàm F, ký hiệu F+ tập tất phụ thuộc hàm suy từ F Nếu F = F+ F họ đầy đủ phụ thuộc hàm  Thuật tốn tìm bao đóng tập thuộc tính Bao đóng tập thuộc tính X tập phụ thuộc hàm F, ký hiệu X+F tập tất thuộc tính Y suy dẫn từ X nhờ tập bao đóng phụ thuộc hàm F+ X+F = { Y ∈ Q+ | X → Y ∈ F+ } 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (2NF) 37 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (2NF) Ví dụ: Cho Q1 (A, B, C, D), F={A→B, B→DC} Lược đồ có khóa A, nên thuộc tính phụ thuộc đầy đủ vào khóa Do Q1 đạt dạng chuẩn Ví dụ: Cho Q2 (A, B, C, D), F={AB → D, C → D} Lược đồ có khóa ABC, ngồi có C⊂ABC mà C → D, D thuộc tính khơng khóa (nghĩa thuộc tính D khơng phụ thuộc đầy đủ vào khóa) Do Q2 không đạt dạng chuẩn 38 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (2NF) Ví dụ: Cho lược đồ quan hệ R(ABCD) tập phụ thuộc hàm F={AB→CD, B→D,C→A} Xác định dạng chuẩn lược đồ Giải:  Khóa {AB} {BC}  Thuộc tính khơng khóa D  Nhưng A,B →D phụ thuộc hàm đầy đủ có B → D  Vậy R đạt dạng chuẩn (1NF) 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (2NF) Ví dụ  Xác định dạng chuẩn lược đồ sau: R(GMVNHP) tập phụ thuộc hàm F ={G→ N, G→H, G→P, M→V, NHP→M} Giải:  Khóa R {G}  Thuộc tính khơng khóa : MVNHP  Do phụ thuộc hàm G→ N, G→H, G→P, M→V, nên lượt đồ R đạt dạng chuẩn 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (2NF) Ví dụ  Cho lược đồ R(ABCD), phụ thuộc hàm F={AB→C; BC→D; C→A}, xác định dạng chuẩn lược đồ Giải:  Khóa quan hệ AB,BC Thuộc tính khơng khóa D  Vì B→D, nên D khơng thỏa điều kiện dạng chuẩn  Vậy R đạt dạng chuẩn (1NF) 41 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (3NF)  Lược đồ Q dạng chuẩn phụ thuộc hàm X → A ∈ F+, với A ∉ X có: (1) X siêu khóa, (2) A thuộc tính khóa Hay thuộc tính khơng khóa Q khơng phụ thuộc bắc cầu vào khóa Q  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 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (3NF) Ví dụ: Cho Q (A, B, C, D), F={AB → D, C → D} Bước 1: Q có khóa ABC Bước 2: Mọi phụ thuộc hàm F có vế phải thuộc tính Bước 3: Với AB → D, nhận thấy D ∉ AB có • Vế trái (AB) khơng phải siêu khóa • Hơn vế phải (D) khơng thuộc tính khóa Vậy Q không đạt dạng chuẩn 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (3NF) Ví dụ: Cho lược đồ quan hệ sau: R(ABC) Và tập phụ thuộc hàm: F={A→B, A→C, B→C} Xác định dạng chuẩn cho lược đồ Giải:  Khóa {A}  Thuộc tính khơng khóa {BC}  PTH bắc cầu: A→B, B→C  Thuộc tính khơng khóa C phụ thuộc bắc cầu vào thuộc tính khóa, quan R không đạt dạng chuẩn 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn (3NF) Ví dụ Cho lược đồ quan hệ sau: R(ABCD) Và tập phụ thuộc hàm: F={AB→C, D→B, C→ABD} Xác định dạng chuẩn cho lược đồ Giải:  Khóa {AB} {C}  Thuộc tính khơng khóa {D}  Các phụ thuộc hàm AB→C, D→B, C→ABD không vi phạm quy tắc dạng chuẩn  Nên R đạt dạng chuẩn 45 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 Nhắc lại: Siêu khóa : tập thuộc tính Q+ mà giá trị chúng phân biệt khác thể TQ Nghĩa là:  t1, t2  TQ, t1[K] t2[K] K siêu khóa Q 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 BCNF, ngược lại Q không đạt dạng chuẩn BCNF 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dạng chuẩn Boyce Codd (BCNF) Ví dụ: • Xét lược đồ quan hệ R(ABCD) tập phụ thuộc hàm: F={AB→C, C→ABD} Giải: • Thuộc tính khóa {A,B}, {C} • Các thuộc tính X có bao đóng khác R (khơng phải khóa): {A}, {B}, {D}, {AD}, {BD} • Trong phụ thuộc hàm khơng có phụ thuộc hàm vi phạm • Vậy quan hệ thuộc dạng chuẩn BCNF 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt REVIEW Ta có dạng chuẩn hóa liệu sau :  1NF (first normal form - dạng chuẩn 1): khơng chứa thuộc tính đa trị, hay ô bảng không chứa nhiều giá trị 2NF (second normal form - dạng chuẩn 2): dạng chuẩn thuộc tính khơng phải khóa phải phụ thuộc đầy đủ vào khóa 3NF (third normal form - dạng chuẩn 3): dạng chuẩn khơng có phụ thuộc hàm bắc cầu  Boyce-codd (BCNF): dạng chuẩn phụ thuộc hàm có vế trái siêu khóa Thông thường, sở liệu quan hệ người ta cần xét yêu cầu chuẩn hóa đến dạng chuẩn CuuDuongThanCong.com https://fb.com/tailieudientucntt Để chuẩn hóa mơ hình quan hệ ta thực theo bước sau: QUAN HỆ KHƠNG CHUẨN - Loại bỏ thuộc tính tổng hợp (thuộc tính có giá trị kết tính tốn từ giá trị khác ) Xác định khóa Chuyển thuộc tính lặp lại thành thuộc tính quan hệ riêng QUAN HỆ DẠNG CHUẨN - Chỉ thực khóa gồm nhiều thuộc tính Thuộc tính khơng khóa phải phụ thuộc hàm đầy đủ khóa Chuyển thuộc tính phụ thuộc vào khóa thành thuộc tính quan hệ riêng QUAN HỆ DẠNG CHUẨN - Chuyển thuộc tính khơng khóa phụ thuộc bắc cầu vào khóa thành thuộc tính quan hệ QUAN HỆ DẠNG CHUẨN CuuDuongThanCong.com https://fb.com/tailieudientucntt Thuật toán kiểm tra dạng chuẩn lược đồ quan hệ Vì lớp dạng chuẩn lược đồ quan hệ có quan hệ lồng ( lớp trước nằm trọn lớp sau ) nên ta có thuật tốn kiểm tra dạng chuẩn Q sau : Bước 1: Tìm tất khóa Q Bước 2: Kiểm tra xem có đạt chuẩn BC khơng Nếu kết thúc thuật toán, Ngược lại chuyển sang bước Bước 3: Kiểm tra xem có đạt chuẩn ko? Nếu kết thúc thuật toán Ngược lại, chuyển sang bước Kết luận chuẩn Q Bước 4: Kiểm tra xem có đạt chuẩn khơng Nếu kết thúc thuật toán, Ngược lại đạt chuẩn CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Toán SXTK 0 166 397547 MạngMT Lan 10 Tính HQTCSDL 012145475 CNPM Trân Tính LậpTrình 012145475 CNPM Việt Hồng LậpTrình 0913154521 HTTT Việt 10 Tên SốĐT ChuyênNgành? Tên Mônhọc Điểm? Mônhọc GiảngViên?... có GiảngViên Ký hiệu: {Tên} → {SốĐT, ChuyênNgành} {Tên, Mônhọc} → {Điểm} {Mônhọc} → {GiảngViên} CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm Tên Mônhọc SốĐT ChuyênNgành GiảngViên... sinh viên sau: SINHVIEN(Tên, Mônhọc, SốĐT, ChuyênNgành, GiảngViên, Điểm) CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ thuộc hàm Tên Mônhọc SốĐT ChuyênNgành GiảngViên Điểm Huy CSDL 0913157875

Ngày đăng: 11/01/2020, 17:52

Từ khóa liên quan

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

Tài liệu liên quan