Mục tiêu chính của Bài giảng Cơ sở dữ liệu Bài 4 Phụ thuộc hàm nghiên cứu hình thức các ràng buộc, xây dựng cấu trúc bảo đảm các ràng buộc tự động thoả, do đó không cần lập trình. Đánh giá một lược đồ cơ sở dữ liệu.
CƠ SỞ DỮ LIỆU Bài 4: PHỤ THUỘC HÀM 13/08/2012 1 HVĐ – THQL BÀI TOÁN THỰC TẾ • Nghiên cứu hình thức các ràng buộc – Xây dựng cấu trúc bảo đảm các ràng buộc tự động thoả, do đó không cần lập trình – Đánh giá một lược đồ cơ sở dữ liệu 13/08/2012 HVĐ – THQL 2 MỤC TIÊU • Kiến thức: – Phụ thuộc hàm – Dạng chuẩn – Kỹ thuật tableaux • Kỹ năng: – Tìm phủ tối tiểu – Xác định dạng chuẩn – Đánh giá lược đồ CSDL • Yêu cầu: áp dụng thực tế 13/08/2012 HVĐ – THQL 3 NỘI DUNG • Phụ thuộc hàm • Phủ tối tiểu • Dạng chuẩn • Kỹ thuật tableaux • Đánh giá lược đồ CSDL • Khảo sát tình huống 13/08/2012 HVĐ – THQL 4 PHỤ THUỘC HÀM • Phụ thuộc hàm – Khái niệm – Bài toán thành viên • Phủ tối tiểu • Dạng chuẩn • Kỹ thuật tableaux • Đánh giá lược đồ CSDL • Khảo sát tình huống 13/08/2012 HVĐ – THQL 5 QUAN HỆ HÀM • Hình bên có – Quan hệ thuần túy – Quan hệ đường • Không có quan hệ hàm • Quan hệ hàm từ X vào Y • Quan hệ hàm từ Y vào X • Hàm từ X vào Y: – Mỗi x có duy nhất y – Nếu chiếu xuống XY • Bảng: x xuất hiện một lần • Lược đồ: X là siêu khoá 13/08/2012 6 HVĐ – THQL X Y MaSV MaLop S01 S02 S03 S04 L1 L2 L2 L2 PHỤ THUỘC HÀM • Phụ thuộc hàm là một loại ràng buộc toàn vẹn • Phụ thuộc hàm là luật – PTH X Y ngụ ý: biết X sẽ xác định được Y – Quan hệ r thỏa X Y • Các dòng có X giống nhau thì Y cũng vậy • r[X,Y] có X siêu khoá – Luật nên lưu riêng để áp dụng, ví dụ • HDSo NLap • MaHG Dgia • HDSo,MaHG SoL 13/08/2012 7 HVĐ – THQL HDSo NLap MaHG DGia SoL H01 H01 H02 H02 12 12 14 14 H01 H02 H01 H03 12 5 12 20 5 2 4 3 HDSo NLap H01 H02 12 14 THẢO LUẬN • Tìm các phụ thuộc hàm • Tổ chức lại các bảng • Bài tập 1, 13a 13/08/2012 8 HVĐ – THQL MSV HT ML TL MM TM STC MGV TGV KH ĐT a Tèo 1 T x DSTT 5 p Minh T 6 a Tèo 1 T y LTHT 3 q Lan T 7 a Tèo 1 T z CSDL 3 p Minh T 9 b Nị 2 K x DSTT 5 q Lan T 5 b Nị 2 K y LTHT 3 q Lan T 7 b Nị 2 K z CSDL 3 p Minh T 8 c Bi 1 T x DSTT 5 p Minh T 6 c Bi 1 T y LTHT 3 q Lan T 4 c Bi 1 T z CSDL 3 p Minh T 8 QUY TẮC QUẢN LÝ • Cho cơ sở dữ liệu lưu các dữ liệu liên quan đến {Gviên, Sviên, Lớp , Môn, Khoa, Điểm, Tênsv} • Các quy tắc sau đây, cái nào là phụ thuộc hàm – Sinh viên thuộc về một lớp – Sinh viên thuộc về một khoa – Lớp thuộc về một khoa – Sinh viên học một môn phải có điểm – Sinh viên phải có tên – Mỗi lớp có không quá 30 sinh viên • Tổ chức lại các bảng 13/08/2012 9 HVĐ – THQL BÀI TOÁN THÀNH VIÊN • Ta nói f là hệ quả của F (hay được suy từ F) nếu một quan hệ r bất kỳ thoả F thì thoả f • Ký hiệu tập các phụ thuộc hàm hệ quả là F + và được gọi là bao đóng của F • Bài toán kiểm tra f F được gọi là bài toán thành viên 13/08/2012 HVĐ – THQL 10 [...]... 16 TÌM PHỦ TỐI TIỂU • Cơ sở: bài toán thành viên • Các bước – Phân rã – Rút gọn vế trái – Rút gọn phụ thuộc hàm 13/08/2012 HVĐ – THQL 17 A->C AB->C C->DI CD->I EC->AB EI->C VÍ DỤ A->C AB->C C->D C->I CD->I EC->A EC->B EI->C A+=ACDI B+=B C+=CDI D+=D E+=E I+=I • Dùng thuật toán: – Phân rã – Rút gọn VT – Rút gọn PTH A->C C->D C->I EC->A EC->B EI->C A+=A C EI+=EI A->C C->DI EC->AB EI->C • Dùng bộ luật dẫn... THẢO LUẬN { S -> D, I -> B, IS -> Q, B -> O } { A -> BC, B -> AC, C -> A } { AB -> C, C -> A, BC -> D, ACD -> B, D -> EG, BE -> C, CG -> BD, CE -> AG } • Dùng luật • Dùng thuật toán 13/08/2012 HVĐ – THQL 19 DƯ THỪA PHẢI R(KDHNMLG) F={ K -> D, H -> KDN, M -> G, HM -> L} 13/08/2012 • Tìm những thuộc tính xuất hiện ở vế phải nhiều lần (ví dụ D) • Chọn một PTH liên quan (ví dụ H->KDN) • Bỏ thuộc tính này,... dụ H->KDN dư thừa D) HVĐ – THQL 20 THỬ SỨC F= {A->C AB->C C->DI CD->I EC->AB EI->C} • Xét I và C->DI • Thử bỏ I, được C->D, tính C+ = CDI • Vậy C->DI dư thừa phải 13/08/2012 HVĐ – THQL 21 DƯ THỪA TRÁI R(KDHNMLG) F={ K -> D, H -> KN, M -> G, HNM -> L} 13/08/2012 • Chọn một PTH có hơn 1 thuộc tính ở vế trái (ví dụ HNM->L) • Bỏ 1 thuộc tính, tính bao đóng (ví dụ HM+ =HMLKNDG) • Kết luận (ví dụ HNM->L... • Kết luận (ví dụ HNM->L dư thừa N) HVĐ – THQL 22 THỬ SỨC F= {A->C AB->C C->DI CD->I EC->AB EI->C} • Xét CD -> I • Tính C+ = CDI, chứa D • Vậy CD -> I dư thừa trái 13/08/2012 HVĐ – THQL 23 DẠNG CHUẨN • Phụ thuộc hàm • Phủ tối tiểu • Dạng chuẩn – – – – Khái niệm Bài toán tìm tập khoá Bài toán xác định dạng chuẩn Bài toán tìm tập phụ thuộc hàm chiếu • Kỹ thuật tableaux • Đánh giá lược đồ CSDL • Khảo sát... THQL 12 THẢO LUẬN • Bài tập 2, 3, 4, 5 13/08/2012 HVĐ – THQL 13 PHỦ TỐI TIỂU • Phụ thuộc hàm • Phủ tối tiểu – Khái niệm – Thuật toán • • • • Dạng chuẩn Kỹ thuật tableaux Đánh giá lược đồ CSDL Khảo sát tình huống 13/08/2012 HVĐ – THQL 14 PHỦ TỐI TIỂU • Phụ thuộc hàm, như luật, đúng trong ngữ cảnh nhất định Với ngữ cảnh cho trước chúng ta có tập phụ thuộc hàm • Xác định phụ thuộc hàm để lưu riêng một... (loại), còn 2 ứng viên; – Thử BP (nhận, loại hết ứng viên) – Vậy tập khoá {BG, BL, BP} 13/08/2012 HVĐ – THQL 30 CÂY TÌM TẬP KHOÁ R=(SDIBQO) F={S -> D, I -> B, IS -> Q, B -> O } R=(STVCDP) F={S -> T, V -> SC, SD -> PV } R=(GLMPB) F={L -> P, LM -> G, BL -> M, BG -> L BP -> G } D+=D SV IS+=R • Gốc • Phát triển 13/08/2012 DS+=R B+=B GLMP DV+=R BG+=R HVĐ – THQL BL+=R BM+=BM BP+=R 31 THUẬT TOÁN TÌM TẬP KHOÁ • Tính:... KHÁI NIỆM • • • • Thuộc tính khoá và thuộc tính không khoá Chuẩn BC Chuẩn 3 và phụ thuộc bắc cầu Chuẩn 2 và phụ thuộc đầy đủ 13/08/2012 HVĐ – THQL 27 DẠNG CHUẨN 1 • Mọi giá trị của thuộc tính là nguyên tố, theo nghĩa các thành phần con phải dùng hàm mới truy xuất được, chẳng hạn với Date nếu muốn biết Day ta phải dùng hàm Day() • Lược đồ quan hệ ở chuẩn 1 nếu tập giá trị của các thuộc tính là nguyên... Với ngữ cảnh cho trước chúng ta có tập phụ thuộc hàm • Xác định phụ thuộc hàm để lưu riêng một cách tuỳ tiện có thể dẫn đến dư thừa • Tập phụ thuộc hàm không dư thừa được gọi là phủ tối tiểu – Vế phải gồm một thuộc tính – Vế trái không dư thừa – Không có phụ thuộc hàm dư thừa • Dư thừa được xác định nhờ hệ tiên đề Armstrong 13/08/2012 HVĐ – THQL 15 THẢO LUẬN • Các ký tự GSLMKNDHY là viết tắt của Gviên,... sung, Z = VT – X+ • Đỉnh là khóa nếu bao đóng bằng với R • Với mỗi đỉnh X không là khóa: – Xác định tập bổ sung (R’ – X+) – Phát triển cây với thuộc tính bổ sung mà không làm đỉnh mới có thuộc tính dư thừa 13/08/2012 HVĐ – THQL 32 THỬ SỨC F= {A->C C->DI EC->AB EI->C} • • • • Gốc là E, tập ứng viên bổ sung R’ = {ACI} Với E, phát triển 3 nhánh EA, EC, EI EA, EC và EI đều là khóa Vậy tập khóa là {EA, EC,... • • • • R = (PMLGN), F = {PM LG, P N} Có vi phạm P N Tập khóa {PM} gồm 1 khóa duy nhất Vi phạm P N có – Vế trái N là thuộc tính không khóa – Vế phải P nằm trong khóa • Vậy lược đồ đạt chuẩn 1 13/08/2012 HVĐ – THQL 35 THỬ SỨC F= {A->C C->DI EC->AB EI->C} 13/08/2012 • A -> C là 1 vi phạm, lược đồ không đạt chuẩn BC • Xác định tập khóa {EA, EC, EI} • C tham gia khóa, chưa thể kết luận thêm HVĐ . THQL A->C AB->C C->DI CD->I EC->AB EI->C A->C AB->C C->D C->I CD->I EC->A EC->B EI->C C A+=A EI+=EI A->C C->DI EC->AB EI->C. -& gt; B, IS -& gt; Q, B -& gt; O } { A -& gt; BC, B -& gt; AC, C -& gt; A } { AB -& gt; C, C -& gt; A, BC -& gt; D, ACD -& gt; B, D -& gt; EG, BE -& gt; C, CG -& gt; BD, CE -& gt; AG }. Cho cơ sở dữ liệu lưu các dữ liệu liên quan đến {Gviên, Sviên, Lớp , Môn, Khoa, Điểm, Tênsv} • Các quy tắc sau đây, cái nào là phụ thuộc hàm – Sinh viên thuộc về một lớp – Sinh viên thuộc