Függőségek felismerése és attribútum halmazok lezártja



Hasonló dokumentumok
ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek

Csima Judit október 24.

Adatbázisok elmélete 12. előadás

8. Előadás tartalma. Funkcionális függőségek

Csima Judit november 15.

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

6. Gyakorlat. Relációs adatbázis normalizálása

Példa Többértékű függőségek, 4NF, 5NF

11. Gyakorlat Adatbázis-tervezés, normalizálás. Redundancia: egyes adatelemek feleslegesen többször is le vannak tárolva

Adatbázis-kezelés. alapfogalmak

Csima Judit BME, VIK, november 9. és 16.

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

ADATBÁZISOK E-K MODELLBŐL RELÁCIÓS MODELL. Debrenti Attila

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Adatbáziskezelés. Indexek, normalizálás NZS 1

Adatbázisok gyakorlat

Több felhasználó párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása

A relációs adatmodell

Normalizálási feladatok megoldása

0. Ha valahol még nem szerepelt a relációs algebrai osztás, akkor azt kell először venni:

Adatbázis rendszerek Definíciók:

Relációs adatbázisok tervezése ---1

Tervezés: Funkcionális függıségek

Adatbázisok gyakorlat

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás


Az adatbázis-alapú rendszerek tervezésének alapvető része az adatok modellezése. Ez legtöbbször két fázisban zajlik:

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Adatbázis rendszerek 2. előadás. Relációs algebra

Adatbázis, adatbázis-kezelő

Adatmodellezés. 1. Fogalmi modell

Adatbázis rendszerek 2. előadás. Relációs algebra

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 21.

T Adatbázisok-adatmodellezés

Adatbáziskezelés 1 / 12

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Adatbázis rendszerek 1. 7.Gy: Rakjunk rendet. Normalizálás

Relációs adatbázisok tervezése ---2

Normalizálás. Elméleti összefoglaló

ADATBÁZIS-KEZELÉS. Relációs modell

Adatbázis tervezés normál formák segítségével

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

A valós számok halmaza

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

Adatmodellek. 2. rész

A relációs adatbázis-tervezés alapjai

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Adatbázis rendszerek. 4. előadás Redundancia, normalizálás

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

Adatbázisrendszerek. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF március 13.

7. Előadás tartalma A relációs adatmodell

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

13. Relációs adatmodell tervezése

Adatbázis-kezelés az Excel 2013-ban

Adatbázisok. 1. gyakorlat. Adatmodellezés október október 1. Adatbázisok 1 / 42

Adatbázisok elmélete 11. előadás

Diszkrét matematika 1.

Matematikai alapismeretek. Huszti Andrea

Diszkrét matematika 1.

E/K diagram átalakítása relációs adatbázistervre

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

7. Gyakorlat A relációs adatmodell műveleti része

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF. Adatbázisrendszerek előadás november 7.

Leképezések. Leképezések tulajdonságai. Számosságok.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

ADATMODELLEZÉS. Az egyed-kapcsolat modell

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Normálformák Normalizálás ADATBÁZISKEZELÉS ÉS KÖNYVTÁRI RENDSZERSZERVEZÉS 1 / 2

Adatbázisrendszerek 7. előadás: Az ER modell március 20.

10. előadás. Konvex halmazok

ADATBÁZISOK. 3. gyakorlat E-K modell

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

Fuzzy halmazok jellemzői

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3.

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Mezők viszonya a relációs adatbázis tábláiban

Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Adatbázis használat I. 1. gyakorlat

Gy ur uk aprilis 11.

8. előadás. Az ER modell. Jelölések, az ER séma leképezése relációs sémára. Adatbázisrendszerek előadás november 14.

Adatbázisok. Követelmények. Előadó honlapján:

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 2. estis képzés

a nyers adatokat relációs formátumúvá alakítja felkutatja és feloldja az adatelem meghatározásokban az esetleges pontatlanságot/bizonytalanságot

Az egyed-kapcsolat modell (E/K)

Adatbázisok 1. Az egyed-kapcsolat modell (E/K)

Metrikus terek, többváltozós függvények

ADATBÁZIS-KEZELÉS Demetrovics Katalin

Diszkrét matematika 2. estis képzés

A digitális számítás elmélete

Relációs adatmodell. Adatbázisok használata

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Adatmodell elemei. Adatmodellezés. Adatobjektum. Kutya adatobjektum, mint tábla

Adatbázisok elmélete 6. előadás

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Átírás:

Függőségek felismerése és attribútum halmazok lezártja Elméleti összefoglaló Függőségek: mezők közötti érték kapcsolatok leírása. A Funkcionális függőség (FD=Functional Dependency): Ha R két sora megegyezik az A 1, A 2,.., An attribútumokon, akkor meg kell egyezniük más attribútumok egy B 1, B 2,, Bm sorozatán. Jelölése: A 1, A 2, An B 1, B 2, Bm Egy sémában egy B attribútum halmaz funkcionálisan függ az A-tól, ha bármely két sor, amely az A értékeiben megegyezik, szükségszerűen a B értékeiben is megegyezik. Relációk kulcsai Az egy vagy több attribútumból álló {A 1, A 2,, An } halmaz az R kulcsa, ha: 1. Ezek az attribútumok funkcionálisan meghatározzák a reláció minden más attribútumát, azaz nem lehet R-ben két olyan különböző sor, amely mindegyik A 1, A 2,, An-en megegyezne. 2. Nincs olyan valódi részhalmaza {A 1, A 2,, An} nek, amely funkcionálisan meghatározná R összes többi attribútumát, azaz a kulcsnak minimálisnak kell lennie. Attribútum halmazok lezárása: Adott egy F funkcionális függőségi halmaz F elemeiből az Armstrong axiómák alkalmazásával képezhető összes függőségi halmazt az F lezártjának nevezzük. Jele: F+. A lezárt fogalom segítségével megállapíthatjuk két eltérő elemszámú FD halmaz ekvivalenciáját. Ekvivalensek, ha FD lezártjának képzése: Kiindulunk egy adott attribútum halmazból. Többször ismételten növeljük ezt a halmazt azoknak a funkcionális függőségeknek a jobb oldali attribútumaival, amely függőségeknek a bal oldalát már tartalmazza az Szendrői Etelka 2012 1

attribútumhalmaz. Nyilvánvalóan eljutunk egy pontig, amikor a halmaz már nem bővíthető tovább, és ez az eredményhalmaz lesz a lezárás. Lépések: Az {A 1,A 2,, A n } attribútumhalmazra egy S funkcionális függőségi halmaz szerint vett lezárásának kiszámolási algoritmusa. (A szétvághatósági szabály miatt feltesszük, hogy S-ben minden függőség jobb oldala egyelemű.) 1. Legyen X attribútumhalmaz, amely végül maga a lezárt lesz. Legyen először X kezdőértéke {A 1, A 2,, A n }. 2. Ismételten keresünk olyan B 1, B 2,,B m C funkcionális függőséget S-ből, amelyre a teljes B 1, B 2, B m benne van az X attribútumhalmazban, de a C nincs. Ekkor C-t hozzávesszük az X halmazhoz. 3. A 2. lépést addig ismételjük, ameddig már nem tudunk több attribútumot hozzávenni X- hez. Mivel X csak növekedhet, és bármely relációnak véges sok attribútuma lehet, tehát S- ben is csak véges sok függőség van, végül már nem tudjuk az X-et tovább bővíteni. 4. Az az X halmaz, amelyet már nem tudunk tovább bővíteni lesz {A 1, A 2, A n } + -nak a helyes értéke. Feladatok: 1. Milyen funkcionális függőségek állnak fenn az alábbi relációs táblában? Könyvek (ISBN, Könyvcím, Kiadás éve, Kiadó neve, Kiadó címe, Szerzőkód, Szerzőnév, Szerző nemzetiség) Könyvek és szerzők között N:M kapcsolat van. Egy adott könyvet egy kiadó ad ki. Az ISBN, a Kiadó neve, és a Szerzőkód egyedi értékű azonosítók. Szerzőkód Szerzőnév, Szerző nemzetiség ISBN Könyvcím, Kiadás éve, Kiadó neve, Kiadó címe Kiadó neve Kiadó címe 2. Milyen funkcionális függőségek állnak fenn az alábbi relációs táblában? Biztosításkötések (Ügyfélkód, Ügyfélnév, Ügyfélcím, Biztosításkód, Biztosítás megnevezése, Díj, Ügyintézőkód) Az ügyfelek és a biztosítások között N:M kapcsolat van. A biztosítás díja ügyfelenként és biztosításonként változik. Az ügyintéző biztosításkötésenként más és más. Az Ügyfélkód, a Biztosításkód, az Ügyintézőkód egyedi értékű azonosítók. Ügyfélkód Ügyfélnév, Ügyfélcím Biztosításkód Biztosítás megnevezése Ügyfélkód, Biztosításkód Díj, Ügyintézőkód, Ügyintézőnév Ügyintézőkód Ügyintézőnév 3. Milyen funkcionális függőségek állnak fenn az alábbi relációs táblában? Pénzfelvétel (Bankkártya szám, Lejárat dátuma, Bankkártya típusa, Kibocsátó bank kódja, Kibocsátó bank neve, Pénzfelvétel dátuma, Pénzfelvétel időpontja, Felvett összeg) Szendrői Etelka 2012 2

Az ügyfél egy nap több időpontban is felvehet pénzt Minden bankkártyának egyetlen bank a kibocsátója A Bankkártya száma, a Kibocsátó bank kódja egyedi azonosítók. Bankkártya szám, Lejárat dátuma, Bankkártya típusa, Kibocsátó bank kódja, Kibocsátó bank neve Kibocsátó bank kódja Kibocsátó bank neve Bankkártya szám, Pénzfelvétel dátuma, Pénzfelvétel időpontja Felvett összeg 4. Milyen funkcionális függőségek állnak fenn az alábbi relációs táblában? Bérfizetés (Dolgozókód, Dolgozónév, Osztálykód, Osztálynév, Bérfizetés dátuma, Összeg) Minden dolgozó csak egy osztályon dolgozik. Bérfizetésre több különböző időpontban kerül sor, de naponta csak egyszer. A Dolgozókód, az Osztálykód egyedi értékű azonosítók. Dolgozókód Dolgozónév, Osztálykód, Osztálynév Osztálykód Osztálynév Dolgozókód, Bérfizetés dátuma Összeg Lezártak és elsődleges kulcs meghatározása 5. Feladat: A T(A,B,C,D) táblázatban az A B, D és C A funkcionális függőségek állnak fenn. Határozza meg az alábbi attribútum halmazok lezártjait! a.) {A} + b.) {C} + c.) {A,C} + Mi lesz a táblázat elsődleges kulcsa? a.) {A} + = {A, B, D} mert A B, D függőséget a szétvághatósági szabály szerint A B és A D függőségekre bontjuk és még adott C A. Kiinduló halmaz X={A}, mivel ennek a lezártját keressük. Az algoritmus második lépése szerint keresünk olyan függőséget, amelynek bal oldala benne van X-ben, de a jobb oldala nincs. Ezért bővítjük X-et először B-vel. X={A,B}. Van még egy függőség, amelynek bal oldala benne van X-ben, a jobb oldala pedig nincs. Ezért megismételve az algoritmus 2. lépését, kapjuk X={A, B, D}. Maradt még egy függőség, a C A, de ennek bal oldala nincs benne X-ben, tehát nem vihető be X-be. Tehát az algoritmus befejeződött. b.) {C} + = {C,A,B,D}, mert X={C}, mivel C A, ezért A-t bevesszük X-be. X={C, A,}, s mivel az a.) feladatban láttuk, hogy A B és A D, ezért először B-vel, majd D-vel bővítjük X-et. c.) {A,C} + ={A,C,B,D}, mert Kiinduló halmaz X={A,C}. Az előző 2 feladat alapján kapjuk az eredményt. A táblázat elsődleges kulcsa : C lesz, mivel C a legkisebb attribútumhalmaz, amelynek lezártjában az összes attribútum benne van. (b. feladat) Szendrői Etelka 2012 3

6. Feladat: Tekintsük a következő relációs táblázatot! Díjfizetés (EHAKód, Név, Évfolyam, Évfolyamfelelős tanár kódja, Évfolyamfelelős tanár neve, Dátum, Tandíjrészlet) Egy hallgató csak egy évfolyamra jár. Minden évfolyamon csak egy évfolyamfelelős tanár van, de egy tanár több évfolyamon is lehet felelős. Egy hallgató egy nap csak egy tandíjrészletet fizethet be. EHAKód Név, Évfolyam, Évfolyamfelelős tanár kódja, Évfolyamfelelős tanár neve Évfolyamfelelős tanár kódja Évfolyamfelelős tanár neve EHAKód, Dátum Tandíjrészlet Évfolyam Évfolyamfelelős tanár kódja, Évfolyamfelelős tanár neve Határozza meg az alábbi lezártakat! Mi lesz az elsődleges kulcs a relációban? {EHAKód} + {EHAKód, Dátum} + {EHAKód} + ={EHAKód, Név, Évfolyam, Évfolyamfelelős tanár kódja, Évfolyamfelelős tanár neve} {EHAKód, Dátum} + = {EHAKód, Dátum, Név, évfolyam, Évfolyamfelelős tanár kódja, Évfolyamfelelős tanár neve, Tandíjrészlet} A reláció kulcsa a EHAKód, Dátum lesz. 7. Feladat: Tekintsük a következő táblázatot! Raktározás (Raktárkód, Raktárnév, Raktárcím, Termékkód, Terméknév, Ár, Gyártókód, Gyártónév, Mennyiség) A raktárak és a termékek közötti kapcsolat N:M típusú. Egy terméket csak egy gyártó gyárt. Termékkód Terméknév, Ár, Gyártókód, Gyártónév Gyártókód Gyártónév Raktárkód Raktárnév, Raktárcím Raktárkód, Termékkód Mennyiség Határozza meg az alábbi lezártakat! {Termékkód} + {Termékkód, Raktárkód} + {Termékkód, Gyártókód} + Mi lesz az elsődleges kulcs a táblázatban? {Termékkód} + ={Termékkód, terméknév, Ár, Gyártókód, gyártónév} {Termékkód, Raktárkód} + = {Termékkód, Raktárkód, Terméknév, Ár, Gyártókód, Gyártónév, Raktárnév, Raktárcím, Mennyiség} {Termékkód, Gyártókód} + = {Termékkód, Gyártókód, Terméknév, Ár, gyártónév} Az elsődleges kulcs: Termékkód, Raktárkód. Szendrői Etelka 2012 4

8. Feladat: Tekintsük a következő táblázatot! Gépjárműadó (Rendszám, Gépkocsi súlya, Tulajdonoskód, Tulajdonosnév, Tulajdonoscím, Tulajdonrész, Adó összege) Egy autónak több tulajdonosa is lehet. Egy személynek több autóban is lehet tulajdonrésze. Az adó nagyságát a gépkocsi súlya alapján határozzák meg. Rendszám Gépkocsi súlya, Adó összege Gépkocsi súlya Adó összege Rendszám, Tulajdonoskód Tulajdonrész Tulajdonoskód Tulajdonosnév, Tulajdonoscím Határozza meg az alábbi lezártakat! {Rendszám} + {Rendszám, Tulajdonoskód} + Mi lesz az elsődleges kulcs a táblában? {Rendszám} + = {Rendszám, Gépkocsi súlya, Adó összege} {Rendszám, Tulajdonoskód} + ={Rendszám, Tulajdonoskód, Gépkocsi súlya, Adó összege, Tulajdonosnév, Tulajdonoscím, Tulajdonrész} Az elsődleges kulcs: Rendszám, Tulajdonoskód Szendrői Etelka 2012 5