



















Preview text:
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA HỆ THỐNG THÔNG TIN
MÔN CƠ SỞ DỮ LIỆU - IT004 CHƯƠNG 6: PHỤ THUỘC HÀM VÀ DẠNG CHUẨN ThS. TẠ VIỆT PHƯƠNG phuongtv@uit.edu.vn 1 Nội dung
1. Các vấn đề gặp phải khi tổ chức CSDL 2. Phụ thuộc hàm 3. Dạng chuẩn 4. Kết luận 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 2 2 1
1. Các vấn đề gặp phải khi tổ chức CSDL
Trước khi bàn về dạng chuẩn của một cơ sở dữ liệu, chúng ta
hãy phân tích xem tại sao trong một lược đồ quan hệ lại tồn tại
những vấn đề rắc rối. Chẳng hạn cho lược đồ quan hệ
Thi (masv, mamh, hoten, tenmonhoc, diem)
Một khóa chính: (masv, mamh) MASV MAMH HOTEN TENMONHOC DIEM SV01 CSDL Kim Trí Tú Cơ sở dữ liệu 7 SV01 HDT Kim Trí Tú Hướng đối tượng 2 SV01 XSTK Kim Trí Tú Xác suất thống kê 7 SV02 CTRR Kim Trân Ni Cấu trúc rời rạc 9 SV02 XSTK Kim Trân Ni Xác suất thống kê 5 SV03 CSDL Kim Thái Hanh Cơ sở dữ liệu 5 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 3 3
1. Các vấn đề gặp phải khi tổ chức CSDL
Bất thường khi sửa dữ liệu (update anomaly): do hậu quả của
dư thừa dữ liệu, mỗi khi cập nhật tên của một sinh viên trong một
bộ nào đó nhưng vẫn còn tên cũ trong những bộ khác. Vì vậy
trong CSDL sẽ xuất hiện một sinh viên sẽ có nhiều tên MASV MAMH HOTEN TENMONHOC DIEM SV01 CSDL Kim Trí Tú Cơ sở dữ liệu 7 SV01 HDT Phác Thái Anh Hướng đối tượng 2 SV01 XSTK Kim Trí Tú Xác suất thống kê 7 SV02 CTRR Kim Trân Ni Cấu trúc rời rạc 9 SV02 XSTK Kim Trân Ni Xác suất thống kê 5 SV03 CSDL Kim Thái Hanh Cơ sở dữ liệu 5 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 4 4 2
1. Các vấn đề gặp phải khi tổ chức CSDL
Bất thường khi thêm dữ liệu (insertion anomaly): Một sinh viên
mới mà chưa dự thi môn học nào thì thông tin về sinh viên này
không thể thêm vào quan hệ THI, vì khi thêm vào thì mamh phải
có giá trị null, mà mamh là thuộc tính khóa nên không thể mang giá trị null được MASV MAMH HOTEN TENMONHOC DIEM SV01 CSDL Kim Trí Tú Cơ sở dữ liệu 7 SV01 HDT Kim Trí Tú Hướng đối tượng 2 SV01 XSTK Kim Trí Tú Xác suất thống kê 7 SV02 CTRR Kim Trân Ni Cấu trúc rời rạc 9 SV02 XSTK Kim Trân Ni Xác suất thống kê 5 SV03 CSDL Kim Thái Hanh Cơ sở dữ liệu 5 SV4 Null Lạp Lệ Sa Mã Nặc Null Null Ba 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 5 5
1. Các vấn đề gặp phải khi tổ chức CSDL
Bất thường khi xóa dữ liệu (deletion anomaly): khi xóa sinh viên
SV01 thi môn CSDL sẽ làm mất thông tin của môn học CSDL. MASV MAMH HOTEN TENMONHOC DIEM SV01 CSDL Kim Trí Tú Cơ sở dữ liệu 7 SV01 HDT Kim Trí Tú Hướng đối tượng 2 SV01 XSTK Kim Trí Tú Xác suất thống kê 7 SV02 CTRR Kim Trân Ni Cấu trúc rời rạc 9 SV02 XSTK Kim Trân Ni Xác suất thống kê 5 SV03 CSDL Kim Thái Hanh Cơ sở dữ liệu 5 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 6 6 3
1. Các vấn đề gặp phải khi tổ chức CSDL SINHVIEN THI MASV HOTEN MASV MAMH DIEM SV01 Kim Trí Tú SV01 CSDL 7 SV02 Kim Trân Ni SV01 HDT 2 SV03 Kim Thái Hanh SV01 XSTK 7 SV02 CTRR 9 SV02 XSTK 5 MONHOC SV03 CSDL 5 MAMH TENMONHOC CSDL Cơ sở dữ liệu CTRR Cấu trúc rời rạc XSTK Xác suất thống kê 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 7 7
2. Phụ thuộc hàm (Functional Dependencies)
Phụ thuộc hàm (Functional Dependencies - FD) là các ràng
buộc (constraints) được suy ra từ ý nghĩa và các liên hệ giữa các thuộc tính dữ liệu.
Phụ thuộc hàm và khóa được dùng để xác định dạng chuẩn của quan hệ 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 8 8 4
2. Phụ thuộc hàm (Functional Dependencies) Định nghĩa:
• X,Y là hai tập thuộc tính trên quan hệ R
• r1, r2 là 2 bộ bất kỳ trên R
• Ta nói X xác định Y, ký hiệu X → Y, nếu và chỉ nếu
r1[X] = r2[X] ⇒ r1[Y] = r2[Y]
tức là với mỗi giá trị của X trong R chỉ tương đương với một giá trị của Y
• X → Y là một phụ thuộc hàm, hay Y phụ thuộc vào X
• X là vế trái của phụ thuộc hàm, Y là vế phải của phụ thuộc hàm 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 9 9 2. Phụ thuộc hàm
Ví dụ: cho quan hệ NHANVIEN như sau: Manv Hoten Dchi Tenphong Trgphong Nv01 Nguyễn Thị An Hà Nội Kế toán Chu Đăng Thanh Nv02 Chu Đăng Thanh Hà Nội Kế toán Chu Đăng Thanh Nv03
Nguyễn Trung Hiếu Đà Nẵng Kế toán Chu Đăng Thanh Nv04 Trần Hữu Tín Đà Nẵng Dữ liệu Trần Hữu Tín Nv05 Bùi Thị Lệ Hằng Cần Thơ Dữ liệu Trần Hữu Tín Nv06 Nguyễn Thị An Cần Thơ Dữ liệu Trần Hữu Tín Nv07
Nguyễn Trung Hiếu Hải Phòng Sales Dương Đức Hiệp
Có nhận xét gì về: {manv, hoten}, {manv, dchi}, {manv,tenph},
{manv, trgph}, {tenph, trgph}, {manv, hoten, dchi} … ??? 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 10 10 5 2. Phụ thuộc hàm Ví dụ: Một số tính chất sau: Ký hiệu
Với mỗi manv có duy nhất một hoten. manv → hoten
Với mỗi manv có duy nhất một dchi. manv → dchi
Với mỗi manv có duy nhất một tenph manv → tenph
Với mỗi manv có duy nhất một trgph. manv → trgph
Với mỗi tenph có duy nhất một trgph. tenph → trgph
Với mỗi trgph có duy nhất một tenph. trgph → tenph
Với mỗi manv có duy nhất một hoten, manv → hoten, dchi dchi manv → {hoten, dchi}
Phụ thuộc hàm X → Y có nghĩa là: Nếu hai bộ có cùng giá trị cho các thuộc
tính trong X, thì chúng cũng phải có cùng giá trị cho các thuộc tính trong Y. 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 11 11 2. Phụ thuộc hàm
Các luật suy diễn cho phụ thuộc hàm
Gọi F là tập các phụ thuộc hàm Định nghĩa:
X → Y được suy ra từ F, hay F suy ra X → Y nếu bất kỳ bộ của quan hệ
thỏa F thì cũng thỏa X → Y. Ký hiệu: F ╞ X → Y
Hệ tiên đề Armstrong (hệ luật dẫn Armstrong)
1. Tính phản xạ: Y ⊆ X => X → Y manv, hoten → hoten
2. Tính tăng trưởng: X → Y => XZ → YZ ( {X → Y} ╞ XZ → YZ )
cmnd → hoten => cmnd, diachi → hoten, diachi
3.Tính bắc cầu: {X → Y, Y → Z} => X → Z manv → maph maph → tenph => manv → tenph 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 12 12 6 2. Phụ thuộc hàm
Các luật suy diễn cho phụ thuộc hàm
Từ hệ tiên đề Armstrong ta suy ra một số tính chất sau
4. Tính kết hợp: {X → Y, X → Z} => X → YZ manv → hoten manv→ hoten, gioitinh manv →gioitinh
5. Tính phân rã: {X → YZ} => {X → Y, X → Z}
manv→hoten, gioitinh => {manv→hoten, manv→ gioitinh}
6.Tính tựa bắc cầu: {X → Y, YZ → W} => XZ → W masv → malop Masv,mamh → magv malop, mamh → magv 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 13 13 2. Phụ thuộc hàm Ví dụ:
Cho F={A→ B, A→ C, BC→ D}, chứng minh A→ D? Giải: 1. A → B (giả thiết) 2. A → C (giả thiết)
3. A → BC (từ 1,2: tính kết hợp) 4. BC → D (giả thiết)
5. A → D (từ 3,4: tính bắc cầu) Vậy: A → D 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 14 14 7 2. Phụ thuộc hàm
Bài tập phụ thuộc hàm
Bài 1: Cho F = {A → B, BC → D }. • Chứng minh: AC → D
Bài 2: Cho F = {A → BC, AC → D }. • Chứng minh: AC → BCD
Bài 3: Cho F = {CD → H, B → EG, E → AD}. • Chứng minh: BC → H
Bài 4: Cho F={AB → C; B → D; CD → E; CE → GH} • Chứng minh: AB → GH. 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 15 15 2. Phụ thuộc hàm
Bài 1: Cho F = {A → B, BC → D }. • Chứng minh: AC → D Giải: 1. A → B (giả thiết)
2. AC → BC (từ 1: tính tăng trưởng) 3. BC → D (giả thiết)
4. AC →D (từ 2,3: tính bắc cầu) Kết luận: AC →D 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 16 16 8 2. Phụ thuộc hàm
Bài 2: Cho F = {A → BC, AC → D }. • Chứng minh: AC → BCD Giải: 1. A → BC (giả thiết)
2. AC →BC (từ 1: tính tăng trưởng) 3. AC → D (giả thiết)
4. AC → BCD (từ 2,3: tính kết hợp) Kết luận: AC → BCD 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 17 17 2. Phụ thuộc hàm
Bài 3: Cho F = {CD → H, B → EG, E → AD}. • Chứng minh: BC → H Giải: 1. B → EG (giả thiết)
2. B → E (từ 1: tính phân rã) 3. E → AD (giả thiết)
4. B → AD (từ 2,3: tính bắc cầu)
5. BC → ADC (từ 4: tính tăng trưởng)
6. BC → DC (từ 5: tính phân rã) 7. CD → H (giả thiết)
8. BC → H (từ 6,7: tính bắc cầu) Kết luận: BC → H 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 18 18 9 2. Phụ thuộc hàm
Bài 4: Cho F={AB → C; B → D; CD → E; CE → GH} • Chứng minh: AB → GH. Giải: 1. AB → C (giả thiết) 2. B → D (giả thiết)
3. AB → CB (từ 1: tính tăng trưởng )
4. CB →CD (từ 2: tính tăng trưởng)
5. AB → CD (từ 3,4: tính bắc cầu) 6. CD → E (giả thiết)
7. CD → CE (từ 6: tính tăng trưởng)
8. AB → CE (từ 5,7: tính bắc cầu) 9. CE → GH (giả thiết)
10. AB → GH (từ 8,9: tính bắc cầu) Kết luận: AB → GH 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 19 19 2. Phụ thuộc hàm Bao đóng (Closure)
Bao đóng của tập phụ thuộc hàm
• Bao đóng của tập phụ thuộc hàm F, ký hiệu F+ là tập tất cả các
phụ thuộc hàm được suy ra từ F.
Nếu F = F+ thì F là họ đầy đủ của các phụ thuộc hàm 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 20 20 10 2. Phụ thuộc hàm Bao đóng Bài toán thành viên
◦ Cho trước tập các phụ thuộc hàm F và một phụ thuộc hàm f, bài
toán kiểm tra có hay không f ∈ F+ gọi là bài toán thành viên.
Để giải quyết bài toán thành viên thật sự không đơn giản, vì mặc
dù F là rất nhỏ nhưng F+ thì có thể rất lớn, tìm F+ mất rất nhiều công sức. 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 21 21 2. Phụ thuộc hàm Bao đóng
Ví dụ Bài toán thành viên
Cho phụ thuộc hàm F = {AE→ C, CG → A, BD → G, GA → E, H
→D }. Câu hỏi: CG → D có thuộc F+ không? Giải:
Không thể dùng hệ dẫn luật Armstrong để giải bài này.
Cần phải có cách khác đó là tìm bao đóng của tập thuộc tính 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 22 22 11 2. Phụ thuộc hàm
Bao đóng của tập thuộc tính
Bao đóng của tập thuộc tính X đối với tập phụ thuộc hàm F, ký
hiệu là X+F là tập tất cả các thuộc tính A có thể suy dẫn từ X nhờ F
X+F = { A | X → A ∈ F+ }
• F+ là bao đóng của tập phụ thuộc hàm Nhận xét: • X ⊆ X+F
• X → B ∈ F+ ⇔ B ⊆ X+F 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 23 23 2. Phụ thuộc hàm
Bao đóng của tập thuộc tính
Thuật toán tìm bao đóng của tập thuộc tính X:
Input: (Q, F), X ⊆ Q+ (Q là tập hữu hạn các thuộc tính), F là tập phụ thuộc hàm. Output: X+F 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 24 24 12 2. Phụ thuộc hàm
Bao đóng của tập thuộc tính X+F :=X
//since X ⊆ X+F (khởi tạo X+=X) Repeat
// Lặp qua các phụ thuộc hàm old := X+F ; if there is an FD Z → V in F
such that Z ⊆ X+F and V ⊈ X+F then X+F := X+F ∪ V Until old= X+F
// Dừng khi không còn phụ thuộc hàm nào thêm vào X+ 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 25 25 2. Phụ thuộc hàm
Bao đóng của tập thuộc tính Ví dụ 1:
Cho Q=ABCD và F= {A → B, A → C, CD→ A}. Tính A+F Giải: A+F =A A+F =AB (Vì A → B) A+F =ABC (Vì A → C) Vậy A+F =ABC 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 26 26 13 2. Phụ thuộc hàm
Bao đóng của tập thuộc tính Ví dụ 2:
Cho lược đồ quan hệ R(A, B, C, D, E, G, H) và tập phụ thuộc
hàm F={ B → A , DA → CE, D→ H, GH→ C, AC → D}. Tìm AC+F Giải: AC+F = AC AC+F = ACD (vì AC →D) AC+F = ACDE (vì DA →CE) AC+F = ACDEH (vì D →H) Vậy AC+F = ACDEH Bài toán thực tế:
"Tìm tất cả các thuộc tính có thể được xác định từ một khóa cụ thể". 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 27 27 2. Phụ thuộc hàm
Bao đóng của tập thuộc tính Bài toán thành viên
◦ Cho tập thuộc tính Q, tập phụ thuộc hàm F trên Q và một phụ
thuộc hàm X → Y trên Q. Câu hỏi đặt ra rằng X → Y ∈ F+ hay không? Hướng dẫn: • Dựa vào tính chất X → Y ∈ F+ ⇔ Y ⊆ X+F • Ta tìm bao đóng X+F
Nếu Y ⊆ X+F thì X → Y ∈ F+ ngược lại X → Y ∉ F+ 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 28 28 14 2. Phụ thuộc hàm
Bao đóng của tập thuộc tính
Ví dụ 3: Cho lược đồ quan hệ R(A, B, C, D, E, G, H) và tập
phụ thuộc hàm F={B→A , DA→CE, D→H, GH→C, AC→D}
Hỏi: AC → E có thuộc F+ không? Giải
Ta có AC+F=ACDEH (đã thực hiện ở ví dụ 2)
Vì E ⊆ AC+F nên AC → E ∈ F+ 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 29 29 2. Phụ thuộc hàm Bao đóng Bài tập 1:
• Cho Q(ABCDE) và F={AE→B, AB→CE, CD→ A, B →D} Tính BC+F Giải: • BC+F= BC • BC+F= BCD (Vì B → D) • BC+F= BCDA (Vì CD → A)
• BC+F= BCDAE (Vì AB → CE) • Vậy BC+F = BCDAE 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 30 30 15 2. Phụ thuộc hàm Bao đóng Bài tập 2:
• Cho Q(ABCDEG) và F={BD→C,AEG→BC,CG→ AE,B→CG } • Hỏi: B → D ∈ F+? Giải: • B+F = B • B+F = BCG (vì B→CG) • B+F = BCGAE (vì CG →AE)
• Vì D ⊄ B+F nên B → D ∉ F+ 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 31 31 2. Phụ thuộc hàm Bao đóng Bài tập 3:
• Cho lược đồ Q(ABCDEG) và F={AE→C,CG→A,BD→G, GA→E } • Hỏi: BDC → E ∈ F+? Giải • BDC+F=BDC • BDC+F=BDCG (Vì BD→G) • BDC+F=BDCGA (Vì CG →A) • BDC+F=BDCGAE (Vì GA→E)
• Vì E ⊆ BDC+F nên BDC → E ∈ F+ 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 32 32 16 2. Phụ thuộc hàm Bao đóng Bài tập 4
• Cho Q(ABCDEGH) và F={ B→A , D→CE, D→H, GH →C, AC→D}
• Chứng minh: AC → E ∈ F+ Giải • AC+F =AC • AC+F =ACD (Vì AC → D) • AC+F = ACDE (Vì D → CE) • AC+F = ACDEH (Vì D → H)
• Vì AC+F = ACDEH ⊇ E => AC → E thuộc F+
(hay AC → E được suy ra từ F) 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 33 33 2. Phụ thuộc hàm Khóa Định nghĩa
• Cho lược đồ quan hệ Q(A1, A2, …, An), Q+ là tập thuộc tính của Q,
F là tập phụ thuộc hàm trên Q, K là tập con của Q+.
Khi đó K gọi là một khóa của Q nếu: (i) K+F = Q+
(i ) Không tồn tại K’⊂ K sao cho K’+F = Q+
• Thuộc tính A được gọi là thuộc tính khóa nếu A ∈ K, trong đó K là
khóa của Q. Ngược lại thuộc tính A được gọi là thuộc tính không khóa.
• K’ được gọi là siêu khóa nếu K’ ⊇ K.
• Một quan hệ có thể có nhiều khóa 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 34 34 17 2. Phụ thuộc hàm CTHD Ma_ct SoHD Masp SL Khóa 1 Hd01 Bb01 20 Các phụ thuộc hàm: 2 Hd01 Bb02 5 • ma_ct → sohd, masp, sl 3 Hd02 Bt01 13 • sohd, masp → ma_ct, sl 4 Hd02 Bc04 20 Siêu khóa: 5 Hd03 Bc04 4 • {ma_ct}
• {ma_ct,sohd}, {ma_ct,masp}, {ma_ct,sl}, {ma_ct, sohd,masp},
{ma_ct,sohd,sl}, {ma_ct,masp, sl}, {ma_ct, sohd,masp, sl}
• {sohd, masp}, {sohd, masp, sl}
Khóa: {ma_ct}, {sohd, masp}
Thuộc tính khóa: ma_ct, sohd, masp
Thuộc tính không khóa: sl 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 35 35 2. Phụ thuộc hàm Thuật toán tìm Khóa
Tập thuộc tính nguồn, ký hiệu là N, là tập chứa những thuộc tính
chỉ xuất hiện ở vế trái của mọi phụ thuộc hàm
Tập thuộc tính trung gian, ký hiệu là TG, là tập chứa những thuộc
tính vừa xuất hiện ở vế trái, vừa xuất hiện ở vế phải trong các phụ thuộc hàm 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 36 36 18 2. Phụ thuộc hàm Thuật toán tìm Khóa Bước 1: • Tính tập nguồn N.
• Nếu N+F = Q+ thì chỉ có 1 khoá là N, ngược lại qua bước 2 (ghi chú Q+
là tập các thuộc tính của quan hệ). Bước 2: • Tính tập trung gian TG.
• Tính tập tất cả các tập con Xi của tập TG.
Bước 3: Tìm tập S chứa mọi siêu khóa Si
• Với mỗi Xi , nếu (N ∪ Xi)+F= Q+ thì Si =(N ∪ Xi)
• Nếu: (N ∪ Xi)+F = Q+ khi đó N ∪ Xi là một khóa. Do vậy loại bỏ các trường hợp Xj: Xi ⊂ Xj
VD: Xi =AB, Xj =ABC. Ta thấy Xi ⊂ Xj , nếu Xi là khóa thì không cần xét trường hợp Xj nữa. 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 37 37 2. Phụ thuộc hàm Thuật toán tìm Khóa
Ví dụ: Cho lược đồ quan hệ Q(A, B, C) và tập phụ thuộc hàm F =
{ AB → C, C → A}. Tìm mọi khóa của Q? Giải:
• Bước 1: N = {B}, N+F= B ≠ Q+
• Bước 2: TG = {AC}, tập các tập con trung gian là CTG = {A,C, AC} • Bước 3 N X N ∪ X (N ∪ X i i i)+F B A BAC=Q+ BA
Khóa là BA. Loại các phần tử trong CTG chứa A:AC B C BCA=Q+ BC Khóa là BC
• Vậy tập khóa S = {BA, BC} 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 38 38 19 2. Phụ thuộc hàm Bài tập tìm khóa
Bài tập 1: Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc hàm
F={ A → B, A → CD, BC →D}. Tìm mọi khóa của Q? Giải:
• Bước 1: N = {A}, N+F= ABCD = Q+
• Kết luận: lược đồ có một khóa duy nhất: A 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 39 39 2. Phụ thuộc hàm Bài tập tìm khóa
Bài tập 2: Cho lược đồ quan hệ Q(ABCDE) và tập phụ thuộc
hàm F={ BC → A, A → CD, C →DE}. Tìm mọi khóa của Q? Giải:
• Bước 1: N = {B}, N+F = B ≠ Q+
• Bước 2: TG = {AC}, tập các tập con trung gian là CTG = {A,C, AC} • Bước 3: N X N ∪ X (N ∪ X i i i)+F B A BADCE=Q+ BA Khóa là BA. B C BCADE=Q+ BC
Khóa là BC. Loại các phần tử trong CTG chứa C:AC
• Như vậy tập khoá S = {BC,BA} 11/21/2025
BÀI GIẢNG CƠ SỞ DỮ LIỆU 40 40 20