Phép tách lược đồ quan hệ

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 60 - 63)

6.4.1.Phéptáchbảotoànthôngtin

Giảsửlượcđồquanhệ RđượcphântáchthànhcácsơđồconR1,R2,…,Rkvà Flàtậpcácphụ

thuộchàmtrênR.TanóiphéptáchnàylàkhôngmấtmátthôngtinđốivớiFnếum ọiquanhệrtrên

r=ΠR1(r)*ΠR2(r)*…*ΠRk(r)

tứclàquanhệrlàkếtnốitựnhiêncủanhữngquanhệlàphépchiếucủanótrên mỗiRi.

Gọimρlàánhxạđượcđịnhnghĩanhưsau: mρ(r)= ΠR1(r)*ΠR2(r)*…*ΠRk(r)

tứcmρ(r)làkếtnốitựnhiêncủanhữngquanhệlàphépchiếucủanótrêncács ơđồcontrongρ.

Vìvậyđiềukiệnđểmộtphéptáchlàkhôngmấtmátthôngtinlàr=mρ.

Bổđề.CholượcđồquanhệR,ρ={R1,R2,…,Rk},rlàmộtquanhệtrênRvàri

=ΠRi(r).Thì (a)r⊆mρ(r)

(b)Nếus=mρ®thìΠRi(s)=ri

(c)mρ(mρ(r))=mρ(r)

Bổđềcóthểchứngminhdễdàngdựatrênkháiniệmphéptáchvàđịnhnghĩac ủamρ.

Kiểmtraphéptáchlàkhôngmấtmátthôngtin.

Liệumộtphéptáchcólàmấtthôngtinhaykhôngđốivớimộttậpcácphụthuộ chàmchotrước

đượckiểmtrathôngquathuậttoánsau:

4 6

Thuậttoán.Kiểmtraphéptáchkhôngmấtmátthôngtin.

Vào:LượcđồquanhệR ={A1,A2,…,AN},tậpphụthuộchàmFtrênRvà mộtphéptáchρ=

{R1,R2,…,Rk}trênR.

Ra:Khẳngđịnhphéptáchcómấtmátthôngtinhaykhông? Phươngpháp:

-Xâydựngmộtbảngncột, khàng;cộtj tươngứngvới thuộctínhAj vàhàng itươngứngvới

lượcđồconRi.Tạivịtríhàngi,cộtj,nếuAjthuộcRithìtađiềnkíhiệuajvàođó, ngượclạitađiền

-XétlầnlượccácphụthuộchàmtỏngFvàápdụngcácphụthuộchàmnàych obảngvừađược

xâydựng.Giảsử chúngtaxét phụthuộchàmX → Y∈ F.Nếu tồntạihai hàng màtấtcả cáccột

tươngứngvớicácthuộctínhcủaXcógiátrịnhư nhauthìtalàmchocáccộtứngv ớicácthuộctính

củaYcũngcógiátrịnhưnhautronghaihàngnàytheonguyêntácsau:Nếucómộ tkíhiệuajtrong

cáccộtứngvớicácthuộctínhcủaYthìđồngnhấtcáckíhiệulàaj.Nếukhôngđồn gnhấtbằngmột

trongcáckíhiệubij.

-Tiếptụcápdụngcác phụthuộchàmchobảng(kể cảviệclặplại cácphụthu ộchàmđãđược

ápdụng)cho tớikhikhôngthểáp dụngđượcnữa (khôngthểthayđổiđược giátrị nàotrongbảng

nữa).

-Nếutrongbảngcómộthànggồmcáckíhiệua1,a2,…,anthìphéptáchlà khôngmấtmátthông

tin.Ngượclạithìphéptáchlàkhôngbảotoànthôngtin.

Địnhlý. Cho ρ= {R1,R2}làmột phéptách trênR vàF làtậpphụ thuộchàm trênR thìphép

táchnàylàkhôngmấtmátthôngtinnếuR1∩R2→R1\R2hoặcR1∩R2→R2\R

1

Chúý:cácphụthuộchàmtrênkhôngnhấtthiếtthuộcF,chỉcầnthuộcF+.

6.4.2.Phéptáchbảotoànphụthuộc

Táchquanhệ:LượcđồquanhệđơnR={A1,A2,...,An}đượctáchthànhmộttập hợpcáclượcđồ

quanhệD={R1,R2,...,Rm}.Mộtcáchhìnhthức,tacóđiềukiệnbảotoànthuộctín h:Ri=R.

Tínhkhông đầy đủ của các dạngchuẩn: Mục đíchcủa chúng ta là mỗi quan hệ r iêngrẽ Ri trong

phéptáchDlàởdạngchuẩnBCNFhoặc3NF.Tuynhiên, điềuđókhôngđủđểđ ảmbảomộtthiết

kếCSDLtốt.Bêncạnhviệcxemxéttừngquanhệriêngrẽ,chúngtacầnxemxétto ànbộphéptách.

ViệcmỗiphụthuộchàmX→YtrongFhoặcđượcxuấthiệntrựctiếptrongmộttr ongcáclượcđồ

quanhệRitrongphéptáchDhoặccóthểđượcsuydiễntừcácphụthuộchàmcót rongRilàrấtcó

lợi.Tagọiđólàđiềukiệnbảotoànphụthuộc.

Địnhlý:LuônluôntìmđượcmộtphéptáchbảotoànphụthuộcDđốivớiFsaocho mỗiquanhệRi

trongDlà3NF

4 7

Thuậttoán:Tạo mộtphéptáchbảo toànphụthuộc D ={R1,R2,...,Rm} củamộtq uanhệR dựa

trênmột tậpphụthuộc hàmFsao chomỗi Ri trongDlà ở3NF. Thuật toánnàyc hỉđảm bảotính

chấtbảotoànphụthuộc,khôngđảmbảotínhchấtnốikhôngmấtmát. Input:MộtquanhệRvàmộttậpphụthuộchàmFtrêncácthuộctínhcủaR. 1.TìmphủtốithiểuGcủaF.

2.VớimỗivếtráiXcủamộtphụthuộchàmxuấthiệntrong G,hãytạomộtlượcđồtrongDvớicácthuộctính

{XU{A1}U{A2}U... U{Ak}}trongđóX→A1,X→A2,...,X→Akchỉlàcác phụthuộchàm

trongGvớiXlàvếtrái(Xlàkhóacủaquanhệnày).

3. Đặt cácthuộc tínhcòn lại (nhữngthuộc tính chưađược đặt vào quanhệ nào) vàomột quanhệ

đơnđểđảmbảotínhchấtbảotoànthuộctính.

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 60 - 63)

Tải bản đầy đủ (DOCX)

(71 trang)
w