DMS NMG NGUOICC KHACHH NMG DONDH õ õ
MDS
ChươnG 3 LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU
BàisoạnCơsởdữliệu Trang21
Chương 2 CÁC MÔ HÌNH DỮ LIỆU CHO CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆ U
Đặt vấn đề
CholượcđồquanhệR(A1,A2,...,An),ứngvớimộttậpthựcthể hoặcmộtmối quanhệtrongsơđồmốiquanhệthựcthể.Mỗihiệnhành củaR chứacácdữliệu phản ánhthôngtinvềmộtđốitượng hoặcmốiquanhệgiữacácđốitượngtrongthếgiớithực. Tuynhiên,khôngphảitậpcácbộtùyý cácgiátrịcủathuộctính đềulàhiệnhànhcủa 1 lượcđồquanhệnàođó.
Vídụ:xétlượcđồquanhệ SINH_VIÊN(TÊN,TUỔI) thìquanhệsau
TÊN TUỔI
TrầnthịB 100
LêvănC 24
đâykhôngphảilàmộthiệnhànhcủaquanhệSINH_VIÊN,vìrằngkhôngcósinhviên nàocótuổi100.
HoặclượcđồquanhệNGƯỜICC(TÊNCC,TÊNMH,GIÁ),xétquanhệsau
TÊNCC TÊNMH GIÁ
NguyễnvănA Càchua 2000đ
TrầnthịB Cải 1500đ
NguyễnvănA Càchua 2500đ
ĐâycũngkhôngphảilàmộthiệnhànhcủađồquanhệNGƯỜICCvìrằngkhông thểcómộtngườicungcấpcùngmộtmặthàngvới2giákhácnhau.
Nhưvậytrongcáchiệnhànhcủacáclượcđồquanhệ cómộtsốràngbuộcvềdữ liệu
1.Ràngbuộcvềngữnghĩamiền
Ràngbuộcnàyphụthuộcvàokhảnănghiểubiếtvềgiátrịcủacácthuộctính(các thànhphầncủaquanhệ).Chẳnhạn nếuthuộctínhAilàtuổithìtacóthểhạnchế miền giátrịDicủanótrongkhoản[0,200]
2.Ràngbuộcliênquan đếngiátrịcủamộtvàithuộctínhtronglượcđồquanhệ
Chẳnhạnsựbằngnhau giátrị củacácthuộctínhnày dẫnđếnsựbằngnhau vềgiátrị củacácthuộctínhkhác tagọilàphụthuộchàm.
2.3.4.1 Định nGhĩa:
CholượcđồquanhệR(A1,A2,...,An),X,Y⊆{A1,A2,...,An}.TanóirằngXxác địnhYhayYphụthuộchàmvàoXnếu trongmọihiệnhànhrcủaRcó2bộbằngnhau trêntậpthuộctínhXthìphảibằngnhau trêntậpthuộctínhY.kýhiệuX→Y
haynóicáchkhác với2bộ η,ϕ∈r; η(X)=ϕ(X) ⇒ η(Y)=ϕ(Y)
vídụtronglượcđồquanhệNGƯỜICC(TÊNCC,TÊNMH,GIÁ)tacóphụthuộchàmsau {TÊNCC,TÊNMH→GIÁ}
BàisoạnCơsởdữliệu Trang22
Chương 2 CÁC MÔ HÌNH DỮ LIỆU CHO CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆ U
Nhưvậymọihiệnhành củalượcđồquanhệNGƯỜICCphảithỏamãnphụthuộc hàm {TÊNCC,TÊNMH→GIÁ}
Để thuậntiệnchoviệcmôtả mộtsốvấnđềvềphụthuộchàmtasửdụngcác ký hiệusau:
1.cácchữcáilớnđầudãyalphakýhiệucácthuộctínhA,B,C,...
3.Mộttậphữuhạncácthuộctính cóthểthay cholượcđồquanhệ.chẳnhạnta viết (A1,A2,...,An)thaychoR(A1,A2,...,An)
4.Tậpcácthuộctínhcóthểthaybằng dãythuộctínhđóvídụABCDthaycho {A,B,C,D}
5.phépghép2xâukýtự thaychophéphợp2tậpthuộctínhvídụABC∪DE=ABCDE 2.3.4.2 Cơsởlýluậncủaphụthuộchàm
1. Bao đónG của tậP Phụ thuộc hàm
CholượcđồquanhệR,X,Y ⊆R,rlàmộtquanhệcủaR.Tanóirằngrthỏamãn phụthuộchàmX→Ynếuvới2bộbấtkỳ η,ϕ,∈rsaocho η(X)=ϕ(X)thì η(Y)=ϕ(Y).
-Nếu X→Y là một phụ thuộc hàm của R thì mọi hiện hành r của R phải thỏa
mãn phụ
thuộc hàm X→Y
-GiảsửF làmộttậpcácphụthuộchàmcủaR.NếumọiquanhệrcủaR làmthỏamãn tấtcảcácphụthuộchàmcủaF đềuphảithỏamãnphụthuộchàmX→YtanóirằngF kéotheologicX→Y(hayFsuyralogicX→Y)
KýhiệuF⇒X→Y Vídụ: ChoR=ABC F={A→B,B→C} rõràngF⇒A→Cvìrằng với2bộbấtkỳ η,ϕ tacó A→B: η(A)=ϕ(A)⇒ η(B)=ϕ(B) B→C: η(B)=ϕ(B)⇒η(C)=ϕ(C) Suyra η(A)=ϕ(A)⇒ η(C)=ϕ(C) TứcA→C.
CholượcđồquanhệRvàtậpphụthuộchàmF.BaođóngcủaF làmộttậpphụ thuộchàm gồmcácphụthuộchàmđượcsuyralogictừFkýhiệuF+ đượcxácđịnhnhư sau:
F+={X→Y,X,Y⊆R|F⇒X→Y} VídụchoR=ABC;F={A→B,B→C} F+={A→A,A→B,A→C,...}
Khinóivềcáclượcđồquanhệchúngtađãthừanhậnsựtồntạimộttậpthuộctính đặtbiệtgọilàkhóa cholượcđồquanhệ. Tậpcácgiátrịcủacácthuộctínhkhóa của lượcđồquanhệ xácđịnhduynhấtmộtbộcủaquanhê.
BàisoạnCơsởdữliệu Trang23
Chương 2 CÁC MÔ HÌNH DỮ LIỆU CHO CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆ U
đượcxácđịnhnhưsau:
1.XđượcgọilàkhóacủaR={A1,A2,...,An}nếuX→A1A2...AnđượcsuyralogictừF tứclàX→A1A2...An∈ F+
2.khôngcómộttậpconthựcsựYnàocủaXmàY→A1A2...An∈ F+
Trongmộtlượcđồquanhệcóthểcónhiềukhóa,ngườitathườngchọnmộtkhóalàm khóachính(Primarykey) cáckhóacònlạigọilàkhóaphụ(cadidatekey).
NếuXlàkhóa,YlàtậpchứaX(X⊆Y) thìYdượcgọilàsiêukhóa(Supperkey). 2. Các tiên đề về Phụ thuộc hàm
Đểxácđịnhkhóachoquanhệ ngườitacànntìmF+ củatậpphụthuộchàmF.Ta khôngthểsửdụngđịnhnghĩavềF+đểlàmđiềunày(Vìquánhiềulàmkhônghiệuquả)
GọiUlàtậptấtcảcácthuộctínhcủalượcđồquanhệ,Flàtậpcácphụthuộchàm trênU.Armstrong đãđưara3quytăcsuydẫn gọilàtiênđềArmstrong.
T1.Tiên đề Phản xạ
NếuY⊆X⊆UthìFsuydẫnraX→Y. T2. Tiên đề TănG trưởnG
Nếux→Y đượcsuyratừF vàZ⊆UthìXZ→YZ T3. Tiên đề bắt cầu
NếuX→Y,Y→ZđượcsuyratừFthìX→ZcũngđượcsuyratừF Vídụ:
CholượcđồquanhệU=ABCD
vàtậpphụthuộchàmF={A→C,B→D}
vàgiảsửtiênđềArmstrongđúngvớisuydẫnlogicthìtacóthểxácđịnhkhóa củalược đồquanhệUnhưsau:
1.A→CChotrước
2.AB→ABC:Luậttăngtrưởnghợp2vếvớiAB 3.B→D:chotrước
4.ABC→ABCD:tăngtrưởng,hợp2vếvớiABC 5.AB→ABCD:Bătcầu
ABlàkhóavìA
→ABCDvàB→ABCD. 3. Tính đúnG của các tiên đề ArmstronG Bổđề1:
cáctiênđềArmstronglàđúng.CónghĩalànếuX→YđượcsuyratừFbằngcáctiênđề
ArmstrongthìX→YcũngđượcsuyratừFbằnglogic
Chứngminh:
CholượcđồquanhệUvàtậpphụthuộchàmFtrênU tacầncmcáctiên đề Armstronglàđúng.
T1.Y⊆X⊆UtacầncmX→Yđúng(đượcsuyratừF)
BàisoạnCơsởdữliệu Trang24
õ
Chương 2 CÁC MÔ HÌNH DỮ LIỆU CHO CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆ U
VớimoinquanhệrthỏamãnF,lấy2bộbấtkỳ η,ϕ∈r nếu η(X)=ϕ(X)⇔η(A)=ϕ(A)mọia∈X
Suyra η(Y)=ϕ(Y)(VìY⊆X) dođóF ⇒X→Y.
T2.MọiquanhệrthỏamãnF,lấy2bộ η,ϕ∈r.VìX→Yđúngnên η(X)=ϕ(X)⇒η(Y)=ϕ (Y)
giảthiết η(XZ)=ϕ(XZ)cầncm η(YZ)=ϕ(YZ)
Tacó η(XZ)=ϕ(XZ) ⇒ η(X)=ϕ(X)⇒ η(Y)=ϕ(Y)⇒ η(YZ)=ϕ(YZ) η(Z)=ϕ(Z) η(Z)=ϕ(Z)
VậyXZ→YZđúng
T3.MọiquanhệrthỏamãnF,lấy2bộ η,ϕ∈r. VìX→Y ⇔η(X)=ϕ(X)⇒η(Y)=ϕ(Y)
vàY→Z ⇔ η(Y)=ϕ(Y)⇒η(Z)=ϕ(Z)
từđótacó η(X)=ϕ(X)⇒η(Z)=ϕ(Z)tứcX→Zđúng 4. Các quy tắc dẫn suất
TừcáctiênđềArmstrong ngườitađưaramộtloạtcácquytătsuydẫntiệnlợichoviệcsử dụng bằngbổđềsau:
Bổđề2:
1.{X→Y,X→Z}thìX→Z(luậthợp)
2.{X→Y,WY→Z}thìWX→Z(luậttựabătcầu) 3.NếuX→YvàZ⊆YthìX→Z(luậttách) Chứngminh 1.X→Y⇒X→XY(T2) X→Z⇒XY→YZ(T2) X→YZ(T3) 2.X→Y⇒XW→YW(T2) YW→Z XW→Z 3.vìZ⊆YnênY→Z(T1) X→Y(gt)nênX→Z(T3)
từcácquytăttrên suyrahệquảquantrọng Hệquả:NếuY=A1,A2,...,Anthì
X→Y ⇔X→Ai(∀i=1,n)
khiđóX→Y=A1A2...An⇒X→Ai∀i=1,n(Luậttách) X→Ai∀i=1,n ⇒X→A1A2...An(luậthợp)
5. Bao đónG của tậP thuộc tính
GiảsửFlàtậpphụthuộchàmtrênlượcđồquanhệU,Y⊆U.Baođóngcủatập thuộctínhX kýhiệulàX+đượcxácđịnhnhưsau:
X+={A∈U: ∃X,Y⊆UA⊆Y,X→YđượcsuyratừFbằngArmstrong}
õ
õ
BàisoạnCơsởdữliệu Trang25
Chương 2 CÁC MÔ HÌNH DỮ LIỆU CHO CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆ U
Bổđề3
X→YđượcsuyratừFbằngArmstrong khivàchỉkhiY⊆ X+(đốivớitậpphụthuộchàm F)
C/mgiảsửY=A1A2...An(Ai∈U)
NếuX→YđượcsuyratừFbằngArmstrong thìtheoArmstrongX→Ai∀i=1,n(luật tách) ⇒Ai ∈ X+ ∀i=1,n(địnhnghĩaX+)
⇒A1A2...An∈ X+hayY∈ X+
Ngượclại nếuY∈ X+ ⇒Ai ∈ X+ ∀i=1,n⇒X→Ai ∀i=1,nhayX→Y(luậthợp) 6. tính đủ của tiên đề ArmstronG
TasẻC/mrằngnếu1phụthuộchàmđượcsuydẫnlogictừArmstrongtừmộttập phụthuộchàmnàođóthìnócũngphảiđượcsuydẫn bằngcáctiênđềArmstrong. NếuF(L)⇒X→YthìF(A) ⇒X→Y. Địnhlý Hệ tiên đề Armstrong là đúng và đủ. C/m 1tínhđúnglàbổđề1đãC/m 2/Tínhđủ
GiảsửFlàtậpphụthuộchàmtrênUvàX→Y khôngđượcsuyratừFbằng Armstrong tasẽC/mX→Y cũngkhôngđượcsuyratừFbằnglogic.
ĐểC/mX→YkhôngđượcsuyralogictừF tatìmmộtquanhệrthỏamãnFmàkhông thỏamãnX→Y
Lấyquanhệrnhưsau 1 1 . . .1 1 1 . . . 1 η 1 1 . . .1 0 0 . . . 0 ϕ
tasẽcmrthỏamãnFnhưngkhôngthỏamãnX→Y a.rthỏamãnF
GiảsửrkhôngthỏamãnFthìtồntạimộtphụthuộchàmWsaochoW→V ∈Fsaochor khôngthỏamãnW→V
suyraW⊆ X+vàV ⊄ X+
VìW⊆ X+ nênX→WđượcsuyrabằngArmstrong theoluậtbătcầutacóX→Vđược suyratừFbằngArmstrong .ĐiềunàymâuthuẩnvớiV ⊄ X+.
vậyrthỏamãnF
b.rkhôngthỏamãnX→Y GiảthiếtrthỏamãnX→Y VìX⊆ X+ nênY⊆ X+
theobổđề3X→YđượcsuyratừArmstrong điềunàymâuthuẩnvớigiảthiếtX→Y khôngđượcsuyratừArmstrongdođórkhôngthỏamãnX→Y.
BàisoạnCơsởdữliệu Trang26
Chương 2 CÁC MÔ HÌNH DỮ LIỆU CHO CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆ U
Vậy:X→YkhôngđượcsuyralogictừF
Kếtluận:SuydẫnbằngArmstrongvàsuydẫnlogiclàtươngđươngnhau. 7. Tính bao đónG của tậP Phụ thuộc hàm
ChotậpphụthuộchàmF,ĐểtìmcácphụthuộchàmđượcsuyratừF taphảitìm F+. Côngviệcnàykháphứctạpvàmấtnhiềuthờigian.Chẳnhạn NếuF={A→B1,A→ B2,...,A→Bn}Armstrong,Bi ⊆UthìsốphụthuộchàmdạngA→Y,Y⊆B1B2,...Bnđãlà 2n vìvậyviệctínhF+làkhônghiệnthực vfađôikhikhôngcầnthiết.Bàitoánthưưòng đặtralà chophụthuộchàmX→Y xácđịnhxemF⇒X→Yhaykhông.
ĐểlàmviệcnàytachỉcầntínhX+(ĐốivớitậpphụthuộchàmF)vàxemY⊆ X+hay không:
NếuY⊆ X+thìX→YđượcsuyratừF NếuY∉ X+thìX→YkhôngdượcsuyratừF ThuậttóanTínhX+kháđơngiản
Thuật tóan tính bao đóng cuat tập phụ thuộc hàm
InPut:
-LượcđồquanhệU
-TậpphụthuộchàmFtrênU -X⊆U
Output:
-X+BaođóngcủaXđốivớitậpphụthuộchàmF PhươngPháp:
TínhdãyX(0),X(1),...,X(n)theocácbướcsau: 1.X(0)=X
2.X(i+1)=X(i) ∪{A:Y→Z∈F,A⊆Z,Y⊆ X(i)} 3.Lặplạibước2chođếnkhiX(i)=X(i+1)
RõràngX(0)⊆X(1)⊆...⊆X(n)DãyX(i)(i=0,1,2,...)làdãyđơnđiệutăngvàbịchặnthìhộitụ dođóthuậttoándừng.
Vídụ:
ChoLượcđồquanhệU=ABCDGE
F={AB→C,C→A,BC→D,D→EG,BE→C,CG→BD,CE→AC} X=BD
1.X(0)=X=BD2.X(1)=X(0) ∪{EG}=BDEG 2.X(1)=X(0) ∪{EG}=BDEG X(2)=BDEG∪{C}=BCDEG X(3)=BDEGC∪{A}=ABCDEG X(4)=X(3)=ABCDEG vậyX+=ABCDEG
BàisoạnCơsởdữliệu Trang27
Chương 2 CÁC MÔ HÌNH DỮ LIỆU CHO CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆ U
ĐiềunàynóilênrằngXlàkhóacủalượcđồquanhệU(CànC/mthêmrằngB+ ≠ X+và D+≠ X+).
8. Sự tươnG đươnG Giữa các tậP Phụ thuộc hàm
chohaitậpphụthuộchàmFvàGtrêncùngmộtlượcđồquanhệU.TanóirằngFtương đươngvớiGnếuvàchỉnếuF+ =G+
Đểxácđịnhxem haitậpphụthuộchàmFvàGcótươngđươngvớinhauhaykhông chúngtalàmnhưsau:
i. xácđịnhxemmỗiphụthuộchàm X →Y ∉ FcóthuộcG+haykhông. Nếutấtcả cácphụthuộchàmtrongF đều ∈ G+thìF+ ⊆ G+
NgượclạiY ⊆ X+thìX→Y ∉ G+
ĐểxácđịnhxemphụthuộchàmX→Y cóthuộcG+haykhông tatínhX+ đốivớiGnếu Y⊆X+ thìX→YG+
ii.tươngtựtacầnxácđịnhxem mọiphụthuộchàm cótrongG cóthuộcF+haykhông. NếumọiphụthuộchàmtrongGđều ∈ F+ thìG+ ⊆ F+
iii.NếuF+ ⊆ G+vàG+ ⊆ F+thìF+ =G+tanóihaitậpphụthuộchàmFvàGtương đươngnhau.
9. Phủ cực tiểu
Đốivớimọitậpphụthuộchàmđãcho tacóthể tìmtậpphụthuộchàmtươngđươngvới nó cócácthuộctínhđặtbiêththuậntiệnchoviệcthiếtkếCSDL.mộttrongcáctínhchất đơngiản nhưngquantrọng đólàtậpphụthuộchàmchỉcómộtthuộctínhởvéphải.