Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1,77 MB
Nội dung
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 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 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ệ 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) 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? 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} 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} 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 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) 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 Dạng chuẩn (2NF) 37 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ịn 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 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 khơng phải phụ thuộc hàm đầy đủ có B → D Vậy R đạt dạng chuẩn (1NF) 39 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 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 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 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 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 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 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 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 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 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 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 Để 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 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 tố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 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 Kết luận chuẩn Q ...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 Phụ thuộc hàm (PTH) PTH... - 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. .. 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