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

Bài giảng Chương 4: Lý thuyết thiết kế cơ sở dữ liệu

34 54 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

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 190 KB

Nội dung

Bài giảng cung cấp cho người học các kiến thức: Lý thuyết thiết kế cơ sở dữ liệu, khái niệm phụ thuộc hàm, tính bao đóng, bao đóng của tập thuộc tính, phụ thuộc hàm tương đương,... Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. Mời các bạn cùng tham khảo chi tiết nội dung bài giảng.

Chương 4: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 ⊆U Hệ tiên đề Armstrong bao thuộc tính X, Y, Z, W ⊆ → 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)+ b 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  BCE  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ệ ∪ ….Rn R=R1∪ R2 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: khoá phụ thuộc hàm khơng khố • Khái niệm khố 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 khoá 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} Yê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} Yê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 ∩ ... 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} Yê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}... lấy RR1=thuộc tính x // khố phả chứa x L giao R1=y b3:tính bao đóng x+: x+=R kết luận x khoá x≠+ R chuyển sang bước b4: ghép x với phần tử y Sau thực hiên bước Ví dụ: Cho lược đồ R = (A, B, C,... a.kiểm tra M  Q? b.tính bao đóng P c Tìm khố Ví dụ 4: cho R=(ABCDEG) F={AB  C,AC  DE,C  BG,D  EG} a.kiểm tra AB  E b.tính bao đóng AC c.tìm khố Chương v: dạng chuẩn quan hệ I • Giới thiệu dạng

Ngày đăng: 11/05/2021, 01:24

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w