PH THUC HM functional dependency Ph thuc hm

  • Slides: 54
Download presentation
PHỤ THUỘC HÀM (functional dependency)

PHỤ THUỘC HÀM (functional dependency)

Phụ thuộc hàm (FD) q Định nghĩa: Cho một lược đồ quan hệ gồm

Phụ thuộc hàm (FD) q Định nghĩa: Cho một lược đồ quan hệ gồm n thuộc tính: Q(A 1, A 2, …, An) - X, Y là hai tập con của Q+={A 1, A 2, …, An}. - r là một quan hệ trên Q. - t 1, t 2 là hai bộ bất kỳ của r. Phụ thuộc hàm giữa hai thuộc tính X và Y ký hiệu là X Y được định nghĩa như sau: X Y (t 1. X = t 2. X t 1. Y = t 2. Y) (Ta nói X xác định Y hay Y phụ thuộc hàm vào X)

Phụ thuộc hàm (FD) q Ví dụ: cho lược đồ quan hệ: Q(A, B,

Phụ thuộc hàm (FD) q Ví dụ: cho lược đồ quan hệ: Q(A, B, C, D, E) A B C D E I. AB C 1 2 3 4 5 II. B D 1 4 3 4 5 III. DE A (T) 1 2 4 4 1 (T)

Phụ thuộc hàm (FD) q Phụ thuộc hàm hiễn nhiên: Nếu X Y thì

Phụ thuộc hàm (FD) q Phụ thuộc hàm hiễn nhiên: Nếu X Y thì X Y. - Với r là quan hệ bất kỳ, F là tập phụ thuộc hàm thỏa trên r, ta luôn có F {các phụ thuộc hàm hiển nhiên}

Phụ thuộc hàm (FD) q Thuật toán Satifies: Cho quan hệ r và X,

Phụ thuộc hàm (FD) q Thuật toán Satifies: Cho quan hệ r và X, Y là hai tập con của Q+, Thuật toán SATIFIES sẽ trả về trị true nếu X Y ngược lại là false q SATIFIES(r, X, Y) - Sắp các bộ của quan hệ r theo X để các giá trị giống nhau trên X nhóm lại với nhau - Nếu tập các bộ cùng giá trị trên X cho các giá trị trên Y giống nhau thì trả về true ngược lại là False

Phụ thuộc hàm (FD) q Ví dụ: SATIFIES(phan. Cong, MAYBAY, GIOKH)

Phụ thuộc hàm (FD) q Ví dụ: SATIFIES(phan. Cong, MAYBAY, GIOKH)

Phụ thuộc hàm (FD) q Cách tìm tất cả tập con của Q+: -

Phụ thuộc hàm (FD) q Cách tìm tất cả tập con của Q+: - Số tập con có thể có của Q+ = {A , . . . , A } là 2 n - Số phụ thuộc hàm có thể có: 2 nx 2 n A B C D AB AC AD BC BD ABC ABD Ví dụ: Q+=(A, B, C, D) • Số tập con: 24=16 • Số PTH: =24 x 24=256 C AC BC ABC

Hệ luật dẫn Armstrong q Phụ thuộc hàm được suy diễn logic từ F

Hệ luật dẫn Armstrong q Phụ thuộc hàm được suy diễn logic từ F - Phụ thuộc hàm X Y được suy diễn logic từ F nếu một quan hệ r bất kỳ thỏa mãn tất cả các phụ thuộc hàm của F thì cũng thỏa phụ thuộc hàm X Y. Ký hiệu F|= X Y. q Bao đóng của F (F+) - Bao đóng của F ký hiệu F+ là tập tất cả các phụ thuộc hàm được suy diễn logic từ F.

Hệ luật dẫn Armstrong q Các tính chất của tập F+ - Tính phản

Hệ luật dẫn Armstrong q Các tính chất của tập F+ - Tính phản xạ: F F+ - Tính đơn điệu: Nếu F G thì F+ G+ - Tính lũy đẳng: (F+)+ = F+. - Gọi G là tập tất cả các phụ thuộc hàm có thể có của r, phần phụ của F ký hiệu F‑ = G ‑ F+

Hệ luật dẫn Armstrong q Hệ luật dẫn Amstrong: - Cho X, Y, Z,

Hệ luật dẫn Armstrong q Hệ luật dẫn Amstrong: - Cho X, Y, Z, W là tập con của Q+ - r là quan hệ bất kỳ của Q. - Ba luật của tiên đề Amstrong: 1. Luật phản xạ (reflexive rule): Nếu Y X thì X Y 2. Luật tăng trưởng(augmentation rule): Nếu Z Q và X Y thì XZ YZ 3. Luật bắc cầu (Transivity Rule) Nếu X Y và Y Z thì X Z

Hệ luật dẫn Armstrong - Ba hệ quả của tiên đề Amstrong: 1. Luật

Hệ luật dẫn Armstrong - Ba hệ quả của tiên đề Amstrong: 1. Luật hợp (Union Rule) Nếu X Y và X Z thì X YZ 2. Luật bắc cầu giả (Pseudotransivity Rule) Nếu X Y và WY Z thì XW Z 3. Luật phân rã (Decomposition Rule) Nếu X Y và Z Y thì X Z

Bao đóng của tập thuộc tính X (closures of attribute sets) q Định nghĩa:

Bao đóng của tập thuộc tính X (closures of attribute sets) q Định nghĩa: - Q là lược đồ quan hệ. - r là một quan hệ trên Q, - F là tập các phụ thuộc hàm trong Q. - X, Ai là các tập con của Q+ Bao đóng của tập thuộc tính X đối với F ký hiệu là X+ được định nghĩa: X+= Ai với X Ai là phụ thuộc hàm được suy diễn từ F nhờ hệ tiên đề Armstrong

Bao đóng của tập thuộc tính X (closures of attribute sets) q Thuật toán

Bao đóng của tập thuộc tính X (closures of attribute sets) q Thuật toán tìm bao đóng: - Tính liên tiếp tập các tập thuộc tính X 0, X 1, X 2, . . . theo phương pháp sau: - Bước 1: X 0 = X - Bước 2: lần lượt xét các phụ thuộc hàm của F v. Nếu Y Z có Y Xi thì Xi+1 = Xi Z v. Loại phụ thuộc hàm Y Z khỏi F - Bước 3: Nếu ở bước 2 không tính được Xi+1 thì Xi chính là bao đóng của X - Ngược lại lặp lại bước 2

Bao đóng của tập thuộc tính X (closures of attribute sets) Ví dụ: Cho

Bao đóng của tập thuộc tính X (closures of attribute sets) Ví dụ: Cho lược đồ quan hệ Q(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 bao đóng của X = {AC} trên F § X(0) = {A, C} , {A, C} {D} § X(1) = {A, C, D}, {A, D} {C, E} § X(2) = {A, C, D, E}, {D} {H} § X(3) = {A, C, D, E, H} § X+= X(3) Cho X = {B, D} ‑>X+?

Bao đóng của tập thuộc tính X (closures of attribute sets) q Ví du

Bao đóng của tập thuộc tính X (closures of attribute sets) q Ví du 2: cho lược đồ quan hệ: Q(A, B, C, D, E, G) F = { f 1: A → C; f 2: A → EG; f 3: B → D; f 4: G → E} - Tìm bao đóng của X+ và Y+ của X = {A, B}; Y = {C, G, D} - Kết quả : X+ = {ABCEG} , Y+ = {CGDE}

Sử dụng bao đóng của tập thuộc tính q Kiê m tra siêu kho

Sử dụng bao đóng của tập thuộc tính q Kiê m tra siêu kho a (Testing for superkey) - Đê kiê m tra X co pha i la siêu khóa: ti nh X+, nê u X+ chư a tâ t ca ca c thuô c ti nh cu a R thi X la siêu khóa. - X la kho a dư tuyê n (candidate key) nê u không tập con nào trong sô ca c tâ p con cu a no la kho a. q Kiê m tra mô t phu thuô c ha m X Y co đươ c suy dâ n tư F. q Kiê m tra 2 tâ p phu thuô c ha m tương đương F+=G+ - Với mỗi phụ thuộc hàm Y Z trong F v. Tính Y+ trên tập phụ thuộc hàm G v. Nếu Z Y+ thì Y Z trong G+ và ngược lại

Phu thuô c ha m dư thư a q Tâ p ca c phu

Phu thuô c ha m dư thư a q Tâ p ca c phu thuô c ha m co thê la dư thư a vi chu ng co thê suy diê n tư ca c FDs kha c. - Vi du : A C la dư thư a đô i vơ i F: (A B, B C, A C) q Mô t phâ n cu a phu thuô c ha m cu ng có thể dư thư a. - Vi du : F=(A B, B C, A C, D) co thê đươ c viê t la i: F=(A B, B C, A D)

Bao đóng của tập phụ thuộc hàm q Bao đóng của F ký hiệu

Bao đóng của tập phụ thuộc hàm q Bao đóng của F ký hiệu F+ là tập tất cả các phụ thuộc hàm được suy diễn logic từ F. q Thuật toán tìm bao đóng F+ - Bước 1: Tìm tất cả tập con của Q+ - Bước 2: Tìm tất cả các phụ thuộc hàm có thể có của Q. - Bước 3: Tìm bao đóng của tất cả tập con của Q. - Bước 4: Dựa vào bao đóng của tất cả các tập con đã tìm để xác định phụ thuộc hàm nào thuộc F+

Bao đóng của tập phụ thuộc hàm q Ví dụ: Q(A, B, C) F

Bao đóng của tập phụ thuộc hàm q Ví dụ: Q(A, B, C) F = {AB C, C B} F+ ? - B 1: tìm tất cả tập con của các thuộc tính Q+ - B 2: Tìm bao đóng của tất cả các tập con thuộc tính v A+ = A v. B + = B v. C+ = BC v. AC+ = ABC v. AB+ = ABC v. BC+ = BC A B C {A} {B} {C} {A, B } {A, C} {B, C} {A, B, C}

Bao đóng của tập phụ thuộc hàm q Tìm tất cả các phụ thuộc

Bao đóng của tập phụ thuộc hàm q Tìm tất cả các phụ thuộc hàm có thể có: A BC B C AB C F C A A ABC B AC AB AC F+ C B F A C BC F+ AC BC F+ BC AC C ABC AC ABC F+ BC ABC B BC AB BC F+ C AB AC B F+ A AC B ABC AB ABC F C AC AC AB F+ + BC AB q Kết quả: F+ = {AB C, AB AC, AB BC, AB ABC, C B, C BC, AC B, AC AB, AC BC, AC ABC}

Bao đóng của tập phụ thuộc hàm q Thuật toán tìm F+ cải tiến:

Bao đóng của tập phụ thuộc hàm q Thuật toán tìm F+ cải tiến: - Bước 1: Tìm tất cả tập con của Q+ - Bước 2: Tìm bao đóng của tất cả tập con của Q+ - Bước 3: Dựa vào bao đóng của các tập con đã tìm để suy ra các phụ thuộc hàm thuộc F+

Bao đóng của tập phụ thuộc hàm q Ví dụ: - A+ = A

Bao đóng của tập phụ thuộc hàm q Ví dụ: - A+ = A chỉ gồm các phụ thuộc hàm hiển nhiên - {AB}+ = ABC cho các phụ thuộc hàm không hiển nhiên sau: AB C, AB AC, AB BC, AB ABC - Tìm tất cả các tập con của {ABC} rồi bỏ các tập con của {AB} v. Các tập con của {ABC} là: , {A}, {B}, {AB}, {C}, {AC}, {BC}, {ABC} v. Bỏ các tập con của {AB} là: , {A}, {B}, {AB}, {C}, {AC}, {BC}, {ABC} - Các tập còn lại chính là vế phải của phụ thuộc hàm có vế trái là AB

Bao đóng của tập phụ thuộc hàm q 1/ Cho quan hệ sau: -

Bao đóng của tập phụ thuộc hàm q 1/ Cho quan hệ sau: - r( A B C D E) - a 1 b 1 c 1 d 1 e 1 - a 1 b 2 c 2 d 1 - a 2 b 1 c 3 d 3 e 1 - a 2 b 1 c 4 d 3 e 1 - a 3 b 2 c 5 d 1 e 1 Phụ thuộc hàm nào sau đây thỏa r: A D, AB D, C BDE, E A, A E

Bao đóng của tập phụ thuộc hàm 1. Cho Q+={ABC}. - a) Tìm tất

Bao đóng của tập phụ thuộc hàm 1. Cho Q+={ABC}. - a) Tìm tất các tập con của Q - b) Tìm tất cả các phụ thuộc hàm có thể có của Q (không liệt kê phụ thuộc hàm hiển nhiên) 2. Cho F = {AB C, B D, C E, CE GH, G A} - a) Hãy chứng tỏ phụ thuộc hàm AB E, AB G được suy diễn từ F nhờ luật dẫn Armstrong - b) Tìm bao đóng của AB(với bài toán không nói gì về lược đồ quan hệ Q ta ngầm hiểu Q+ là tập thuộc tính có trong F nghĩa là Q+={ABCEGH})

Bao đóng của tập phụ thuộc hàm 1. Cho F = {A D, AB

Bao đóng của tập phụ thuộc hàm 1. Cho F = {A D, AB DE, CE G, E H}. Hãy tìm bao đóng của AB. 2. Cho F={AB E, AG I, BE I, E G, GI H}. - Hãy chứng tỏ phụ thuộc hàm AB GH được suy diễn từ F nhờ luật dẫn Armstrong - Tìm bao đóng của {AB} 3. Cho F={A D, AB E, BI E, C I, E C} tìm bao đóng của {AE}+

Phụ thuộc hàm tương đương q Định Nghĩa: Hai tập phụ thuộc hàm F

Phụ thuộc hàm tương đương q Định Nghĩa: Hai tập phụ thuộc hàm F và G là tương đương (Equivalent) nếu F+ = G+ - ký hiệu F = G. q Thuật toán xác định F và G có tương đương không - Bước 1: Với mỗi phụ thuộc hàm X Y của F ta xác định xem X Y có là thành viên của G không - Bước 2: Với mỗi phụ thuộc hàm X Y của G ta xác định xem X Y có là thành viên của F không - Nếu cả hai bước trên đều đúng thì F G

Phụ thuộc hàm tương đương q Ví dụ: Cho lược đồ quan hệ Q(ABCE)

Phụ thuộc hàm tương đương q Ví dụ: Cho lược đồ quan hệ Q(ABCE) hai tập phụ thuộc hàm: - F={A BC, A D, C E} - G = {A BCE, A ABD, C E} a) F có tương đương với G không? b) F có tương đương với G’={A BCE} không?

Phụ thuộc hàm tương đương a) - Tính A+ dựa trên tập G v.

Phụ thuộc hàm tương đương a) - Tính A+ dựa trên tập G v. A+=ABCE trong G+ có A BC và A D F G+ F+ G+ (1). - Tính A+ dựa trên tập F v. A+=ABCE trong F+ có A BCE và A ABD F+ G+ (2) v(1) và(2) F+ = G+ F G. b) Do = C G’+ không chứa phụ thuộc hàm C E F không tương đương với G’

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Phụ thuộc hàm

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Phụ thuộc hàm có vế trái dư thừa: - F là tập các phụ thuộc hàm trên lược đồ quan hệ Q. - Z Y F. - Phụ thuộc hàm Z Y có vế trái dư thừa nếu có một A Z sao cho: F F‑{Z Y} {(Z‑A) Y} Ví dụ 1: Q(A, B, C), F={AB C; B C} F F‑{AB C} {(AB‑A) C}={B C} AB C: là phụ thuộc hàm không đầy đủ B C : là phụ thuộc hàm đầy đủ

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) Ví dụ 2: cho

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) Ví dụ 2: cho tập phụ thuộc hàm F = {A BC , B C, AB D}. Phụ thuộc hàm AB D có vế trái dư thừa B vì: F = F – {AB D} {A D} = {A BC, B C, A D} q F là tập phụ thuộc hàm có vế trái không dư thừa nếu F không chứa phụ thuộc hàm có vế trái dư thừa.

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Thuật toán loại

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Thuật toán loại các phụ thuộc hàm có vế trái dư thừa: - Xét lần lượt các phụ thuộc hàm X Y trong F - Với mọi tập con X’≠ của X, nếu X’ Y F+ thì thay X Y bằng X’ Y. Ví dụ 3: F = {A BC , B C, AB D}, phụ thuộc hàm AB D có A+=ABC A D F+ Trong F ta thay AB D bằng A D F = {A BC, B C, A D}

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Phụ thuộc hàm

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Phụ thuộc hàm dư thừa: - F là tập phụ thuộc hàm không dư thừa nếu không tồn tại F’ F sao cho F’ F. Ngược lại F là tập phụ thuộc hàm dư thừa. Ví dụ: Cho F = {A BC, B D, AB D} thì F dư thừa vì F F’= {A BC, B D}

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Tập phụ thuộc

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Tập phụ thuộc hàm tối thiểu (minimal cover) - F được gọi là một tập phụ thuộc hàm tối thiểu (hay phủ tối thiểu) nếu F thỏa đồng thời ba điều kiện sau: §F là tập phụ thuộc hàm có vế trái không dư thừa §F là tập phụ thuộc hàm có vế phải một thuộc tính. §F là tập phụ thuộc hàm không dư thừa

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Thuật toán tìm

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Thuật toán tìm phủ tối thiểu của một tập phụ thuộc hàm - Bước 1: Loại bỏ các phụ thuộc hàm có vế trái dư thừa. - Bước 2: Tách các phụ thuộc hàm có vế phải nhiều hơn một thuộc tính thành các phụ thuộc hàm có vế phải một thuộc tính. - Bước 3: Loại bỏ các phụ thuộc hàm dư thừa.

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Ví dụ 1:

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Ví dụ 1: Cho lược đồ quan hệ Q(A, B, C, D) và tập phụ thuộc F ={AB CD, B C, C D}. Tìm phủ tối thiểu của F. - Bước 1: AB CD là phụ thuộc hàm có vế trái dư thừa? v Xét B CD F+ ? �Tính B+ =BCD B CD F+ v Vậy AB CD là phụ thuộc hàm có vế trái dư thừa A F={B CD; B C; C D}

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) - Bước 2: tách

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) - Bước 2: tách các phụ thuộc hàm có vế phải nhiều hơn 1 thuộc tính thành các phụ thuộc hàm có vế phải 1 thuộc tính F={B D; B C; C D}=F 1 tt - Bước 3: v. Trong F 1 tt, B C là phụ thuộc hàm dư thừa? B C G+ ? với G = F 1 tt ‑ {B C}={B D; C D} BG+=BD B C G+ trong F 1 tt B C không dư thừa.

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) v. Trong F 1

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) v. Trong F 1 tt, B D là phụ thuộc hàm dư thừa? B D G+ ? với G = F 1 tt ‑ {B D}={B C; C D} BG+=BC D B D G+ trong F 1 tt, B D dư thừa. v Kết quả của bước 3 cho phủ tối thiểu: F={B C; C D}=Ftt

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Ví dụ 6:

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q Ví dụ 6: Cho lược đồ quan hệ Q(A, B, C, D) và tập phụ thuộc F như sau: F = {A C; C A; CB D; AD B; CD B; AB D} q Hãy tìm phủ tối thiểu của F

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q kết quả: Ftt

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) q kết quả: Ftt = {A C; C A; C, D B; A, B D}

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Định Nghĩa: Cho lược đồ quan

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Định Nghĩa: Cho lược đồ quan hệ Q(A 1, A 2, …, An) v. Q+ là tập thuộc tính của Q. v. F là tập phụ thuộc hàm trên Q. v. K là tập con của Q+ K là một khóa của Q nếu: v. K+ = Q+ v. Không tồn tại K' K sao cho K’+= Q+

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) - Tập thuộc tính S được gọi

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) - Tập thuộc tính S được gọi là siêu khóa nếu S K - Thuộc tính A được gọi là thuộc tính khóa nếu A K với K là khóa bất kỳ của Q. Ngược lại A được gọi là thuộc tính không khóa. - Một lược đồ quan hệ có thể có nhiều khóa và tập thuộc tính không khóa cũng có thể bằng rỗng.

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Thuật toán tìm một khóa của

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Thuật toán tìm một khóa của một lược đồ quan hệ Q - Bước 1: gán K = Q+ - Bước 2: A là một thuộc tính của K, đặt K’ = K ‑ A. Nếu K’+= Q+ thì gán K = K' thực hiện lại bước 2 v. Nếu muốn tìm các khóa khác (nếu có) của lược đồ quan hệ, ta có thể thay đổi thứ tự loại bỏ các phần tử của K.

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Ví dụ: cho lược đồ quan

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Ví dụ: cho lược đồ quan hệ Q và tập phụ thuộc hàm F như sau: ‒ Q(A, B, C, D, E) ‒ F={AB C, AC B, BC DE} tìm khóa K B 1: K=Q+ K=ABCDE B 2: (KA)+ (BCDE)+=BCDE ≠ Q+ K=ABCDE B 3: (KB)+ (ACDE)+= ABCDE = Q+ K=ACDE B 4: (KC)+ (ADE)+ = ADE ≠ Q+ K=ACDE B 5: (KD)+ (ACE)+ = ACEBD=Q+ K=ACE B 6: (KE)+ (AC)+ = ACBDE =Q+ K=AC

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Ví dụ: cho lược đồ quan

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Ví dụ: cho lược đồ quan hệQ(ABCDEGHI) và tập thuộc tính F={AC B; BI AC; ABC D; H I; ACE BCG; CG AE} - Tìm K - Đáp án: K=CGH

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Thuật toán tìm tất cả khóa

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Thuật toán tìm tất cả khóa của lược đồ quan hệ: - Bước 1: Xác định tất cả các tập con khác rỗng của Q+={X 1, X 2, …, X 2 n‑ 1 } - Bước 2: Tìm bao đóng của các Xi - Bước 3: Siêu khóa là các Xi có Xi+= Q+ v. Giả sử ta đã có các siêu khóa là S = {S 1, S 2, …, Sm} - Bước 4: xét mọi Si, Sj con của S (i ≠ j), nếu Si Sj thì loại Sj (i, j=1. . n), kết quả còn lại của S chính là tập tất cả các khóa cần tìm.

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Ví dụ: Tìm tất cả các

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Ví dụ: Tìm tất cả các khóa của lược đồ quan hệ và tập phụ thuộc hàm như sau:

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Thuật toán (cải tiến) tìm tất

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) q Thuật toán (cải tiến) tìm tất cả khóa của một lược đồ quan hệ - Bước 1: tạo tập thuộc tính nguồn TN, tập thuộc tính trung gian TG - Bước 2: v. Nếu TG = thì lược đồ quan hệ chỉ có một khóa K = TN kết thúc v Ngược lại Qua bước 3 - Bước 3: tìm tất cả các tập con Xi của tập trung gian TG

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) - Bước 4: tìm các siêu khóa

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) - Bước 4: tìm các siêu khóa Si bằng cách Xi v if (TN Xi)+ = Q+ then v Si = TN Xi - Bước 5: tìm khóa bằng cách loại bỏ các siêu khóa không tối thiểu v Si, Sj S v if Si Sj then Loại Sj ra khỏi Tập siêu khóa S v S còn lại chính là tập khóa cần tìm.

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) Ví dụ: cho lược đồ quan hệ

KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (Key) Ví dụ: cho lược đồ quan hệ Q(CSZ) và tập phụ thuộc hàm F={CS Z; Z C}. Áp dụng thuật toán cải tiến: - TN = {S}; TG = {C, Z} - Gọi Xi là các tập con của tập TG:

BÀI TẬP

BÀI TẬP

BÀI TẬP

BÀI TẬP

BÀI TẬP

BÀI TẬP

BÀI TẬP

BÀI TẬP

BÀI TẬP

BÀI TẬP