Bài giảng Lý thuyết cơ sở dữ liệu - Chương 4: Phụ thuộc hàm cung cấp cho học viên những kiến thức về định nghĩa phụ thuộc hàm; biểu diễn phụ thuộc hàm; hệ tiên đề Amstrong; bao đóng - closure; tập phụ thuộc hàm tương đương;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Trang 1CHƯƠNG IV:
PHỤ THUỘC HËM
Trang 2I Giới thiệu
dựng để mô tả các ràng buộc logic trong CSDL
- là công cụ để biểu diễn các ràng buộc logic giữa các thuộc tính của quan hệ
Trang 3*Định nghĩa PTH
¡Cho quan hệ R(U), trong đó U = {A1, A2,…An} là tập thuộc tính Cho X,Y là tập thuộc tính con thuộc U
¡Nói rằng X xác định hàm Y hay Y phụ thuộc hàm vào X, ký
hiệu X®Y, nếu với mọi quan hệ (bộ) r xác định trên R(U) và vớihai bộ t1 và t2 bất kỳ mà t 1 [X] = t 2 [X] thì t 1 [Y] = t 2 [Y]
¡Cách đọc khác: X xác định duy nhất Y (hay X kéo theo Y)
-X gọi là vế trái của PTH, Y là vế phải acủa PTH
¡ Ký hiệu: F:= { f : Lj → Rj | Lj, Rj ! Ω } là tập các
phụ thuộc hàm trên các thuộc tính Ω
Trang 4¡ Ví dụ:
HOADON (soHD, NgayLap, TongGiaTri)
CHITIET_HOADON (SoHD, MaHang, SoLuong, DonGia, ThanhTien)
- SoHD ® NgayLap
- SoHD ® TongGiaTri
- SoHD, MaHang ® SoLuong
- SoHD, MaHang ® DonGia
- SoHD, MaHang ® ThanhTien
Trang 5¡ Biểu diễn phụ thuộc hàm:
- Liệt kê các thuộc tính, dùng đường nối mũi tên từ các thuộc tính vế trái đến các thuộc tính vế phải của tất cả các phụ thuộc hàm
¡ Ví dụ:
MƯỢN( Sốthẻ, Mãsốsách, Tênngườimượn, Tênsách, Ngàymượn )
- Với các phụ thuộc hàm:
FD1: Sốthẻ ® Tênngườimượn FD2: Mãsốsách ® Tênsách FD3: Sốthẻ, Mãsốsách ® Ngàymượn
¡ Có sơ đồ phụ thuộc hàm như sau:
Sốthẻ Mã số
sách
Tên người mượn Tên sách Ngàymượn
FD1
FD2
Trang 6II Hệ ti•n đề Amstrong
hay các tính chất của phụ thuộc hàm,
gọi là hệ tiên đề Amstrong
biến đổi của PTH
Trang 7* Hệ ti•n đề Amstrong:
¡ Cho X, Y, Z, W Í U Ký hiệu: XY = XÈY Ta có các luật sau :
1 Luật phản xạ: Nếu Y Í X thì X® Y
VD: MaNV, HoTen, NgaySinh ® HoTen, NgaySinh
2 Luật bổ sung - gia tăng: Nếu X®Y thì XZ®YZ
VD: Nếu MaNV ® HoTen thì MaNV, NgaySinh ® HoTen, NgaySinh
3 Luật bắc cầu: Nếu X®Y và Y®Z thì X® Z
VD: Nếu có MaNV, Hoten ® MaP và MaP ® TenPhong,DiaChi
thì MaNV, Hoten ® TenPhong, DiaChi
4 Luật tựa bắc cầu: Nếu X®Y và WY®Z thì XW®Z
VD: MaNV ® HoTen và HoTen, NgaySinh ® HSL
thì MaNV, NgaySinh ® HSL
5 Luật hợp: Nếu X®Y và X®Z thì X®YZ
VD: MaSV ® HoTen, MaSV ® NgaySinh
thì MaSV ® HoTen, NgaySinh
6 Luật tách: Nếu X®Y và Z Í Y thì X®Z
VD: MaSV ® HoTen, NgaySinh
Trang 8¡ Ví dụ: Cho R = {ABC} và tập F = { AB ® C, C®A }.
Áp dụng hệ tiên đề Amstrong CMR: BC ® ABC
Trang 9¡ Ví dụ: Cho R = { A, B, C, E, F }
và F= { AB à C, C à B , ABC à E, F à A }.
Áp dụng hệ tiên đề Amstrong CMR: FB à E
Trang 10III Bao đ—ng - Closure
1 Các khái niệm cơ bản
¡ Gọi F là tập các pth trên tập thuộc tính U, X Í U
¡ Bao đóng của tập thuộc tính X: là tất cả các thuộc
tính A mà phụ thuộc hàm X ® A có thể được suy diễn logic từ F nhờ hệ tiên đề Amstrong Kí hiệu: X+
X+ = { AÎU | X ® A Î F+ }
¡ Bao đóng của phụ thuộc hàm: là tập tất cả các
PTH được suy diễn logic từ tập pth F
- F+ := {X→Y | X,Y !U và X→Y được suy dẫn logic từ F}
- Nếu F+ = F thì F là họ đầy đủ của các pth
Trang 112 Thuật to‡n t“m bao đ—ng của tập thuộc t’nh
¡ Closure of a set attributes
Thuật toán dừng kiểm tra nếu G = ᴓ
- Bước n: Tập Xi cuối cùng là kết quả
Xi
= Xi+1
= Xi+2
= X+
Trang 12¡ Ví dụ: U = (ABCDEGH) và
tập pth F = {A à D, AB à DE, CE àG, EàH }
- Tính bao đóng X+ với X = (AB)
Trang 15V’ d ụ:
¡ Cho Q+ = ABCDEG
F = {AB->C; D->EG; C->A; BE->C; BC->D;
CG->BD; ACD->B; CE->AG }Cho X = AD Tính bao đóng (AD)+
Trang 163 Bˆi to‡n thˆnh vi•n
¡ Dùng để xác định một phụ thuộc hàm bất kỳ nào đó có là thành viên của tập phụ thuộc hàm
F đã cho hay không ó phụ thuộc hàm được
suy dẫn từ F
¡ Thuật toán kiểm tra X ® Y là thành viên của F:
- Cách 1: Áp dụng các quy tắc biến đổi của
Hệ tiên đề Amstrong
- Cách 2: Tính X+ So sánh X+ với Y nếu Y Í X+thì khẳng định X ® Y là thành viên của tập phụ thuộc hàm F, ngược lại không phải là thành viên
Trang 18IV Tập phụ thuộc hˆm tương đương
¡ Hai tập pth F và G được gọi là tương đương
nếu:
- mọi pth của F đều có thể suy được từ G
- mọi pth của G đều có thể suy được từ F
có nghĩa là F+ = G+
¡ Khi đó ta nói F phủ G (và G phủ F).
¡ Kí hiệu: F º G
Trang 19Thuật to‡n
¡ Kiểm tra mọi PTH của F suy từ G: "X ®
ó Tính bao đóng của tất cả vế trái của F dựa
trên tập PTH của G và kết luận dựa vào vế phải
¡ Kiểm tra mọi PTH của G suy từ F: "X ®
ó Tính bao đóng của tất cả vế trái của G dựa trên tập PTH của F và kết luận dựa vào vế phải
Trang 21V Phụ thuộc hˆm dư thừa
thừa, khi và chỉ khi X→Y được suy dẫn
- Phụ thuộc hàm X →Y được gọi là dư thừa nếu nó được suy ra từ các PTH khác của tập F
Trang 22Thuật to‡n x‡c định tập phụ thuộc kh™ng dư thừa
¡ Cho Tập thuộc tính U và tập pth F
¡ Kiểm tra pth X → Y có dư thừa không?
¡ Bước 1: Tính G = F – { X → Y }
¡ Bước 2: Tìm X+ dựa trên tập pth G
- Nếu Y Î X+ thì khẳng định pth X → Y là dư thừa
- Nếu Y Ï X+ thì khẳng định pth X → Y là không
dư thừa
Trang 25Y•u cầu tr“nh bˆy b‡o c‡o
¡ Các nhóm lần lượt báo cáo theo thứ tự (Mang máy tính)
=> nhóm nào muộn bị trừ điểm tương ứng
¡ Làm slide báo cáo theo mẫu yêu cầu của Khoa
¡ Nội dung báo cáo:
- Phát biểu bài toán
- Xây dựng mô hình thực thể
- Xây dựng mô hình CSDL quan hệ
¡ Hoàn thiện song song trong file Google doc
- Trước: 12h – Thứ 2 – 18/2/2019
Trang 26VI Kh—a của quan hệ
1 Định nghĩa:
- Cho R(A1, …, An) là lược đồ quan hệ, gồm
Tập U = { A1, A2, , An }
Tập F= { f1, f2, ,fm }
-Tập K Í U là siêu khóa nếu K + = U hay K ® U
Tập K được gọi là siêu khoá nếu tập K suy ra tất cả các thuộc tính của lược đồ
-K Í U là khoá của R nếu thoả mãn hai điều kiện sau:
Trang 272 Thuật to‡n t“m một kh—a
- Bước 3: Lặp lại bước 2 đến khi không loại khỏi
thêm thuộc tính từ K được nữa
Trang 293 Thuật to‡n t“m tất cả c‡c kh—a
¡ Tập thuộc tính trung gian (TG)
- Các thuộc tính ở vế trái lẫn vế phải của pth.
Trang 30* Thuật to‡n t“m tất cả c‡c kh—a
- Nếu TN ! = U, kết luận chỉ có một khóa duy nhất là TN.
- Ngược lại qua bước 4
¡ Bước 4: tìm tất cả tập con Xi của tập trung gian (TG).
TG={A,B} => X1={}; X2={A}; X3={B}; X4={AB}
¡ Bước 5: tìm siêu khóa Si theo nguyên tắc
nếu (TN U Xi)+ = Q+ thì Si = TN U {Xi}
¡ Bước 6: tìm Khóa bằng cách loại bỏ các siêu khóa không tối thiểu
(loại bỏ các siêu khoá chứa/bao phủ các siêu khoá khác) ó xác
định các siêu khóa tối thiểu là khoá của lược đồ
Trang 33¡ Bài 3: Cho lđqh Q(ABCDEG) và
F = {AB ® C; D ® EG; C ® A; BE ® C;
BC ® D; CG ® BD; ACD ® B; CE ® AG }
- Xác định tất cả các khoá của Q
Trang 34VII Thuộc t’nh dư thừa
¡ Cho F = {Lj → Rj: Lj, Rj ! Ω}.
¡ Định nghĩa:
ü Cho phụ thuộc hàm thuộc F có dạng A1A2 → B (vế
trái của phụ thuộc hàm gồm nhiều thuộc tính)
ü Nói rằng thuộc tính A1 dư thừa vế trái khi và chỉ khi
G+ := F – {A1A2 → B} ∪ {A2 → B} ≅ F+.
§ Nói cách khác thuộc tính A 1 trong vế trái của phụ thuộc
A 1 A 2 → B là dư thừa, nếu thay A 1 A 2 → B bằng A 2 → B thì bao đóng F + không thay đổi.
Trang 35Thu ật to‡n loại bỏ thuộc t’nh dư thừa
¡ XŽt phụ thuộc c— dạng A1A2 ! B ∈ G (kiểm tra c‡c PTH
c— vế tr‡i c— nhiều thuộc t’nh)
¡ Giả sử A1 lˆ thuộc t’nh dự thừa, Loại bỏ tạm thời thuộc t’nh A1 trong A1 A2 ! B
T’nh: (A2)+ dựa tr•n F
Kiểm tra:
* Nếu B ⊆ (A2)+ th“ A1 lˆ thuộc t’nh dư thừa.
* Ngược lại, A1 kh™ng dư thừa
Trang 37¡ Ví dụ: Cho
dư thừa hay không?
Trang 38VII Tập PTH tối thiểu
¡ Định nghĩa: tập pth F được gọi là tập phụ thuộc hàm tối thiểu nếu:
- Không có thuộc tính ở vế trái dư thừa
- Không có thuộc tính ở vế phải dư thừa
Mọi vế phải của các pth trong F chỉ có 1 thuộc tính
- Không có phụ thuộc hàm F dư thừa
Trang 39*Thuật to‡n t“m PTH tối thiểu
- Bước 1: Loại khỏi F các PTH có thuộc tính vế
trái dư thừa
- Bước 2: Đưa tất cả các PTH trong F về dạng
PTH vế phải chỉ có 1 thuộc tính
- Bước 3: Loại khỏi F các PTH dư thừa
Trang 41¡ Ví dụ:
- Cho tập U={A,B,C,D,E} và
F = { A ®C, BD ®E, B ®D, B ®E, C ®AD }
- Tìm tập PTH tối thiểu của F
Trang 42KIỂM TRA Ð 6/3/2021
(ABCDEGH) và tập phụ thuộc hàm F
¡ Yêu cầu:
¡ Làm ra file word và nộp bài lên hệ thống LMS (trước11H15)
¡ Trong file gồm: họ tên đầy đủ
¡ Yêu cầu đặt tên file: CSDL-ST7-MSV-Họ tên.docx