• 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!
5
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

2005

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

Relációs sémák tervezése

Van elméleti alap =⇒érv a relációs technika mellett (Objektumosnak nincs ilyen.)

Kérdés:

• Mik a jó relációk?

• Milyen relációkat érdemes tárolni?

• Hogyan alakíthatunk tetsz ˝oleges relációkat jókká?

Cél:El akarunk kerülni kellemetlen jelenségeket,anomáliákat:

Módosítási anomália:pl. ha aTermék(Termel ˝o, Cím, Terméknév, Ár)reláció esetén egy termel ˝o címe több sorban is el ˝ofordul, változáskor mindenhol át kell írni. Hiba esetén inkonzisztencia.

Beszúrási anomália:Nem tudunk beszúrni adatot, ha az egyik attribútum hiányzik,mert nem ismerjük (és nem lehet NULL).

Törlési anomália:Csak egész sorok törölhet ˝ok, így elveszhetnek hasznos adatok.Pl. ha egy termel ˝o épp nem termel semmit, kitöröljük a címét is.

Relációs sémák tervezése

A relációk, tárolás jósága attól függ, hogy milyen megkötések vannak az adatokon.

Megszorítások két osztálya:

Értékfügg ˝o:Pl. ÁR≥0, ÉLETKOR egész1000, NÉV karaktersor, CÍM,NULL, (típusleírások)

Értékfüggetlen:TERMÉKNÉV, TERMEL ˝O kulcs;∀TERMEL ˝O-nek egy címe van, egy TERMEL ˝O azonos nev ˝u termékéb ˝ol csak egy árú van

Utóbbi:az attribútumok mennyire függenek egymástól =⇒funkcionális függ ˝oség

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

Funkcionális függ ˝ oségek

Jelölés:R( A1, . . . ,An)reláció,Xattribútum halmaz =⇒XR X={Ai1,Ai2, . . . ,Aik}helyettX=Ai1Ai2. . .Aik

Definíció.YRfunkcionálisan függXR-t ˝ol, (jelölés: XY),haRbármely két sorára igaz, hogy ha ˝ok megegyeznekX-en, akkorY-on is megegyeznek.

Pl.X=TERMEL ˝O, TERMÉKNÉV;Y=ÁR =⇒XY Megjegyzések:

• Azok az érdekes összefüggések, amikmindenilyen attribútumokkal rendelkez ˝o táblában fenn kell, hogy álljanak:axiómaszer ˝u feltételek, az adatbázis bármely változása esetén is fennállnak =⇒érdemi függés

Azok, amik csak véletlenül, csakegy pillanatbanállnak fenn =⇒eseti függés (ezek nem érdekelnek, például lehetséges hogy egy adott pillanatban minden ár csak egyszer szerepel és ekkor úgy t ˝unik, minthaÁr→Termékérvényes függés lenne)

• Tehát az érdemi függések megadása modellezési kérdés:a séma megadásakor döntjük el, hogy milyen függéseket akarunk fenntartani mindenáron.

Ezentúl a relációs sémának része lesz a függ ˝oségek halmazaFis =⇒(R,F) Vagyis megadjuk, hogy mik a séma attribútumai és mik az érdemi függései.

(2)

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

Funkcionális függ ˝ oségek

R(TERMEL ˝O, TERMÉKNÉV, ÁR, CÍM)

TERMEL ˝O, TERMÉKNÉV→TERMEL ˝O, TERMÉKNÉV, ÁR, CÍM TERMEL ˝O→CÍM

S(NÉV, CÍM, VÁROS, IRÁNYÍTÓSZ, TELEFON) CÍM, VÁROS→IRÁNYÍTÓSZ

IRÁNYÍTÓSZ→VÁROS NÉV, CÍM, VÁROS→TELEFON

• Egy adott reláció adott állapotából nem következik semmilyen érdemi függés.

Viszont látszódhat olyan, hogy mi nem függhet mit ˝ol.

XYteljesülhet úgy is, hogy az adott relációban nincs is két olyan sor, amikX-en megegyeznek.

X-nek ésY-nak nem kell diszjunktaknak lenniük

A séma megadása csak a keretet jelenti, beleértve a függeseket is, ha ezt feltöltjük adatokkal, akkor kapunk egy a sémára illeszked ˝o relációt.Arreláció akkor illeszkedik az(R,F)sémára ha az attribútumai azR-ben adottak és teljesülnek benne azFfüggések.

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

Logikai következmény

Kérdés:ha adott egyFfüggéshalmaz és egy reláció, amibenFfüggései igazak, akkor milyen további függések lesznek még biztosan igazak?

Például:haHALLGATÓ, TÁRGY→GYAKORLATésGYAKORLAT→GYAKVEZ, akkor HALLGATÓ, TÁRGY→GYAKVEZ.

Azaz általánosabban:haXYZésZW, akkor attól függetlenül, hogy mi a reláció és X,Y,Z,W, igaz lesz, hogyXYW.

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

Azaz ez a fogalom azt adja meg, hogy mely függéseknek kell szükségszer ˝uen teljesülniük minden olyan sémában/relációban, aholFfüggései fennállnak.

Hogyan lehetne ezeket meghatározni, illetve eldönteni, hogy egy függés ilyen-e?

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

Logikai következmény

Felveszünk axiómákat, és azok segítségével próbáljuk levezetni. Persze ehhez az kell, hogy pontosan azokat lehessen levezetniF-b ˝ol, amik logikai következményei neki.

Levezethet ˝oség jele:F`XY

Tehát bevezetünk axiómákat, levezethet ˝oséget és belátjuk, hogy |= ⇐⇒ `. (Pl. logikában így van.)

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

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

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.

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 7/19

Igazságtétel bizonyítása

Bizonyítás: (Igazság tétel)

Azt kell belátni, hogy ha egy függés(esetleg több lépésben)levezethet ˝oF-b ˝ol a három axióma segítségével,akkor ez a függés logikai következménye isF-nek,azaz minden olyan relációban, aholFminden függése teljesül, ott teljesül a levezetett függés is.Ehhez elég azt belátni, hogy külön-külön, az egyes axiómák egyszeri használata ilyen függést ad.

1. Reflexivitás:Azt kell belátni, hogy mindenrrelációban, mindenYXR

attribútumhalmaz eseténXYigaz, azaz harbármely két adott sora megegyezikX-en, akkor megegyeznekY-on is. De mivelYX, ezért nyilván megegyeznekY-on, haX-en megegyeztek.

2. Kiegészítési tulajdonság:Az kell, hogy ha egyR-re illeszked ˝orrelációbanXYigaz, akkorXWYWis igaz lesz. Vegyünk két sortr-ben, ami megegyezikXW-n. Ekkor ezek megegyeznekX-en ésW-n is, külön-külön. MivelXY, így megegyeznekY-n is, tehát YW-n is.

3. Tranzitivitás:Az kell, hogy ha egyR-re illeszked ˝orrelációbanXYésYZigaz, akkorXZis igaz lesz. Vegyünk két sort, ami megegyezikX-en. MivelXY, megegyeznekY-n is. De mivelYZ, megegyeznekZ-n is.

(3)

Példa

Állítás.HaR(Város,Utca,Irányítószám)ésF={VUI,IV}, akkorF`IUV IU (és mivel

`⇒|=-t már láttuk, ezértF|=IUV IU).

Bizonyítás:

i) IV: ezF-beli

ii) IUVU: kiegészítveU-val iii) IUIVU: kiegészítveI-vel

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

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

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

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

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.

(4)

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

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 13/19

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 14/19

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.

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

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

(5)

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)

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

(Mert ezek a függések nem hordoznak sok infót, mindg igazak.). Definíció

Bár több szempontból hátrányban vagyok elődömmel szemben, az kétségtelen, hogy óriási szakirodalmi anyag gyűlt össze az ötvenes évek (Szabó Lőrinc harmadik

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

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