C CH CHI ≠ U - - E EH EHI ≠ U - - G GH GHI ≠ U - - AB ABH ABHICD ≠ U - - AC ACH ACHBID ≠ U - - AE AEH AEHI ≠ U - - AG AGH AGHI ≠ U - - BC BCH BCHIAD ≠ U - -
BE BEH BEHIACDG = U SK Khoá
BG BGH BGHIACDE = U SK Khoá
CE CEH CEHI ≠ U - -
CG CGH CGHAEIBD = U SK Khoá
EG EGH EGHIACDB = U SK Khoá
ABC ABCH ≠ U ≠ U ≠ U ABE ABEH = U SK - ABG ABGH = U SK - ACE ACEH = U SK - ACG ACGH = U SK - AEG AEGH = U SK - BCE BCEH = U SK - BCG BCGH = U SK - BEG BEGH = U SK - CEG CEGH = U SK - ABCE ABCEH = U SK - ABCG ABCGH = U SK - ABEG ABEGH = U SK - ACEG ACEGH = U SK - BCEG BCEGH = U SK - ABCEG ABCEGH = U SK -
Vậy: BHE, BGH, CGH và EGH là các khóa của quan hệ Q Câu 11c:
11c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Xét khóa CGH: Quan hệ Q không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộc hàm (PTH) H → I trong đó thuộc tính I không phụ thuộc đầy đủ vào khoá CGH.
11c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
* Tìm phủ tối thiểu (PTT)
Bước 2: Tách các PTH trong tập các PTH F để vế phải là 1 thuộc tính
f1 f2 f3 f4 f5 f6 f7
F = { AC → B ; BI → A ; BI → C ; BI → D ; ABC → D ; H → I ; ACE → B ; ACE → C ; ACE → G ; CG → A ; CG → E} ACE → C ; ACE → G ; CG → A ; CG → E}
f8 f9 f10 f11 Bước 3: Loại bỏ các thuộc tính dư thừa vế trái: - Xét AC → B:
Bỏ A: (C)F+ = C không xác định được B Bỏ C: (A)F+ = A không xác định được B ⇒ Không loại bỏ PTH AC → B
- Xét BI → A:
Bỏ B: (I)F+ = I không xác định được A Bỏ I: (B)F+ = B không xác định được A ⇒ Không loại bỏ PTH BI → A
(Làm tương tự, ta được kết quả: Không bỏ được PTH BI → C ; BI → D - Xét ABC → D:
Bỏ A: (BC)F+ = BC không xác định được D Bỏ B: (AC)F+ = ACBD xác định được D
Bỏ C: (AB)F+ = AB không xác định được D ⇒ Loại bỏ thuộc tính B: AC → D
- Xét ACE → B:
Bỏ A: (CE)F+ = CE không xác định được B Bỏ C: (AE)F+ = AE không xác định được B Bỏ E: (AC)F+ = ACBD xác định được B
⇒ Loại bỏ thuộc tính E: AC → B ⇒ trùng với f1, nên loại bỏ PTH f7: ACE → B - Xét ACE → C:
Bỏ C: (AE)F+ = AE không xác định được C Bỏ E: (AC)F+ = ACBD xác định được C
⇒ Loại bỏ thuộc tính A,E: C → C ⇒ đương nhiên, nên loại bỏ PTH f8: ACE → C - Xét ACE → G:
Bỏ A: (CE)F+ = CE không xác định được G Bỏ C: (AE)F+ = AE không xác định được G Bỏ E: (AC)F+ = ACBD không xác định được G ⇒ Không loại bỏ PTH ACE → G
- Xét CG → A: Bỏ C: (G)F+ = G không xác định được A Bỏ G: (C)F+ = C không xác định được A ⇒ Không loại bỏ PTH CG → A - Xét CG → E: Bỏ C: (G)F+ = G không xác định được E Bỏ G: (C)F+ = C không xác định được E ⇒ Không loại bỏ PTH CG → E ⇒ f1 f2 f3 f4 f5 f6 F = { AC → B ; BI → A ; BI → C ; BI → D ; AC → D ; H → I ; ACE → G ; CG → A ; CG → E} f9 f10 f11
Bước 4: Loại bỏ các PTH dư thừa - Với f1 = AC → B ; F1 = F \ {f1}
(AC)F1+ = ACD không xác định được B ⇒ Không loại bỏ được f1 - Với f2 = BI → A ; F2 = F \ {f2}
(BI)F2+ = BICD không xác định được A ⇒ Không loại bỏ được f2 - Với f3 = BI → C ; F3 = F \ {f3}
(BI)F3+ = BIAD không xác định được C ⇒ Không loại bỏ được f3 - Với f4 = BI → D ; F4 = F \ {f4}
(BI)F4+ = BIACD xác định được D ⇒ Loại bỏ được f4 - Với f5 = AC → D ; F5 = F \ {f5}
- Với f6 = H → I ; F6 = F \ {f6}
(H)F6+ = H không xác định được I ⇒ Không loại bỏ được f6 - Với f9 = ACE → G ; F9 = F \ {f9}
(ACE)F9+ = ACEBD không xác định được G ⇒ Không loại bỏ được f9 - Với f10 = CG → A ; F10 = F \ {f10}
(CG)F10+ = CGE không xác định được A ⇒ Không loại bỏ được f10 - Với f11 = CG → E ; F11 = F \ {f11}
(CG)F11+ = CGABD không xác định được E ⇒ Không loại bỏ được f11 ⇒ f1 f2 f3 f5 f6 F = { AC → B ; BI → A ; BI → C ; AC → D ; H → I ; ACE → G ; CG → A ; CG → E} f9 f10 f11 * Phân rã lược đồ:
R1(ACBD) khoá AC (AC → B ; AC → D) R2(BIAC) khoá BI (BI → A ; BI → C) R3(HI) khóa H (H → I)
R4(ACEG) khóa ACE (ACE → G)
R5(CGAE) khoá CG (CG → A ; CG → E) ⇒ D = {R1 ; R2 ; R3 ; R4 ; R5}
Bài 12: Cho lược đồ quan hệ Q(C,T,H,R,S,G) và tập các PTH:
F = { C -> T; HR -> C; HT -> R; CS -> G; HS -> R}a- Tìm một khóa của lược đồ. a- Tìm một khóa của lược đồ.
b- Tìm nhiều khóa của quan hệ R
c- Xác định dạng chuẩn và phân rã lược đồ để đạt 3NF
Ta có U = {C,T,H,R,S,G} = CTHRSG
Câu 12a:
Bước 0: Đặt K = CTHRSG
Bước 1: Lặp 1: (K\C)F+ = (THRSG)F+ = THRSGC = U ⇒ K = THRSG Lặp 2: (K\T)F+ = (HRSG)F+ = HRSGCT = U ⇒ K = HRSG
Lặp 3: (K\H)F+ = (RSG)F+ = RSG ≠ U ⇒ K = HRSG (Ko bỏ H)
Lặp 4: (K\R)F+ = (HSG)F+ = HSGRCT = U ⇒ K = HSG
Lặp 5: (K\S)F+ = (HG)F+ = HG ≠ U ⇒ K = HSG (Ko bỏ S)
Lặp 6: (K\G)F+ = (HS)F+ = HSRCTG = U ⇒ K = HS Bước 2: Kết luận: Một khoá của lược đồ quan hệ Q là K = HS
Câu 12b:
Tập thuộc tính nguồn: N = {H,S} Tập thuộc tính đích: Đ = {G}
Tập thuộc tính trung gian: TG = {C,T,R} ⇒ Tập Xi có 23 = 23 = 8 ptử
Xi Xi ∪ N (Xi ∪ N)+ Siêu khóa Khóa ∅ HS HSRCTG = U SK Khóa C CHS CHSTRG = U SK - T THS =U SK - R RHS =U SK - CT CTHS =U SK - CR CRHS =U SK - TR TRHS =U SK - CTR CTRHS =U SK -
Vậy: HS là khóa của quan hệ Q Câu 12c:
12c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Quan hệ Q không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộc hàm (PTH) HT → R trong đó thuộc tính R không phụ thuộc đầy đủ vào khoá HS.
12c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
* Tìm phủ tối thiểu (PTT)
Bước 2: Tách các PTH trong tập các PTH F để vế phải là 1 thuộc tính
f1 f2 f3 f4 f5
F = {C → T ; HR → C ; HT → R ; CS → G ; HS → R}Bước 3: Loại bỏ các thuộc tính dư thừa vế trái: Bước 3: Loại bỏ các thuộc tính dư thừa vế trái:
Bỏ H: (R)F+ = R không xác định được C Bỏ R: (H)F+ = H không xác định được C ⇒ Không loại bỏ PTH HR → C - Xét HT → R: Bỏ H: (T)F+ = T không xác định được R Bỏ T: (H)F+ = H không xác định được R ⇒ Không loại bỏ PTH HT → R - Xét CS → G: Bỏ C: (S)F+ = S không xác định được G Bỏ S: (C)F+ = CT không xác định được G ⇒ Không loại bỏ PTH CS → G - Xét HS → R: Bỏ H: (S)F+ = S không xác định được R Bỏ S: (H)F+ = H không xác định được R ⇒ Không loại bỏ PTH HT → R ⇒ f1 f2 f3 f4 f5 F = {C → T ; HR → C ; HT → R ; CS → G ; HS → R} Bước 4: Loại bỏ các PTH dư thừa
- Với f1 = C → T ; F1 = F \ {f1}
(C)F1+ = C không xác định được T ⇒ Không loại bỏ được f1 - Với f2 = HR → C ; F2 = F \ {f2}
(HR)F2+ = HR không xác định được C ⇒ Không loại bỏ được f2 - Với f3 = HT → R ; F3 = F \ {f3}
(HT)F3+ = HT không xác định được R ⇒ Không loại bỏ được f3 - Với f4 = CS → G ; F4 = F \ {f4}
(CS)F4+ = CST không xác định được g ⇒ Không loại bỏ được f4 - Với f5 = HS → R ; F5 = F \ {f5}
(HS)F5+ = HS không xác định được R ⇒ Không loại bỏ được f5 ⇒
f1 f2 f3 f4 f5
* Phân rã lược đồ: R1(CT) khoá T (C → T) R2(HRC) khoá HR (HR → C) R3(HTR) khóa HT (HT → R) R4(CSG) khóa CS (CS → G) R5(HSR) khoá HS (HS → R) ⇒ D = {R1 ; R2 ; R3 ; R4 ; R5}