Tìm nhiều khóa của quan hệ R

Một phần của tài liệu Ôn tập Thiết kế CSDL (Trang 27 - 31)

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

Bước 2: Kết luận: Một khoá của lược đồ quan hệ Q là K = CDG

Câu 10b:

Tập thuộc tính nguồn: N = {D,G} Tập thuộc tính đích: Đ = {E}

Tập thuộc tính trung gian: TG = {A,B,C} ⇒ Tập Xi có 23 = 23 = 8 ptử

Xi Xi ∪ N (Xi ∪ N)+ Siêu khóa Khóa ∅ DG DGA ≠ U - - A ADG ADG ≠ U - - B BDG BDGACE = U SK Khóa C CDG CDGBAE = U SK Khóa AB ABDG ABDGCE = U SK AC ACDG ACDGBE = U SK BC BCDG BCDGAE = U SK

ABC ABCDG ABCDGE = U SK

Vậ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:

* 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

F = { AB → C ; C → B ; ABD → E ; G → A}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: - Xét AB → C:

Bỏ A: (B)F+ = B không xác định được C Bỏ B: (A)F+ = A không xác định được C ⇒ Không loại bỏ PTH AB → C

Bỏ A: (BD)F+ = BD không xác định được E Bỏ B: (AD)F+ = AD không xác định được E Bỏ D: (AB)F+ = ABC không xác định được E ⇒ Không loại bỏ PTH ABD → E

f1 f2 f3 f4

F = { AB → C ; C → B ; ABD → E ; G → A}Bước 4: Loại bỏ các PTH dư thừa Bước 4: Loại bỏ các PTH dư thừa

- Với f1 = AB → C ; F1 = F \ {f1}

(AB)F1+ = AB không xác định được C ⇒ Không loại bỏ được f1 - Với f2 = C → B ; F2 = F \ {f2}

(C)F2+ = C không xác định được B ⇒ Không loại bỏ được f2 - Với f3 = ABD → E ; F3 = F \ {f3}

(ABD)F3+ = ABDC không xác định được E ⇒ Không loại bỏ được f3 - Với f4 = G → A; F4 = F \ {f4}

(G)F4+ = G không xác định được A ⇒ Không loại bỏ được f4 ⇒ f1 f2 f3 f4

PTT = F = { AB → C ; C → B ; ABD → E ; G → A} * Phân rã lược đồ:

R1(ABC) khoá AB (AB → C) R2(CB) khoá C (C → B) R3(ABDE) khóa ABD (ABD → E) R4(GA) khóa G (G → A)

* Do R2 R1 nên ghép R1 và R2 thành R12(ABC) {AB C; C B}.

Tìm khóa cho R12:

Ta có U12 = ABC và F12 = {AB → C; C → B} Đặt K12 = ABC

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)

R4(GA) khóa G (G → A)

⇒ D = {R12 ; R3 ; R4}

Bài 11: Cho lược đồ quan hệ Q(A,B,C,D,E,G,H,I) và tập các PTH:

F = { AC -> B; BI -> ACD; ABC -> D; H -> I; ACE -> BCG; CG -> AE} 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 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

Câu 11b:

Tập thuộc tính nguồn: N = {H} Tập thuộc tính đích: Đ = {D}

Tập thuộc tính trung gian: TG = {A,B,C,E,G} ⇒ Tập Xi có 25 = 25 = 32 ptử

Xi Xi N (Xi N)+ Siêu

khóa Khóa

A AH AHI ≠ U - -B BH BHIACD ≠ U - -

Một phần của tài liệu Ôn tập Thiết kế CSDL (Trang 27 - 31)