BE là khóa của lược đồb.. c Tìm một khóa, tất cả các khóa của lược đồ.. d Xác định dạng chuẩn cao nhất của lược đồ e Đưa ra một phân rã của R về dạng chuẩn 3NF bảo toàn thông tin và phụ
Trang 1BÀI TẬP VỀ KHÓA VÀ PHỦ TỐI THIỂU
Bài 1: Cho lược đồ quan hệ (U, F), với U=(ABCDEGH)
F={AB → CDE; AC → BCG; BD → G; ACH → HE; CG → BDE} và K= (ACGH) Hỏi K có là khóa của lược đồ không?
Giải:
Xét K+ = (ACGH)+ = ACGHBED = U => K là siêu khóa
(CGH)+ = CGHBDE U
(AGH)+ = AGH U
(CAH)+ = CAHBGDE = U
=> CAH là siêu khóa
=> K không là khóa của lược đồ
Bài 2: Cho lược đồ (U, F) với U=(ABCDE), F={DE → A, B → C, E → AD}
a) Tìm một khóa của lược đồ
b) Tìm tất cả các khóa của lược đồ
Giải:
a Tìm một khóa của lược đồ
Cách 1:
K=ABCDE
Lặp 1: (BCDE)+ = BCDEA = U => K = BCDE
Lặp 2: (CDE)+ = CDEA U
Lặp 3: (BDE)+ = BDEAC = U => K = BDE
Lặp 4: (BE)+ = BECAD = U => K = BE
Lặp 5: (B)+ = BC U
Vậy khóa là K=BE
Cách 2:
F={DE → A, B → C, E → AD}
U = { ABCDE}
VT = {D, E, B} VP = {A, C, D}
TN = {BE} TG = {D}
(BE)+=BECAD = U => BE sẽ là khóa tối thiểu
Trang 2BE là khóa của lược đồ
b Tìm tất cả các khóa của lược đồ
Cách 1:
VT = {D, E, B} VP = {A, C, D}
TN = {EB} TG = {D}
(EB)+ = EBCAD = U
Tập tất cả các khóa:{EBD}
Cách 2:
- Ta có: U = { ABCDE}
VT = {D, E, B} VP = {A, C, D}
TG = {D}
- Lại có: TD = U – VP = {BE}
- Ta có: TD TG = {BED}
(EBD)+ = EBCAD = U
Vậy có khóa tối thiểu là: EBD
Bài 3: Cho lược đồ quan hệ R(A,B,C,D,E,F,G,H,I,J) và tập phụ thuộc hàm sau đây:
F1 = {AB → C, A → DE, B → F, F → GH, D → IJ}
a) Tính bao đóng của các tập thuộc tính sau trên F1: AC, AF
b) Các phụ thuộc hàm sau có được suy dẫn từ F1 hay không? AB → H, A → J, AB → I bằng hai cách c) Tìm một khóa, tất cả các khóa của lược đồ
d) Xác định dạng chuẩn cao nhất của lược đồ
e) Đưa ra một phân rã của R về dạng chuẩn 3NF bảo toàn thông tin và phụ thuộc hàm
Giải:
a Tính bao đóng của các tập thuộc tính sau trên F1: AC, AF
(AC)+
(AC)+ = ACDEIJ
(AF)+
=> (AF)+ = ADEFGHIJ
b Các phụ thuộc hàm sau có được suy dẫn từ F1 hay không? AB → H, A → J, AB → I bằng hai cách
F1 = {AB → C, A → DE, B → F, F → GH, D → IJ}
Trang 3 AB → H
Cách 1:
F → GH => F → G, F → H (Luật Phân Giã)
B → F => AB → AF (Luật Tăng Trưởng)
AB → AF => AB → A, AB → F (Luật Phân Giã)
AB → F, F → H => AB → H (Luật Bắc Cầu)
Cách 2:
(AB)+ = ABCDEFGHIJ có chứa H => AB → H được suy diễn từ F1
A → J
Cách 1:
D → IJ => D → I, D → J (Luật Phân Giã)
A → DE => A → D, A → E (Luật Phân Giã)
A → D, D → J => A → J (Luật Bắc Cầu)
Cách 2:
(A)+ = ADEIJ có chứa J => A → J được suy diễn từ F1
AB → I
Cách 1:
D → IJ => D → I, D → J (Luật Phân Giã)
A → DE => A → D, A → E (Luật Phân Giã)
A → D => AB → DB (Luật Tăng Trưởng)
AB → DB => AB → D, AB → B (Luật Phân Giã)
AB → D, D → J => AB → J (Luật Bắc Cầu)
Cách 2:
(AB)+ = ABCDEFGH IJ có chứa J => AB → I được suy diễn từ F1
c Tìm một khóa và tất cả các khóa của lược đồ
F1 = {AB → C, A → DE, B → F, F → GH, D → IJ}
* Tìm 1 Khóa:
Cách 1:
K = U = {ABCDEFGHIJ}
Lặp 1: (Bỏ A) (BCDEFGHIJ)+ = BCDEFGHIJ U
Lặp 2: (Bỏ B) (ACDEFGHIJ)+ = ACDEFGHIJ U
Lặp 3: (Bỏ C) (ABDEFGHIJ)+ = ABCDEFGHIJ = U => K = ABDEFGHIJ Lặp 4: (Bỏ D) (ABEFGHIJ)+ = ABEFGHIJDC = U => K = ABEFGHIJ Lặp 5: (Bỏ E) (ABFGHIJ)+ = ABFGHIJCDE = U => K = ABFGHIJ Lặp 6: (Bỏ F) (ABGHIJ)+ = ABGHIJCDEF = U => K = ABGHIJ Lặp 7: (Bỏ G) (ABHIJ)+ = ABHIJCDEFG = U => K = ABHIJ Lặp 8: (Bỏ H) (ABIJ)+ = ABIJCDEFGH = U => K = ABIJ
Lặp 9: (Bỏ I) (ABJ)+ = ABJCDEFGHI = U => K = ABJ
Lặp 10: (Bỏ J) (AB)+ = ABCDEFGHIJ = U => K = AB
Trang 4Vậy khóa K=AB Cách 2:
VT = {A, B, F, D} VP = {C, D, E, F, G, H, I, J}
TN = {AB} TG = {FD}
(AB)+ = ABCDEFGHIJ = U => AB là khóa tối thiểu của lược đồ Vậy AB là khóa của lược đồ
* Tìm tất cả các khóa
TN = {AB} TG = {FD}
(AB)+ = ABCDEFGHIJ = U
Tập tất cả các khóa:{ABF, ABD}
d Xác định dạng chuẩn cao nhất của lược đồ
e Đưa ra một phân rã của R về dạng chuẩn 3NF bảo toàn thông tin và phụ thuộc hàm
F1 = {AB → C, A → DE, B → F, F → GH, D → IJ}
AB → C => R1(ABC)
A → DE => R2(ADE)
B → F => R3(BF)
F → GH => R4(FGH)
D → IJ => R5(DIJ)
AB(R1)
Bài 4: Cho lược đồ quan hệ R(U,F), U = ABCDEG
F = {AC → D, ABD → C, D → A, D → EG, DG → BC, CD → B, CE → D, DE → AG}
a) Tính (AD)+
b) Tìm phủ tối thiểu của lược đồ quan hệ trên
c) Tìm một khóa của lược đồ quan hệ trên
d) Lược đồ quan hệ đã đạt dạng chuẩn 3NF chưa? Nếu chưa đưa lược đồ quan hệ về dạng chuẩn 3NF
Giải:
a Tính (AD)+
(AD)+
=> (AD)+ = ABCDEG
b Tìm phủ tối thiểu của lược đồ quan hệ trên
Tách vế phải
F = {AC → D, ABD → C, D → A, D → E, D →G, DG → B, DG →C, CD → B, CE → D, DE
→ A, DE →G}
Trang 5Loại bỏ dư thừa thuộc tính
D → A
D → E
AC → D
Bỏ thử A, còn lại C D => (C)+ = C
=> Không chứ D => không bỏ được A
Bỏ thử C, còn lại A D => (A)+ = A
=> Không chứa D => Bỏ được C
=> Kết quả là A D
ABD → C
Bỏ thử A, còn lại BD C => (BD)+ = BDAEGC => Chứa C => bỏ được A
Bỏ thử B, còn lại AD C => (AD)+ = ADEGBC => Chứa C => Bỏ được B
Bỏ thử D, còn lại AB C => (AB)+ = AB
=> Không chứa C => Không bỏ được D
=> Kết quả là D C
DG → B
Bỏ thử D, còn lại G B => (G)+ = G
=> Không chứa B => Không bỏ được D
Bỏ thử G, còn lại D B => (D)+ = DAEGBC => Chứa B => Bỏ được G
=> Kết quả là D B
DG → C
Bỏ thử D, còn lại G C => (G)+ = G
=> Không chứa C => Không bỏ được D
Bỏ thử G, còn lại D C => (D)+ = DAEGBC => Chứa C => Bỏ được G
Trang 6=> Kết quả là D C
CD → B
Bỏ thử C, còn lại D B => (D)+ = DAEGBC => Chứa B => Bỏ được C
Bỏ thử D, còn lại C B => (C)+ = C
=> Không chứa B => Không bỏ được D
=> Kết quả là D B
CE → D
Bỏ thử C, còn lại E D => (E)+ = E
=> Không chứa D => Không bỏ được C
Bỏ thử E, còn lại C D => (C)+ = C
=> Không chứa D => Không bỏ được E
=> Kết quả là CE D
DE → A
Bỏ thử D, còn lại E A => (E)+ = E
=> Không chứa A => Không bỏ được D
Bỏ thử E, còn lại D A => (D)+ = DAEGBC
=> Chứa A => Bỏ được E
=> Kết quả là D A
DE → G
Bỏ thử D, còn lại E G => (E)+ = E
=> Không chứa G => Không bỏ được D
Bỏ thử E, còn lại D G => (D)+ = DAEGBC
=> Chứa G => Bỏ được E
=> Kết quả là D G
- Kết luận: Phủ tối thiểu là
Vậy phủ tối thiểu là F = {D → EGCBA, CE → D, A → D}
Trang 7c Tìm một khóa của lược đồ quan hệ trên
K=ABCDEG
Lặp 1 (BCDEG)+=ABCDEG=U=>K=BCDEG
Lặp 2 (CDEG)+=CDEGAB=U=>K=CDEG
Lặp 3 (DEG)+=DEGABC=U=>K=DEG
Lặp 4 (EG)+=EG<>U=> ko loại đc
Lặp 5 (DG)+=DGAEBC=U=>K=DG
Lặp 6 D+=DAEGBC=U=>K=D
Vậy một khóa là K=D
d Lược đồ quan hệ đã đạt dạng chuẩn 3NF chưa? Nếu chưa đưa lược đồ quan hệ về dạng chuẩn 3NF