• Nem Talált Eredményt

Adatbáziskezelés Funkcionális függ˝oségek Katona Gyula Y.

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Adatbáziskezelés Funkcionális függ˝oségek Katona Gyula Y."

Copied!
29
0
0

Teljes szövegt

(1)

Adatbáziskezelés

Funkcionális függ ˝oségek

Katona Gyula Y.

Katona Gyula Y. Adatbáziskezelés 1 / 29

(2)

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

Relációs adatbázistervezés nagy el ˝onye: van elméleti alap Kérdés(ek):

I Mik a jó relációk?

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

I Hogyan alakíthatunk tetsz ˝oleges sémákat jókká?

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

Katona Gyula Y. Adatbáziskezelés 2 / 29

(3)

Anomáliák

Módosítási anomália:pl. ha a Termé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.

Katona Gyula Y. Adatbáziskezelés 3 / 29

(4)

Mikor jó egy relációs séma?

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ész≤1000, NÉV karaktersor, CÍM6=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óbbiak: az attribútumok mennyire függenek egymástól =⇒funkcionális függ ˝oség

Katona Gyula Y. Adatbáziskezelés 4 / 29

(5)

Funkcionális függ ˝oségek

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

Definíció

Y ⊆Rfunkcionálisan függX⊆R-t ˝ol, (jelölés: X →Y ), ha R bármely két sorára igaz, hogy ha ˝ok megegyeznek X -en, akkor Y -on is megegyeznek.

Pl.X =TERMEL ˝O, TERMÉKNÉV;Y=ÁR =⇒X→Y

Katona Gyula Y. Adatbáziskezelés 5 / 29

(6)

Függések típusai

Azok az érdekes összefüggések, amik minden ilyen attribútumokkal rendelkez ˝o táblában mindig 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, 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 szerepel és ekkor úgy t ˝unik, mintha

Ár→Termék érvényes függés lenne)

Katona Gyula Y. Adatbáziskezelés 6 / 29

(7)

Relációs séma definíciója

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.

Katona Gyula Y. Adatbáziskezelés 7 / 29

(8)

Funkcionális függ ˝oségek, példák

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

Katona Gyula Y. Adatbáziskezelés 8 / 29

(9)

Funkcionális függések

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.

X →Yteljesülhet úgy is, hogy az adott relációban nincs is két olyan sor, amik X-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. Ar reláció akkor illeszkedik az(R,F)sémára ha az attribútumai azR-ben adottak és teljesülnek benne azF függések.

Katona Gyula Y. Adatbáziskezelés 9 / 29

(10)

Logikai következmény

Kérdés

Ha adott egy F függéshalmaz és egy reláció, amiben F függései igazak, akkor milyen további függések lesznek még biztosan igazak?

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

Azaz általánosabban: haXY →ZésZ →W, akkor attól függetlenül, hogy mi a reláció és miX,Y,Z,W, igaz lesz, hogyXY →W.

Katona Gyula Y. Adatbáziskezelés 10 / 29

(11)

Logikai következmény

Definíció

Adott(R,F)relációs séma. Az X→Y függéslogikai következménye(szemantikai következménye) F -nek, ha az X→Y minden olyan r relációban teljesül, ahol F függései mind teljesülnek.

Jelölése: F|=X →Y

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, aholF függései fennállnak.

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

Katona Gyula Y. Adatbáziskezelés 11 / 29

(12)

Levezethet ˝oség

Kérdés

Hogyan lehet eldönteni, hogy egy függés logikai következménye-e egy F függéshalmaznak?

Felveszünk axiómákat, és azok segítségével próbálunk új függéseket levezetni F-b ˝ol. Azt nézzük, hogy mely függések vezethet ˝ok leF-b ˝ol.

Persze ehhez az kell, hogy pontosan azokat lehessen levezetniF-b ˝ol, amik logikai következményei neki.

Levezethet ˝oség jele:F`X→Y

Katona Gyula Y. Adatbáziskezelés 12 / 29

(13)

Logikai következmény vs. levezethet ˝oség

Mindjárt bevezetünk axiómákat (ezekkel pedig levezethet ˝oséget) és azt lehet belátni, hogy |= ⇐⇒ `.

(Pl. logikában így van.)

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

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

Katona Gyula Y. Adatbáziskezelés 13 / 29

(14)

Armstrong axiómák

Definíció

Egy X→Y függ ˝oség akkor vezethet ˝o le egy adott F függ ˝oséghalmazból, ha az alábbi axiómák véges sokszori ismételt alkalmazásával F -b ˝ol megkapjuk X→Y -t. Jele:

F `X→Y .

1 Reflexivitás: HaX,Y ⊆RésY ⊆X, akkorX→Y.

2 Kiegészítési tulajdonság: HaX,Y⊆RésX→Y, akkorXW→YWigaz tetsz ˝olegesW ⊆R-re.

3 Tranzitivitás: HaX,Y,Z⊆R,X→YésY →Z, akkorX→Z.

Katona Gyula Y. Adatbáziskezelés 14 / 29

(15)

Igazságtétel bizonyítása (` ⇒ | =)

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álatakor ez igaz.

Vagyis mindhárom axiómát meg fogjuk most nézni.

Katona Gyula Y. Adatbáziskezelés 15 / 29

(16)

Igazságtétel bizonyítása (2)

1 Reflexivitás: Azt kell belátni, hogy mindenr relációban, mindenY ⊆X ⊆R attribútumhalmaz eseténX→Yigaz, azaz har bármely két adott sora megegyezikX-en, akkor megegyeznekY-on is. De mivelY ⊆X, 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óbanX →Y igaz, akkorXW→YWis igaz lesz. Vegyünk két sortr-ben, ami megegyezik XW-n. Ekkor ezek megegyeznekX-en ésW-n is, külön-külön. MivelX →Y, így megegyeznekY-n is, tehátYW-n is.

Katona Gyula Y. Adatbáziskezelés 16 / 29

(17)

Igazságtétel bizonyítása (3)

1 Tranzitivitás: Az kell, hogy ha egyR-re illeszked ˝orrelációbanX →Y ésY →Z igaz, akkorX→Z is igaz lesz. Vegyünk két sort, ami megegyezikX-en. Mivel X →Y, megegyeznekY-n is. De mivelY →Z, megegyeznekZ-n is.

Vagyis készen vagyunk, mert mindhárom axiómára igaz, hogy az axióma bal oldalának logikai következménye a jobb oldala, így az axiómák véges sokszori alkalmazása esetén is igaz lesz, hogy a kiindulási függéshalmaz logikai következménye a levezetett függés.

Katona Gyula Y. Adatbáziskezelés 17 / 29

(18)

Példa

HaR(Város,Utca,Irányítószám)ésF ={VU→I,I→V}, akkorF `IU→VIU (és mivel`⇒|=-t már láttuk, ezértF |=IU→VIU).

i) I→V: ezF-beli

ii) IU→VU: kiegészítveU-val iii) IU→IVU: kiegészítveI-vel

Katona Gyula Y. Adatbáziskezelés 18 / 29

(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.) Mivel ezek levezethet ˝ok az axiómákból, ezeket is használhatjuk mostantól levezetések során.

[Unió szabály]{X→Y, X→Z} `X→YZ i) X→Y: ezF-beli

ii) XZ →YZ: kiegészítveZ-val iii) X→Z: ezF-beli

iv) X→XZ: kiegészítveX-vel v) X→YZ: iv) és ii) + tranzitivitás

Katona Gyula Y. Adatbáziskezelés 19 / 29

(20)

Levezethet ˝o szabályok

[Áltranzitiv szabály]{X →Y, YW →Z} `XW →Z i) X→Y: ezF-beli

ii) XW→YW: kiegészítveW-val iii) YW→Z: ezF-beli

iv) XW→Z: ii) és iii) + tranzitivitás

Katona Gyula Y. Adatbáziskezelés 20 / 29

(21)

Levezethet ˝o szabályok

[Felbontási szabály] Tegyük fel, hogyZ ⊆Y, ekkor{X →Y} `X →Z i) X→Y: ezF-beli

ii) Y →Z: reflexivitás

iii) X→Z: i) és ii) + tranzitivitás

Katona Gyula Y. Adatbáziskezelés 21 / 29

(22)

Teljességi tétel

Az igazságtétel fordítottja: azazF |=X→Y ⇒F `X →Y. Ez is igaz, nem bizonyítjuk.

Katona Gyula Y. Adatbáziskezelés 22 / 29

(23)

Függéshalmaz lezárása

Definíció

Ha F egy függéshalmaz, akkor a lezártja (jele F+) az F -b ˝ol levezethet ˝o összes függés:

F+={X→Y|F `X →Y}

Jó:mert|=⇐⇒ `miatt 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={Ai→Bj|1≤i,j≤n}, akkor ez legalább 2ndb függésmertF+-ban benne van mindenAi1. . .Aik →Bj1. . .Bjl, azaz

(2n−1) (2n−1)≈22neleme van.

Katona Gyula Y. Adatbáziskezelés 23 / 29

(24)

Attribútumhalmaz lezárása

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

Definíció

Ha X egy attribútum halmaz(R,F)-ben, akkor Xlezártja X+(F) ={A∈R|F `X →A}, azaz azon attribútumok, amik függnek X -t ˝ol.

Nyilván igaz, hogyX⊆X+(F)⊆R

Katona Gyula Y. Adatbáziskezelés 24 / 29

(25)

Attribútumhalmaz lezárása

Lemma

(Fontos!!!) F`X →Y ⇐⇒Y ⊆X+(F)

=⇒: Tegyük fel, hogyF `X →Y és legyenA∈Y.

F `X→A, hiszen vegyükX→Y levezetését és alkalmazzuk a felbontási szabályt a végén.

Definíció szerint ekkorA∈X+(F). Ez mindenA∈Y-ra igaz.

⇐=: LegyenY =A1. . .Ak ⊆X+(F).

Így definíció szerint∀Ai ∈Y-raF`X→Ai.

EkkorX→Ylevezetése: vesszük azAi-k levezetését és a végén alkalmazzuk az uniós szabálytk−1-szer.

Katona Gyula Y. Adatbáziskezelés 25 / 29

(26)

Fontos lemma következménye

Ha minden X-re ismerjük/ki tudjuk számítaniX+(F)-et, akkor tetsz ˝olegesX →Y függésr ˝ol eldönthet ˝o, hogyF+-beli-e vagy sem,

mertX→Y∈F+pontosan akkor teljesül (definíció szerint), haF `X→Y, de ez meg az el ˝obbi lemma szerint pontosan akkor van, haY ⊆X+(F)

Mindjárt látjuk, hogyX+(F)kiszámolására lesz gyors algoritmus.

Katona Gyula Y. Adatbáziskezelés 26 / 29

(27)

X

+

(F ) kiszámítása

Algoritmus:

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

Xi+1=Xi∪ {A∈R|van olyanU→V∈F, hogyU⊆XiésA∈V}, ...

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

Ezt persze be kéne látni, de ezt most kihagyjuk :)

Katona Gyula Y. Adatbáziskezelés 27 / 29

(28)

Példa

R(A,B,C,D), F ={A→B, B→C, BC→D}, A+(F) =?

X0={A}, X1={A,B}, X2={A,B,C}, X3={A,B,C,D}=Xutolsó

Katona Gyula Y. Adatbáziskezelés 28 / 29

(29)

Kulcs

Definíció Definíció:

X⊆Rszuperkulcsaaz(R,F)sémának, ha F`X→R. Másképpen, ha R=X+(F).

X⊆Rkulcsaaz(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

=⇒ X kulcs

Katona Gyula Y. Adatbáziskezelés 29 / 29

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

A változatosság jegyében, új variáció jön el ő : Láttál-e már borban buborékot.. Láttál-e már

A libák egyszerre gágogtak fel, kotkodáltak a tyúkok, kukorékolt b ő szen a kakas, hápogtak néma hápogással a kacsák, olyan nagy ri- csajt csaptak, hogy az öreg

Hogy vannak még erotikus álmai, de már tudja, hogy közel sem olyan kemény legény – ha érti Gyuszi, hogy mire gon- dol – mint volt katona korában, amikor szégyen, nem szé-

kiszélesítése és hosszú távú szakmai fenntarthatóságának megalapozása a kiváló tudományos utánpótlás biztosításával”.!. A

A mű elsődleges hozadéka, hogy a múzeum nemcsak arra szolgál, hogy tárol- ja és bemutassa a múlt tárgyi hagyaté- kát, hanem, hogy az értelmezési kerete-

Két csapat játssza egymás ellen, egy kb. Célszerű a középvonalat is megjelölni. Mindkét térfélen, az alapvo- nalakhoz közel egy-egy kb. A körök középpontjába

Az elismerést igazából minden csapat megérdemli, mert amióta van szerencsém részt venni ebben a rettenetes buli-dömpingben (röviden hívjuk csak KARI NAPOKnak), még soha

A modem városi ember számára a gép a természet új formája, ős Duchamp-nak a géppel való viszonya ugyanolyan bensőséges volt, mint amilyen egy mérnöké,