• Nem Talált Eredményt

Adatbázisok elmélete 12. el ˝ oadás

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Adatbázisok elmélete 12. el ˝ oadás"

Copied!
4
0
0

Teljes szövegt

(1)

Adatbázisok elmélete 12. el ˝ oadás

Katona Gyula Y.

Budapesti M ˝uszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz.

I. B. 137/b

kiskat@cs.bme.hu

http://www.cs.bme.hu/˜kiskat

2004

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 1/15

Emlékeztet ˝ o

Definíció.Adott(R,F). AzXYfüggéslogikai következménye(szemantikai következménye)F-nek, ha azXYminden olyanrrelációban teljesül, aholFfüggései mind teljesülnek.

Jelölése:F|=XY

Definíció.EgyXYfügg ˝oség akkor vezethet ˝o le egy adottFfügg ˝oséghalmazból, ha az axiómák ismételt alkalmazásávalF-b ˝ol megkapjukXY-t.Jele:F`XY.

|=⇒ `: Teljességi tétel,ami igaz az levezethet ˝o.(Ma lesz.)

` ⇒ |=: Igazság tétel,csak igaz dolgok vezethet ˝ok le.

√ Armstrong-axiómák

1. Reflexivitás:HaX,YRésYX, akkorXY.

2. Kiegészítési tulajdonság:HaX,YRésXY, akkorXWYWigaz tetsz ˝oleges WR-re.

3. Tranzitivitás:HaX,Y,ZR,XYésYZ, akkorXZ.

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 2/15

Levezethet ˝ o szabályok

Néhány további szabály, ami levezethet ˝o az axiómákból (és az igazságtétel miatt igazak is).

Állítás(Unió szabály).{XY, XZ} `XY Z Bizonyítás:

i) XY: ezF-beli

ii) XZY Z: kiegészítveZ-val iii) XZ: ezF-beli

iv) XXZ: kiegészítveX-vel v) XY Z: iv) és ii) + tranzitivitás

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 3/15

Levezethet ˝ o szabályok

Állítás(Áltranzitiv szabály).{XY, YWZ} `XWZ Bizonyítás:

i) XY: ezF-beli

ii) XWYW: kiegészítveW-val iii) YWZ: ezF-beli

iv) XWZ: ii) és iii) + tranzitivitás

Állítás(Felbontási szabály).Tegyük fel, hogyZY, ekkor{XY} `XZ Bizonyítás:

i) XY: ezF-beli ii) YZ: reflexivitás

iii) XZ: i) és ii) + tranzitivitás

(2)

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 4/15

Lezárás

Definíció.HaFegy függéshalamaz, akkor alezártjaF+azF-b ˝ol levezethet ˝o összes függés:

F+={XY|F`XY}

Jó:mert ha majd belátjuk|=⇐⇒ `-t, akkor kiderül, hogy ez éppen azF-b ˝ol szükségszer ˝uen következ ˝o összes függést adja meg.

Gond:nagyon nagy lehet

Pl.R( A1, . . . ,An,B1, . . .Bn)ésF={AiBj|1i,jn}, akkor ezn2db függés F+-ban benne van mindenAi1. . .AikBj1. . .Bjl, azaz(2n1) (2n1)22neleme van.

Ezért ehelyett valami mást nézünk, amit könnyebb lesz meghatározni és jól közelítiF+-t:

Definíció.HaXegy attribútum halmaz(R,F)-ben, akkorlezártja X+(F)={AR|F`XA}, azaz azon attribútumok, amik függnekX-t ˝ol.

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 5/15

Attribútumhalmaz lezárása

Állítás.XX+(F)R

Lemma.(Fontos!!!)F`XY⇐⇒YX+(F)

Bizonyítás: =⇒: Tegyük fel, hogyF`XYés legyenAY.

F`XA, hiszen vegyükXYlevezetését és alkalmazzuk a felbontási szabályt a végén.

Definíció szerint ekkorAX+(F). Ez mindenAY-ra igaz.

⇐=: LegyenY=A1. . .AkX+(F).

Így definíció szerint∀AiY-raF`XAi.

EkkorXYlevezetése: vesszük azAi-k levezetését és a végén alkalmazzuk az uniós szabálytk1-szer.

Következménye:Ha minden X-re ismerjük/ki tudjuk számítaniX+(F)-et, akkor tetsz ˝oleges XYfüggésr ˝ol eldönthet ˝o, hogyF+-beli-e vagy sem,mertXYF+pontosan akkor teljesül (definíció szerint), haF`XY, de ez meg az el ˝obbi lemma szerint pontosan akkor van, haYX+(F)

Megjegyzés:Majd látjuk, hogyX+(F)kiszámolására lesz gyors algoritmus.

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 6/15

Teljességi tétel

Tétel(Teljességi tétel).HaF|=XY, akkorF`XY.

Bizonyítás: Tegyük fel indirekt, hogy van olyanXYfüggés ésFfüggéshalmaz, hogy XYnem vezethet ˝o leF-b ˝ol (F0XY), noha logikai következménye neki (F|=XY).

Ez utóbbi azt jelenti, hogy minden olyan relációban, amibenFfügg ˝oségei teljesülnek, ha X-en megegyezik két sor, akkor azok megegyeznekY-on is.

Úgy jutunk ellentmondásra, hogy konstruálunk egy olyanrrelációt, aholFfügg ˝oségei teljesülnek, deX6→Y, ami ellentmondF|=XY-nak.

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 7/15

Bizonyítás (folyt.)

r X+(F)

z }| { X

A1 . . . .

z }| {

. . . An

t1 1 1 1 1 1 1 1. . . .1 1 1 1 1 1 1 t2 0 0 0 1 1 1 1. . . .1 1 1 1 0 0 0

Tehátrkét soros reláció,X+(F)-en megegyezik a két sor, a többin különbözik.

Állítás.r-ben teljesülnekFfüggései.

Bizonyítás: LegyenUVF.

HaU*X+(F) =⇒UVigaz, hiszen nincs olyan két sor, amiU-n megegyezik.

HaUX+(F), akkor lemma miattF`XU.

Tranzitivitás miattF`XV. Lemma =⇒VX+(F),V-n megegyezik a két sor.

Állítás.r-ben nem igazXY.

Bizonyítás: MivelF0XY, ezért a fontos lemma miattY*X+(F), azazYkilógX+(F)-b ˝ol, abból a részb ˝ol, ahol a két sor egyenl ˝o.

Vagyis a két sor egyenl ˝oX-en, de nem egyenl ˝oY-on, ígyXYnem igazr-ben.

Tehátrtényleg olyan, hogy benneFminden függése fennáll, deXYnem, ami bizonyítja, hogyF6|=XY.

Következmény.`és|=felcserélhet ˝o.

(3)

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 8/15

Kulcs

Definíció.XRszuperkulcsaaz(R,F)sémának, haF`XR. Másképpen, ha R=X+(F).

XRkulcsaaz(R,F)sémának, ha szuperkulcs és nincs olyan valódi részhalmaza, ami szuperkulcs.

Példa:

F={TERMEL ˝O, TERMÉKNÉV→ÁR;TERMEL ˝O→CÍM} X=TERMEL ˝O, TERMÉKNÉV

=⇒ X+(F)=TERMEL ˝O, TERMÉKNÉV, ÁR, CÍM TERMEL ˝O+(F)=TERMEL ˝O, CÍM

TERMÉKNÉV+(F)=TERMÉKNÉV

=⇒ Xkulcs

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 9/15

X

+

(F) kiszámítása

Algoritmus:

X0=X, ... Xi=. . . ,

Xi+1=Xi∪ {AR|van olyanUVF, hogyUXiés AV}, ...

X+(F)=Xutolsó,(amikor már nem n ˝o)

Állítás.XutolsóX+(F)( azaz, a fontos lemma miattF`XXutolsó)

Bizonyítás: Indukcióvali-re belátjuk, hogyF`XXi, innen már következik az állítás.

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 10/15

Bizonyítás (folyt.)

i=0:F`XX0=X, reflexivitás.

i i+1

1. UVF, UXi, AV 2. XiU, reflexivitás

3. XU, tranzitivitás + indukciós felt.F`XXi+ (2. sor) 4. XV, tranzitivitás (1. és3. sor)

5. VA, reflexivitás, (1. sor) 6. XA, tranzitivitás, (4. és5. sor) 7. F`XA, mindenAXi+1

8. F`XXi+1

=⇒F`XXutolsó =⇒(Lemma)XutolsóX+(F).

Példa:

R( A,B,C,D), F={AB, BC, BCD}, A+(F)=? X0={A}, X1={A,B}, X2={A,B,C}, X3={A,B,C,D}=Xutolsó

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 11/15

Bizonyítás másik iránya

Állítás.X+(F)Xutolsó

Bizonyítás: Tekintsük az alábbi kétsorosrrelációt: a két sorXutolsó-n egyenl ˝o, azon kívül eltérnek.

r Xutolsó

z }| { A1 . . . .

X z }| {

. . . An t1 1 1 1 1 1 1 1. . . .1 1 1 1 1 1 1 t2 0 0 0 1 1 1 1. . . .1 1 1 1 0 0 0

r-ben egyrészt mindenF-beli függés teljesül.(Bizonyítás, hasonlóan, mint a teljességi tételnél csak most az kell, hogy ha egyWSfüggés eseténWXutolsó, akkorSXutolsóis igaz, az algoritmus m ˝uködése miatt.)

rsegítségével azt látjuk be, hogy haA<Xutolsó, akkorA<X+(F), ami éppen a kívánt állítás.

HaA<Xutolsó =⇒rolyan reláció, amibenX9 A ezértF2XA, hiszenr-benFminden függése teljesül.

=⇒(az igazság tétel miatt)F0XA =⇒(fontos lemma)A<X+(F)

(4)

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 12/15

Következmények

Következmény.X+(F)=Xutolsó, azaz tényleg jó az algoritmus.

Következmény.AdottX-r ˝ol el lehet dönteni, hogy (szuper)kulcs-e.

Megnézzük, hogyX+(F)=Rigaz-e. Ha igen, akkor szuperkulcs. Ha mindenXA-ra már nem szuperkulcsot kapunk, akkorXkulcs.

Gyorsan implementálható.

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 13/15

Felbontások

Cél:Adott(R,F)sémából anomáliát nem tartalmazó olyan felbontás el ˝oállítása, amib ˝ol ugyanaz az információ nyerhet ˝o, mint az eredetib ˝ol.

Definíció.ρ=(R1, . . . ,Rk)az(R,F)séma felbontása, haRiRéski=1Ri=R.

Haregy(R,F)sémára illeszked ˝o reláció, akkor legyenriRi(r)és mρ(r) :=r1Zr2Z· · ·Zrk (Megj.:Zasszociatív, így nem kell a zárójelezéssel vesz ˝odni)

Kérdés:mikor nyerhet ˝o vissza az infó a felbontásból? Mi általábanrésmρ(r)viszonya?

Tétel.

(i) rmρ(r) (ii) riRi(mρ(r)) (iii) mρ

mρ(r)

=mρ(r)

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 14/15

Bizonyítás

Bizonyítás: Hategy sor, akkorπRi(t)helyettt[Ri]-t írunk.

(i) rmρ(r):

Hategy sorr-ben, akkortminden vetülete benne van a megfelel ˝ot[Ri]-ben, ezek össze is illenek, ígymρ(r)-ben is szerepelni fogt.

(ii) riRi(mρ(r)):

rmρ(r) =⇒riRi(r)⊆πRi mρ(r)

.

Hatmρ(r), akkor ez természetes illesztéssel jött létre,ri-beli sorokból, így levetítve Ri-re éppriegy sorát kapjuk.

(iii) mρ

mρ(r)

=mρ(r):

mρ(r)=Zk

i=1 ri=Zk

i=1πRi(r) mρ

mρ(r)

=Zk

i=1πRi

mρ(r)(ii)

=Zk

i=1ri=mρ(r)

Megjegyzés:(i) szerint a szétszedés és összerakás után vagy pontr-t kapom meg, vagy többet kapok, kevesebb sor nem lehet. Har,mρ(r), akkor ez nem egy túl hasznos felbontás.

De ennél több is igaz:ebben az esetben teljesen reménytelen a felbontásból visszaszerezni r-t:mivel (ii) szerintrésmρ(r)(függ ˝oleges) vetületei ugyanazok, ezért har,mρ(r), akkorvan két olyan reláció (résmρ(r)), aminek a vetületei ugyanazok =⇒a vetületekb ˝ol nem lehet visszaállítanir-et (nem lehet eldönteni, hogyrvagymρ(r)volt).

Következmény:har,mρ(r), akkor sehogyan se lehet visszahoznir-t a vetületekb ˝ol.

ADATBÁZISOK ELMÉLETE12.EL ˝OADÁS 15/15

H ˝ uséges felbontás

Tehát az a kérdés, hogy mik azok a felbontásai egy(R,F)sémának, amik esetén tetsz ˝oleges (R,F)-re illeszked ˝orrelációrar=mρ(r)

Definíció.Adott(R,F). Ennekρfelbontásah ˝uséges (veszteségmentes, lossless), ha minden(R,F)-re illeszked ˝orrelációrar=mρ(r).

Példa:Legyen(R,F)a következ ˝o: R( A,B,C),F={CA}és legyenraz alábbi reláció.

r A B C a c e a d f b c g b d h

s A B

a c a d b c b d

t B C

c e d f c g d h

sZt A B C a c e a c g a d f a d h b c e b c g b d f b d h

Ez a példa mutatja, hogyr,s( A,B)Zt(B,C), azaz ez a felbontás nem h ˝uséges.

Der=s0( A,C)Zt0(B,C), majd látjuk.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Az adatbázis fogalmi keretének megadására jók, tervet lehet velük készíteni, amit aztán majd át kell alakítani az adatbáziskezel ˝o által használt formális megadási

Ez BCNF, de mégis redundáns, mert ha valamelyik tárgynál szerepel egy gyereknév, akkor az összes többinél is szerepelnie kell. beszúrni nehéz, mert amikor egy sort

Azok, amik csak véletlenül, csak egy pillanatban állnak fenn = ⇒ eseti függés (ezek nem érdekelnek, például lehetséges hogy egy adott pillanatban minden ár csak egyszer

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet adni

Ha a figyelmeztet ˝o zármodellben, egy legális ütemezésben minden tranzakció követi a figyelmeztet ˝o protokollt, akkor az ütemezés sorosítható és soha nem lesz egyszerre

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet

Thought all my data was here to stay, Now I believe