Chuẩn húa lược đồ quan hệ

Một phần của tài liệu Tài liệu học tập cơ sở dữ liệu (Trang 135)

b. Cỏc hàm thư viện

3.3.Chuẩn húa lược đồ quan hệ

3.3.1. Cỏc dạng chuẩn

3.3.1.1. Dạng chuẩn thứ nhất (1NF – First Normal Form)

Một lược đồ quan hệ R được gọi là ở dạng chuẩn một nếu và chỉ nếu toàn bộ cỏc miền cú mặt trong R đều chỉ chứa cỏc giỏ trị nguyờn tố.

Từ định nghĩa này cho ta thấy rằng bất kỳ quan hệ chuẩn húa nào cũng ở dạng 1NF và tất nhiờn điều đú đỳng.

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Vớ dụ: SV (MSSV,Hoten, Ngsinh, ngoaingu)

Quan hệ SV chưa ở dạng chuẩn 1 vỡ cú thuộc tớnh ngoại ngữ là đa trị.

3.3.1.2. Dạng chuẩn thứ 2 (2NF)

Lược đồ quan hệ R ở dạng chuẩn thứ hai nếu nú ở dạng 1NF và nếu mỗi thuộc tớnh khụng khúa của R là phụ thuộc hàm đầy đủ vào khúa chớnh.

Vớ dụ: Cho quan hệ R (A, B, C, D, E) F= {AB CD, CE}

 Ở dạng chuẩn 2

3.3.1.3. Dạng chuẩn thứ 3 (3NF)

Cho lược đồ quan hệ R(U), X là tập con cỏc thuộc tớnh XU, A là một thuộc

tớnh thuộc U. A được gọi là phụ thuộc bắc cầu vào X trờn R nếu tồn tại một tập con Y

của R sao cho X→Y, Y→A nhưng YX (khụng xỏc định hàm) với A XY.

Vớ dụ 1: Cho lược đồ quan hệ R(SAIP) với cỏc phụ thuộc hàm SI→P và S→A. R là khụng ở dạng 3NF, thậm chớ khụng ở dạng 2NF.

Giả sử X= SI, Y= S, A là thuộc tớnh khụng khúa vỡ chỉ cú 1 khúa là SI. Vỡ X→Y và Y→A nhưng lại cú Y→X tức là S→SI là khụng thỏa. Chỳ ý rằng trong trường hợp này X→Y và Y→A khụng chỉ thỏa trờn R mà là những phụ thuộc đó cho. Điều đú là đủ để núi rằng X→Y, Y→A suy ra từ tập cỏc phụ thuộc hàm.

Như vậy A là phụ thuộc bắc cầu vào khúa chớnh SI.

Vớ dụ 2: Cho phụ lược đồ quan hệ R(CSZ) với cỏc phụ thuộc hàm CS→Z, Z→C. Trong lược đồ này mọi thuộc tớnh đều là thuộc tớnh khúa. Do vậy R là ở dạng 3NF. Vớ dụ 3: Cho R (A, B, C, D, E, F)

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

 Quan hệ R khụng ở dạng chuẩn 3

Vỡ thuộc tớnh F phụ thuộc bắc cầu vào khúa AB

Định nghĩa : Lược đồ quan hệ R là ở dạng chuẩn thứ ba (3NF) nếu nú là 2NF và mỗi

thuộc tớnh khụng khúa của R là khụng phụ thuộc hàm bắc cầu vào khúa chớnh.

3.3.1.4. Dạng chuẩn Boye- Codd (BCNF)

Lược đồ quan hệ R với tập cỏc phụ thuộc hàm được gọi là ở dạng chuẩn BCNF

nếu X→A thỏa trờn R, AX thỡ X là một khúa của R.

Vớ dụ 1: Trong vớ dụ R(CSZ) nờu trờn, rừ ràng R khụng ở BCNF mà là ở 3NF vỡ rằng Z→C nhưng khụng phải là khúa của R.

Vớ dụ 2: cho R (A1,A2,A3,A4,A5) Với cỏc phụ thuộc hàm: A1,A2→ A3,A4,A5 A4→ A2

 R vi phạm dạng chuẩn BCNF

Vỡ cú thuộc tớnh khúa (A2) phụ thuộc hàm vào thuộc tớnh khụng khúa (A4). Từ vớ dụ này thấy rằng một lược đồ quan hệ cú thể cú 3NF nhưng khụng phải BCNF. Do đú mỗi lược đồ quan hệ ở BCNF là 3NF. Để khẳng định điều đú cú định lý sau đõy.

Định lý : Nếu một lược đồ quan hệ R với tập phụ thuộc hàm F là ở BCNF thỡ nú là ở

3NF.

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Giả sử rằng lược đồ quan hệ R là ở dạng BCNF nhưng khụng ở dạng 3NF. Như vậy sẽ tồn tại một phụ thuộc hàm bắc cầu hoặc phụ thuộc hàm thành phần X→ Y→A trong đú X là khúa của R, A ∉X hoặc A ∉Y. Và Y→X∉ F+.

Do vậy Y khụng phải là một khúa của R. Nhưng A∉Y, do đú Y→A là một phụ thuộc hàm cho nờn vi phạm điều kiện BCNF (tức là Y phải là khúa).

3.3.2. Chuẩn húa qua phộp tỏch khụng làm mất mỏt thụng tin

a. Phộp tỏch lược đồ quan hệ thành BCNF

Định lý :

a. Giả sử R là một lược đồ quan hệ với tập phụ thuộc hàm F.

Gọi 𝛒 =(R1, ….., Rk) là một phộp tỏch khụng mất mỏt thụng tin của R đối với F. Gọi Fi là hỡnh chiếu của F trờn Ri, i=1…k, tức là tập của (X→Y) ∈ F + sao cho X⊆ Ri và Y⊆ Ri.

Gọi 𝛅 =(S1,……,Sm) là phộp tỏch khụng mất mỏt thụng tin của Riđối với Fi. Khi đú phộp tỏch của R thành (R1,….., Ri-1, S1….. ,Sm, Ri+1….., Rk) đối với F là khụng mất mỏt thụng tin.

b. Giả sử R, F và 𝝆như ở mục (a).

Gọi t= (R1,….., Rk, Rk+1, ……, Rn) là một phộp tỏch của R thành tập cỏc lược đồ bao gồm cả𝛒thỡ t cũng là phộp tỏch khụng làm mất mỏt thụng tin đối với F.

Thuật toỏn: Tỏch một lược đồ quan hệ thành BCNF

Input : Lược đồ quan hệ R và tập phụ thuộc hàm F

Output : Phộp tỏch của R khụng làm mất mỏt thụng tin sao cho mỗi lược đồ quan hệtrong phộp tỏch đều ở dạng BCNF đối với phộp chiếu của F trờn lược đồđú.

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Cấu trỳc phộp tạch 𝝆 trờn R theo phương phỏp lặp liờn tiếp. Tại mỗi bước phộp tỏch 𝝆là đảm bảo khụng mất mỏt thụng tin đối với F.

Bước đầu: 𝝆 chỉ bao gồm R

Cỏc bước tiếp theo : Nếu S là một lược đồ thuục 𝝆 , S chưa ở dạng BCNF, chọn X→A là phụ thuộc hàm thỏa trờn S, trong đú X khụng chứa khúa của S, A∉ X. Rừ ràng cần phải cú một số thuộc tớnh khỏc của S vừa khụng phải A, vừa khụng thuộc X hoặc nếu khụng thuộc X thỡ phải chứa một khúa của S. Thay thế S trong 𝝆 bởi S1và S2 với S1=XA, S2= S - A

Theo định lý, phộp tỏch S thành S1 và S2 là khụng mất mỏt thụng tin đối với tập phụ thuộc hàm trờn S vỡ rằng S1 ∩S2 = X, X→S1 –S2 = A.

Theo bổ đềphần (a) được thay S bằng S1 và S2 là khụng mất mỏt thụng tin. Mỗi lược đồ đều cú số thuộc tớnh ớt hơn S.

Quỏ trỡnh tiếp tụ cho tới khi tất cả cỏclược đồđều ở BCNF. Chỳ ý rằng tại mọi thời điểm 𝝆 luụn đảm bảo khụng mất mỏt thụng tin, vỡ rằng 𝝆 ban đầu là R, mà bước thay đổi 𝝆đều bảo toàn tớnh chất đú.

Vớ dụ:

Cho lược đồ R(CTHRSG), trong đú C- giỏo trỡnh, T- Thầy giỏo, H- giờ, R- Phũng học, S- Sinh viờn, G- Lớp. Tập cỏc phụ thuộc hàm:

C→T: Mỗi giỏo trỡnh cú một thầy dạy

HR→C: Chỉ một mụn học (giỏo trỡnh) ở một phũng tại một thời điểm HT→R: Tại mỗi thời điểm mỗi thầy chỉ cú thể dạy ở một phũng CS→G: Mỗi sin viờn chỉ ở một lớp theo học mỗi giỏo trỡnh HS→R: Mỗi sinh viờn chỉ cú thể ở một phũng tại mỗi thời điểm

Giải :

Khúa của R là HS

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Xột CS→G cho R. Vi phạm điều kiện BCNF vỡ CS khụng chưa khúa. Do vậy, dựng thuật toỏn 3.3 để tỏch R thành R1(CSG) và R2(CTHRS). Bước tiếp theo cần tớnh F+ và chiếu xuống R1 và R2, sau đú kiểm tra cỏc lược đồ đó ở BCNF hay chưa. Cú thể biểu diễn quỏ trỡnh tỏch qua sơ đồ sau :

b. Phộp tỏch lược đồ quan hệ thành 3NF

Tương tự như phộp tỏch khụng mất mỏt thụng tin một lược đồ quan hệ thành BCNF, ở đõy sẽ đưa ra thuật toỏn tỏch thành 3NF.

Thuật toỏn: Tỏch một lược đồ thành 3NF

Input : Lược đồ quan hệ R, tập cỏc phụ thuộc hàm F, để khụng làm mất tớn tổng quỏt, ta giả sử rằng nú là phủ tối thiểu.

Output : Phộp tỏch khụng làm mất mỏt thụng tin trờn R bảo toàn cỏc phụ thuộc hàm sao cho mỗi lược đồ con đều ở 3NF.

R (CTHRSG) Khúa = HS C→ T HR→ C TH→ R CS→G HS→R C→T HHS→C R→C TH→R HS→R CH→R HR→C C→T CH→R, HR→C R→C C→T CH→R, HR→C HS→C R1 (CSG) Khúa = CS CSG R2 (CTHRS) Khúa = SH R21 (CT) Khúa = C R22 (CHRS) Khúa = HS R221 (CHR) Khúa = CH, HR R222 (CHS) Khúa = SH

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Phương phỏp :

i. Loại bỏ tất cả cỏc thuộc tớnh của R nếu cỏc thuộc tớnh đú khụng liờn quan đến một phụ thuộc hàm nào của F, hoặc vế trỏi, hoặc vế phải.

ii. Nếu cú một phụ thuộc hàm nào của F mà liờn quan tới tất cả cỏc thuộc tớnh của R thỡ kết quả ra chớnh là R.

iii. Ngoài ra, phộp tỏch 𝝆đưa ra cỏc lược đồ gồm cỏc thuộc tớnh XA cho phụ thuộc hàm X→A thuộc F, nếu X→A1,….., X→An thuộc tớnh F thỡ thay thế tập thuộc tớnh XA1A2….An cho XAi(1≤ i≤ n). Quỏ trỡnh tiếp tục.

Chỳ ý : Tại mỗi bước kiểm tra lược đồ R, nếu mỗi thuộc tớnh khụng khúa khụng phụ thuộc bắc cầu vào khúa chớnh, khi đú R sẽ ở dạng 3NF, ngược lại cần ỏp dụng bước (iii) để tỏch tiếp.

Vớ dụ: Cho lược đồ quan hệ R(CTHRSG) với tập phụ thuộc hàm tối thiểu C→F, HR→C,

HT→R, CS→ G và HS→R dựng thuật toỏn trờncho tập lược đồ ở dạng chuẩn 3NF: R1(CT), R2(CHR), R3(RHT), R4(CGS) và R5(HRS).

3.3.3. Chuẩn húa nhờ phộp tổng hợp

Trong phần 3.3.2 đó xem xộtquỏ trỡnh chuẩn húa một lược đồ quan hệ thành 3NF nhờ phộp tỏch khụng mất mỏt thụng tin đối với cỏc phụ thuộc hàm. Trong phần này sẽ trỡnh bày quỏ trỡnh chuẩn húa nhờ phộp tổng hợp. Điều khỏc nhau cơ bản ở phộp tổng hợp so với phộp tỏch là thụng tin ban đầu gồm tập cỏc thuộc tớnh (hiểu theo nghĩa người sử dụng chỉ biết tờn cỏc thuộc tớnh) và tập cỏc phụ thuộc hàm, cũn trong phương phỏp tỏch, thụng tin ban đầu là một lược đồ rất cụ thể. Qua phộp tổng hợp (hoặc phộp tỏch) kết quả đều cho một tập cỏc lược đồ đều ở 3NF.

Để làm rừ thuật toỏn, ở đõy nhắc lại khỏi niệm phụ thuộc hàm dư thừa và phủ khụng dưa thừa. Một FD X→Y là dư thừa trong tập phụ thuộc hàm F nếu F+ = (F-

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

{X→Y}) . G là phủ khụng dư thừa của F nếu G = F và G khụng chứa một FD nào dư thừa.

Mộtthuộc tớnh thuộc vế trỏi một phụ thuộc hàm được gọi là dư thừa nếu loại bỏ nú khụng làm thay đổi bao đúng của tập cỏc phụ thuộc hàm, tức là:

Nếu X→Y∈F, A∈X, A là dư thừa nếu (X→A)→Y ∈F+.

Định lý :

Gọi F là tập cỏc phụ thuộc hàm trờn R. (X→Y)F. Nếu (V→W)F+và X→Y

được sử dụng cho một dẫn xuất nào đú của h từ F nhờ hệ tiờn đề Armstrong thỡ

(V→X)F+.

Thuật toỏn. Tổng hợp thành cỏc lược đồ ở 3NF

Input : Tập cỏc thuộc tớnh An, tập cỏc phụ thuộc hàm F

Output : Tập cỏc lược đồ quan hệ ở 3NF

Phương phỏp:

Tỡm phủ khụng dư thừa H của F (tức là loại bỏ cỏc phụ thuộc hàm dư thừa). Phõn chia tập phụ thuộc hàm H thành cỏc nhúm sao cho cỏc phụ thuộc hàm trong một nhúm là cú cựng vế trỏi.

Mỗi cặp nhúm, vớ dụ H1 và H2cú vế trỏi là X và Y mà tồn tại song ảnh (X↔Y)(∈

H+(tức là X→Y và Y→X) thỡ hũa hai nhúm đú lại với nhau. Với mỗi A∈Y (nếu X→A)∈ H thỡ loại bỏ nú khỏi H. Tương tự cho mỗi (Y→B)∈H với B∈X.

Ở mỗi nhúm đạt được cấu trỳc cỏc lược đồ quan hệ bao gồm tất cả cỏc thuộc tớnh xuất hiện trong nhúm đú. Mỗi tập thuộctớnh xuất hiện ở vế trỏi của một FD trong nhúm là một khúa của lược đồ quan hệ. Cỏc khúa tỡm được gọi là khúa được tổng hợp. Mỗi tập được cấu trỳc như trờn là một lược đồ quan hệ.

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Định lý

Lược đồ quan hệ R(A1,…., An) được tổng hợp qua thuật toỏn 5.5 từ tập cỏc phụ

thuộc hàm F ở 3NF. Núi cỏch khỏc khụng một thuộc tớnh khụng khúa nào của R là phụ thuộc hàm bắc cầu vào một khúa chớnh của R.

Chứng minh:

Giả sử Ailà một thuộc tớnh khụng khúa và phụ thuộc bắc cầu vào khúa K của R (K khụng nhất thiết là khúa được tổng hợp nờn). Tức là tồn tại một tập hợp X⊆

{A1,…., An} sao cho K→X, X→K và X→Ailà thuộc F+ và Ai∈X.

Cần chứng minh rằng R là ở 3NF, núi cỏch khỏc, giả thiết tồn tại phụ thuộc bắc cầu nờu trờn là vụ lý.

Trước hết xem xột Ailà phụ thuộc bắc cầu vào một khúa được tổng hợp của R. Gọi Z là khúa của R xuất hiện ở vế trỏi của một phụ thuộc hàm. (Z→X)(∈ F+ vỡ Z là khúa của R. Hơn nữa X→Z vỡ nếu X→Z thỡ X→Z và Z→K suy ra Z→K trỏi với giả thiết là X→K nếu trờn. Do vậy Z→X, X→Z và X→Ailà một phụ thuộc hàm bắc cầu.

Gọi H là một phủ khụng dư thừa của F được tớnh toỏn qua thuật toỏn. Cần chỉ ra rằng Z→Aixuất hiện trong H là dư thừa. Để đạt được điều đú chỉ cần đủ để chỉ ra rằng Z→X và X→Aikhụng thể cả haiphụ thuộc hàm được suy dẫn từ H - {Z→Ai}.

Thật vậy, vỡ chỉ những phụ thuộc hàm được sử dụng trong quỏ trỡnh tổng hợp của R cú dạng Z→Ai, cho nờn Z→Xklà thỏa trong H với mọi Xk∈X. Vỡ Ai∉X nờn (Z→Xk)∈

H- {Z(∈ Ai}. Giả sử tồn tại một cỏch suy dẫn cho X→Aitrong H mà cú dựng tới Z→Ai. Theo bổ đềsuy ra X→Z. Nhưng như trờn đó chỉ rừ X→Z. Như vậy X→Ailà cú thể suy dẫn được mà khụng cần sử dụng tới Z→Ai.

Vỡ Z→X và X→Ai, cả hai phụthuộc hàm đều được suy dẫn từ H- {Z- Ai} cho nờn Z→Ailà dư thừa trong H.

Điều đú là trỏi với giả thiết H là khụng dư thừa. Cú nghĩa là giả thiết cú tồn tại phụ thuộc bắc cầu là khụng đỳng.

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Vớ dụ 1: Cho quan hệ R(A,B,C,D,E,G,H) và tập phụ thuộc hàm:

F={AD,ABDE, CEG, EH}

a. Tỡm khúa b. Xỏc định dạng chuẩn Giải: a. Tỡm khúa TN={A,B,C} TG={E}

Xi Xi U TN (Xi U TN)+ Siờu Khúa Khúa

ỉ ABC ABCDEGH ABC ABC

E ABCE ABCDEGH ABCE

b. Xỏc định dạng chuẩn

Cú AD theo giả thiết. Vậy R khụng ở dạng chuẩn 2 vỡ thuộc tớnh khụng khúa D phụ thuộc vào bộ phận khúa.

Vớ dụ 2: Cho R(XYZWPQR), F = {X → Z, XY → WP, XY → ZWQ, XZ → R}. Chuẩn húa R về 3NF. Giải: B1: Khúa={XY} B2: Xỏc định tập phủ tối thiểu từ tập F? Ta cú phủ tối thiểu: G: = {X→Z, XY →W, XY →P, XY → Q, X → R}.

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

B3: Tỏch thành cỏc lược đồ con:

R1(XZR), R2(XYWPQ) → R1(XZR), R2(XYWPQ) R1, R2 đó ở 3NF

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

BÀI TẬP CHƯƠNG III

CÂU HỎI TRẮC NGHIỆM

Cõu 1: Cho R(U) là sơ đồ quan hệ với U là tập thuộc tớnh. X, Y, Z là tập con của U. Tớnh chất tăng trưởng (augmentation) của hệ tiờn đề Amstrong: với điều kiện nào dưới đõy thỡ YZ là phụ thuộc hàm vào XZ?

a. X là phụ thuộc hàm vào Y b. Y là phụ thuộc hàm vào X

c. X khụng là phụ thuộc hàm vào Y d. Y khụng là phụ thuộc hàm vào X

Cõu 2: Cho R(U) là sơ đồ quan hệ với U là tập thuộc tớnh. X, Y, Z là tập con của U. Tớnh chất: nếu Y là phụ thuộc hàm vào X, Z là phụ thuộc hàm vào Y thỡ Z là phụ thuộc vào X là tớnh chất gỡ trong hệ tiờn đề Amstrong?

a. Phản xạ (reflexivity)

b. Tăng trưởng(augmentation) c. Bắc cầu(transitivity)

d. Kết hợp(associativity)

Cõu 3: Cho R(U) là sơ đồ quan hệ với U là tập thuộc tớnh. X, Y,Z là tập con của U. Tớnh chất Phản xạ (reflexivity) của hệ tiờn đề Amstrong: với điều kiện nào dưới đõy thỡ Y là phụ thuộc hàm vào X?

a. X là con của Y b. Y là con của X

c. X khụng là con của Y d. Y khụng là con của X

KHOA CNTT –TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP

Cõu 4: Một quan hệ cú chứa một miền giỏ trị của một thuộc tớnh nào đú là khụng nguyờn tố được gọi là

a. Quan hệ chuẩn húa b. Quan hệ khụng chuẩn c. Quan hệ chuẩn húa loại 1 d. Quan hệ chuẩn húa loại 2

Cõu 5: Cho R(U) là sơ đồ quan hệ với U là tập thuộc tớnh. X, Y, Z là tập con của U. Luật hợp: Nếu Y là phụ thuộc hàm vào X, Z là phụ thuộc hàm vào X thỡ :

Một phần của tài liệu Tài liệu học tập cơ sở dữ liệu (Trang 135)