Nhập: tập PTH F xác định trên lược đồ RUTrong đó: Xi là tập con của tập trung gian có 2n phần tử... Kết luận: Một khoá của lược đồ quan hệ R là K = AD 1c.1- Xác định dạng chuẩn cao nhất
Trang 1Nhập: tập PTH F xác định trên lược đồ R(U)
Trong đó: Xi là tập con của tập trung gian (có 2n phần tử)
Trang 2Thuật toán: Tìm phủ tối thiểu
– B3: (Loại bỏ các thuộc tính dư thừa vế trái)
Với mỗi X ® {A} F, X = {B1, ,Bl}, Bl U
Với mỗi Bi, nếu A (X - {Bi})F+ thì
F := (F - {X ® {A}}) {(X - {B}) ® {A}}
– B4: (Loại bỏ các PTH dư thừa)
Với mỗi X ® {A} F
G := F - {X ® {A}}
Nếu A XG+ thì F := F - {X ® {A}}
Thuật toán: Phân rã lược đồ để đạt chuẩn 3NF và bảo toàn PTH
Nhập: R(U), U = {A1, …, An} và tập PTH F
Xuất: D = {R1, …, Rm}, Ri ở dạng chuẩn 3
– B1: Tìm phủ tối thiểu G của F
– B2: Với mỗi X ® Aj G, xây dựng lược đồ Ri(Ui),
Ui = X {Aj} Khóa chính của Ri là X
– B3: Giả sử xong B2 ta có các lược đồ R1, …, Rm
Nếu U1 … Um U thì xây dựng thêm lược đồ
Rm+1(Um+1), Um+1 = U - (U1 … Um)
Khóa của Rm+1 là Um+1
– B4: Xuất các lược đồ Ri
Trang 3F = {A -> B; CD -> E; B -> 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 = {A,B,C,D,E} = ABCDE
Câu 1a:
Bước 0: Đặt K = ABCDE
Bước 1: Lặp 1: (K\A)F+ = (BCDE)F+ = BCDE ≠ U K = ABCDE (ko bỏ A được)
Lặp 2: (K\B)F+ = (ACDE)F+ = ACDEB = U K = ACDE
Lặp 3: (K\C)F+ = (ADE)F+ = ADEB C = U K = ADE
Lặp 4: (K\D)F+ = (AE)F+ = AEBC ≠ U K = ADE (ko bỏ D được)
Lặp 5: (K\E)F+ = (AD)F+ = ADBCE = U K = AD
Bước 2: Trong 5 thuộc tính của U đã lược bỏ được 03 thuộc tính, còn thuộc tính A và
D không bỏ được Kết luận: Một khoá của lược đồ quan hệ R là K = AD
1c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Quan hệ R không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộc hàm (PTH) A ® Btrong đó thuộc tính B không phụ thuộc đầy đủ vào khoá AD
1c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
Trang 4* 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
F = {A ® B; CD ® E; B ® C}
f1 f2 f3Bước 3: Loại bỏ các thuộc tính dư thừa vế trái
Trang 5Bài 2: Cho lược đồ quan hệ R(A,B,C,D,E,G,H,I,J,K) và tập các PTH:
F = {A -> B ; C -> DHI ; IJ -> K ; BC -> A ; HC -> E}
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
Tập thuộc tính trung gian: TG = {A,B,H,I} Tập Xi có 2 n = 24 = 16 ptử
Trang 6Vậy: ACGJ và BCGJ là 2 khóa của quan hệ R
Câu 2c:
2c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Xét theo khóa AGCJ: Quan hệ R không đạt dạng chuẩn 2 (2NF) vì tồn tại phụthuộc hàm (PTH) A ® B trong đó thuộc tính B không phụ thuộc đầy đủ vào khoáAGCJ
2c.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
F = {A ® B; C ® D; C ® H; C ® I; IJ ® K; BC ® A; HC ® E}
f1 f2 f3 f4 f5 f6 f7Bước 3: Loại bỏ các thuộc tính dư thừa vế trái
Trang 7Do R1 R4 nên ghép R1 và R4 thành R14(ABC) {A ® B; BC ® A}.
Tìm khóa cho R14: Ta có U14 = ABC và F14 = {A ® B; BC ® A}
Trang 8a- 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 = {A,B,C,D,E} = ABCDE
Câu 3a:
Bước 0: Đặt K = ABCDE
Bước 1: Lặp 1: (K\A)F+ = (BCDE)F+ = BCDEA = U K = BCDE
Lặp 2: (K\B)F+ = (CDE)F+ = CDEA ≠ U K = BCDE (ko bỏ B được)
Lặp 3: (K\C)F+ = (BDE)F+ = BDEAC = U K = BDE
Lặp 4: (K\D)F+ = (BE)F+ = BE ≠ U K = BDE (ko bỏ D được)
Tập thuộc tính trung gian: TG = {A,C,D} Tập Xi có 2 n = 23 = 8 ptử
Trang 9Vậy: AB, CB, DB là 3 khóa của quan hệ R
Câu 3c:
3c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Xét theo khóa BD: Quan hệ R không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộchàm (PTH) D ® A trong đó thuộc tính A không phụ thuộc đầy đủ vào khoá BD
3c.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
F = { AB ® C; AB ® D; D ® A; BC ® D ; BC ® E}
f1 f2 f3 f4 f5Bước 3: Loại bỏ các thuộc tính dư thừa vế trái
Trang 11Bài 4: Cho lược đồ quan hệ R(A,B,C,D,E,F,G) và tập các PTH:
F = { B -> A; D -> C; D -> BE; DF -> G}
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
Câu 4a:
Ta có U = {A,B,C,D,E,F,G} = ABCDEFG
Bước 0: Đặt K = ABCDEFG
Bước 1: Lặp 1: (K\A)F+ = (BCDEFG)F+ = BCDEFGA = U K = BCDEFG
Lặp 2: (K\B)F+ = (CDEFG)F+ = CDEFGBA = U K = CDEFG
Lặp 3: (K\C)F+ = (DEFG)F+ = DEFGBCA = U K = DEFG
Lặp 4: (K\D)F+ = (EFG)F+ = EFG ≠ U K = DEFG (ko bỏ D)
4c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Quan hệ R không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộc hàm (PTH) D ® Ctrong đó thuộc tính C không phụ thuộc đầy đủ vào khoá DF
4c.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)
Trang 12Bước 2: Tách các PTH trong tập các PTH F để vế phải là 1 thuộc tính
F = { B ® A; D ® C; D ® B; D ® E; DF ® G}
f1 f2 f3 f4 f5Bước 3: Loại bỏ các thuộc tính dư thừa vế trái
Trang 13Bài 5: Cho lược đồ quan hệ R(A,B,C,D,E,G,H,T,V,X,Y,Z) và tập PTH:
F = { AB -> HXGC; BH -> V; GC -> Y; D -> CGZ ; E -> ABT} 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
Trang 15Câu 5c:
5c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Quan hệ R không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộc hàm (PTH) D ® C(trong D ® CGZ) trong đó thuộc tính C không phụ thuộc đầy đủ vào khoá DE
5c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
Trang 17F = { AC -> B; B -> ACD; ABC -> D; ACE -> BC ; CD -> AE} 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 = {A,B,C,D,E,G} = ABCDEG
Câu 6a:
Bước 0: Đặt K = ABCDEG
Bước 1: Lặp 1: (K\A)F+ = (BCDEG)F+ = BCDEGA = U K = BCDEG
Lặp 2: (K\B)F+ = (CDEG)F+ = CDEGAB = U K = CDEG
Lặp 3: (K\C)F+ = (DEG)F+ = DEG ≠ U K = CDEG (Ko bỏ C)
Lặp 4: (K\D)F+ = (CEG)F+ = CEG ≠ U K = CDEG (Ko bỏ D)
Trang 19Câu 6b:
6c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Xét theo khóa BG: Quan hệ R không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộchàm (PTH) B ® A (trong B ® ACD) trong đó thuộc tính A không phụ thuộc đầy đủ vàokhoá BG
6c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
Bỏ B: (AC)F+ = ACBDE xác định được D
Bỏ C: (AB)F+ = ABCDE xác định được D
Loại bỏ thuộc tính B và C: A ® 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+ = ACBDE xác định được B
Loại bỏ thuộc tính E: AC ® B
- Xét ACE ® C:
Bỏ A: (CE)F+ = CE xác định được C
Bỏ C: (AE)F+ = AE không xác định được C
Bỏ E: (AC)F+ = ACBDE xác định được C
Loại bỏ thuộc tính A và E: C ® C Loại bỏ PTH C ® C
Trang 21Lặp 1: (K12 \ A)F12+ = (BC)F12+ = BC U12 K12 = ABC
Lặp 2: (K12 \ B)F12+ = (AC)F12+ = ACB = U12 K12 = AC
Lặp 1: (K34 \ A)F34+ = (CDE)F34+ = CDEA = U34 K34 = CDE
Lặp 2: (K34 \ C)F34+ = (DE)F34+ = DE U34 K34 = CDE
Lặp 3: (K34 \ D)F34+ = (CE)F34+ = CE U34 K34 = CDE
Lặp 4: (K34 \ E)F34+ = (CD)F34+ = CDAE = U34 K34 = CD
Lược đồ được phân rã lại như sau:
R12(ACB) khóa AC (AC ® B; B ® C)
Trang 22b- 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 = {A,B,C,D,E,G} = ABCDEG
Câu 7a:
Bước 0: Đặt K = ABCDEG
Bước 1: Lặp 1: (K\A)F+ = (BCDEG)F+ = BCDEG ≠ U K = ABCDEG (Ko bỏ A)
Lặp 2: (K\B)F+ = (ACDEG)F+ = ACDEGB = U K = ACDEG
Lặp 3: (K\C)F+ = (ADEG)F+ = ADEGBC = U K = ADEG
Lặp 4: (K\D)F+ = (AEG)F+ = AEGBCD = U K = AEG
Lặp 5: (K\E)F+ = (AG)F+ = AGBCDE = U K = AG
Trang 24Bài 8: Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) và tập các PTH:
F = { C -> AB; D -> E; B -> G}
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 = {A,B,C,D,E,G,H} = ABCDEGH
Câu 8a:
Bước 0: Đặt K = ABCDEGH
Bước 1: Lặp 1: (K\A)F+ = (BCDEGH)F+ = BCDEGHA = U K = BCDEGH
Lặp 2: (K\B)F+ = (CDEGH)F+ = CDEGHAB = U K = CDEGH
Lặp 3: (K\C)F+ = (DEGH)F+ = DEGH ≠ U K = CDEGH (Ko bỏ C)Lặp 4: (K\D)F+ = (CEGH)F+ = CEGHAB ≠ U K = CDEGH (Ko bỏ D)Lặp 5: (K\E)F+ = (CDGH)F+ = CDGHABE = U K = CDGH
8c.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) D ® Etrong đó thuộc tính E không phụ thuộc đầy đủ vào khoá CDH
8c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
Trang 25a- 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 = {A,B,C,D,E,G,H} = ABCDEGH
Câu 9a:
Trang 26Bước 0: Đặt K = ABCDEGH
Bước 1: Lặp 1: (K\A)F+ = (BCDEGH)F+ = BCDEGH ≠ U K = ABCDEGH (Ko bỏ A)
Lặp 2: (K\B)F+ = (ACDEGH)F+ = ACDEGHB = U K = ACDEGH
Lặp 3: (K\C)F+ = (ADEGH)F+ = ADEGHBC = U K = ADEGH
Lặp 4: (K\D)F+ = (AEGH)F+ = AEGHBC ≠ U K = ADEGH (Ko bỏ D)Lặp 5: (K\E)F+ = (ADGH)F+ = ADGHBCE = U K = ADGH
Lặp 6: (K\G)F+ = (ADH)F+ = ADHBCEG = U K = ADH
Lặp 7: (K\H)F+ = (AD)F+ = ADBCE ≠ U K = ADH (Ko bỏ H)
Bước 2: Kết luận: Một khoá của lược đồ quan hệ Q là K = ADH
Vậy: ADH là khóa của quan hệ Q
Câu 9c:
9c.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) D ® Etrong đó thuộc tính E không phụ thuộc đầy đủ vào khoá ADH
9c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
Trang 27(A)F1+ = AC không xác định được B Không loại bỏ được f1
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 = {A,B,C,D,E,G} = ABCDEG
Câu 10a:
Bước 0: Đặt K = ABCDEG
Bước 1: Lặp 1: (K\A)F+ = (BCDEG)F+ = BCDEGA = U K = BCDEG
Lặp 2: (K\B)F+ = (CDEG)F+ = CDEGBA = U K = CDEG
Lặp 3: (K\C)F+ = (DEG)F+ = DEGA ≠ U K = CDEG (Ko bỏ C)Lặp 4: (K\D)F+ = (CEG)F+ = CEGBA ≠ U K = CDEG (Ko bỏ D)Lặp 5: (K\E)F+ = (CDG)F+ = CDGBAE = U K = CDG
Lặp 6: (K\G)F+ = (CD)F+ = CDB ≠ U K = CDG (Ko bỏ G)
Bước 2: Kết luận: Một khoá của lược đồ quan hệ Q là K = CDG
Trang 28Vậy: BDG và CDG là khóa của quan hệ Q
Câu 10c:
10c.1- Xác định dạng chuẩn cao nhất của lược đồ trên:
Xét khóa CDG: Quan hệ Q không đạt dạng chuẩn 2 (2NF) vì tồn tại phụ thuộc hàm(PTH) C ® B trong đó thuộc tính B không phụ thuộc đầy đủ vào khoá CDG
10c.2- Phân rã lược đồ để đạt dạng chuẩn 3 (3NF) và bảo mật thông tin:
Trang 29Bỏ D: (AB)F+ = ABC không xác định được E
Không loại bỏ PTH ABD ® E
Lặp 1: (K12 \ A)F12+ = (BC)F12+ = BC U12 K12 = ABC
Lặp 2: (K12 \ B)F12+ = (AC)F12+ = ACB = U12 K12 = AC
Lặp 1: (K12 \ C)F12+ = (A)F12+ = A U12 K12 = AC
Lược đồ được phân rã lại như sau:
R12(ACB) khóa AC (AB ® C; C ® B)
R3(ABDE) khóa ABD (ABD ® E)
Trang 30 D = {R12 ; R3 ; R4}
F = { AC -> B; BI -> ACD; ABC -> D; H -> I; ACE -> BCG;
CG -> AE}
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 = {A,B,C,D,E,G,H,I} = ABCDEGHI
Câu 11a:
Bước 0: Đặt K = ABCDEGHI
Bước 1: Lặp 1: (K\A)F+ = (BCDEGHI)F+ = BCDEGHIA = U K = BCDEGHI
Lặp 2: (K\B)F+ = (CDEGHI)F+ = CDEGHIAB = U K = CDEGHI
Lặp 3: (K\C)F+ = (DEGHI)F+ = DEGHI ≠ U K = CDEGHI (Ko bỏ C)Lặp 4: (K\D)F+ = (CEGHI)F+ = CEGHIABD = U K = CEGHI
Lặp 5: (K\E)F+ = (CGHI)F+ = CGHIAEBD = U K = CGHI
Lặp 6: (K\G)F+ = (CHI)F+ = CHI ≠ U K = CGHI (Ko bỏ G)Lặp 7: (K\H)F+ = (CGI)F+ = CGIAEBD ≠ U K = CGHI (Ko bỏ H)Lặp 8: (K\I)F+ = (CGH)F+ = CGHAEBDI = U K = CGH
Bước 2: Kết luận: Một khoá của lược đồ quan hệ Q là K = CGH
Trang 3111c.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:
Trang 32* 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}
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ỏ A: (CE)F+ = CE xác định được 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
Trang 33Bỏ 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
Trang 34R1(ACBD) khoá AC (AC ® B ; AC ® D)
R2(BIAC) khoá BI (BI ® A ; BI ® 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
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:
Trang 3512c.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 ® Rtrong đó 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: