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

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

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

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

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

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

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

8. előadás. normálformák. Többértékű függés, kapcsolásfüggés, 4NF, 5NF. Adatbázisrendszerek előadás november 10.

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

Adatbázisok gyakorlat

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

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

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

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

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

Adatbázis-kezelés. alapfogalmak

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

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

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

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

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

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

Csima Judit október 24.

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

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

Normalizálási feladatok megoldása

ADATBÁZISOK. Normalizálás

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

Adatbázis rendszerek I

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

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

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

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

Adatmodellezés. 1. Fogalmi modell

Adatmodellek. 2. rész

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

T Adatbázisok-adatmodellezés

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

Adatbázis, adatbázis-kezelő

Adatbázis használat I. 1. gyakorlat

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

Csima Judit november 15.

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

Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai

9. RELÁCIÓS ADATBÁZISOK LOGIKAI TERVEZÉSE TERVEZÉS E-R DIAGRAMBÓL TERVEZÉS SÉMADEKOMPOZÍCIÓVAL Anomáliák...

Adatbázisok gyakorlat


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

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

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

ADATBÁZIS RENDSZEREK. Attributum típusok, normalizálsá, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

Adatbázis rendszerek 1. 4.Gy: ER modell

Gazdasági informatika II (SZIE GTK GVAM 1. évfolyam) 2009/2010. tanév 2. félév

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

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

Szűcs Miklós: Adatbázis példatár

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Adatbázis alapú rendszerek

Adatmodellezés, alapfogalmak. Vassányi István

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

ADATBÁZIS-KEZELÉS Demetrovics Katalin

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

13. Relációs adatmodell tervezése

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áziskezelés 1 / 12

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

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

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

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 adatbázis-kezelés alapjai

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

A relációs adatmodell

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

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

ADATBÁZIS RENDSZEREK. Attributum típusok, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

KOVÁCS BÉLA, MATEMATIKA I.

Két vagy több egyedtípus közötti jól meghatározott viszony. K onc epc ioná lis a datmodell (s éma )

Adatbázis rendszerek Definíciók: 5.3. Az adatbázis létrehozásának fő fázisai:

Adatbázis rendszerek 1. 5.Gy: ER relációs konverzió

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

1. előadás: Halmazelmélet, számfogalom, teljes

Adatbázis-kezelés - Relációs adatbázisok adatszerkezetének tervezése, megvalósítása

1. előadás Alapfogalmak Modellezés, a Bachman-féle fogalomrendszer, adatmodell,

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

Adatbázis rendszerek. dr. Siki Zoltán

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

Adatba zis é s szoftvérféjlészté s (wéb-programoza s)

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

Adatbázis-kezelés jegyzet II. Relációs adatmodell. Összeállította: Faludi Anita 2013.

Adatbázisok 10. Normalizálás példa

ADATMODELLEZÉS. Az egyed-kapcsolat modell

ADATBÁZIS-KEZELÉS ALAPOK I.

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modell szeptember szeptember 17. Adatbázisok 1 / 11

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Átírás:

Adatbázis rendszerek 1. 7.Gy: Rakjunk rendet Normalizálás 51/1 B ITv: MAN 2018.12.06

Normalizálás Adatbázis tervezés során olyan adatstruktúrákat kell kialakítani amelyek segítik a hatékony adatkezelést Fontos hogy az egyes táblákba csak a logikailag valóban összetartozó adatok kerüljenek, és hogy minél kevesebb ismétlődés legyen az adatok között. A relációs modellben külön eljárást fejlesztettek ki arra vonatkozóan, hogy az adatok megfelelő strukturálását, a redundancia csökkentését elősegítsék. Ez a módszer a normalizálás. 51/2

Normalizálás Redundancia: felesleges adatismétlődés. Az adatbázis egészét nézve bizonyos adatismétlődés szükséges, ugyanis a relációs modellben az egyes táblák között az ismétlődő adatok tartják a kapcsolatot. Csapat Lóerő Szín RedBull 650 sárga Mercedes 710 zöld Renault 680 piros Pilóta Istálló Kor Miki RedBull 30 Niki Mercedes 23 Riki Renault 26 51/3

Normalizálás Redundancia: felesleges adatismétlődés. A Csillagok háborúja és a Wayne világa című filmek esetén a színésznév mezőben szereplő neveken kívül minden más adat megegyezik. Ez felesleges ismétlődés, vagyis redundancia. 51/4

A redundancia következménye Anomáliák (rendellenesség, eltérés, szabálytalanság) Bővítési anomália: új adat felvitelekor a már korábban tárolásra került információkat is újra be kell vinnünk Pl. ha felvisszük Clark Gable-t, az Elfújta a szél színészét, a film címét, évét újra be kell írni 51/5

A redundancia következménye Módosítási anomália: nem egyetlen helyen kell kijavítani egy adatot, hanem több. Ha nem javítjuk mindegyiket, ellentmondásos lesz az adatbázis! Pl. egy film műfaját az egyik sorban kijavítjuk, a másikban nem 51/6

A redundancia következménye Törlési anomália: ha kitörlünk egy bizonyos adatot tartalmazó adatsort, akkor a nem közvetlenül hozzá tartozó adatok is elvesznek Pl. ha kitöröljük Vivien Leigh sorát, az Elfújta a szél film adatai (év, hossz, műfaj) is elvesznek 51/7

Normalizálás A normalizálás az adatbázis belső szerkezetének ellenőrzése, lépésenkénti átalakítása oly módon, hogy az adatbázis minden egyes lépésben egy-egy újabb kritériumnak, egymásra épülő normálformának feleljen meg. A műveletsorozat célja a redundancia- és anomáliamentes adatbázisok kialakítása. A 3NF-re vagy BCNF-re alakított adatbázis redundancia- és anomáliamentes, a normalizálás célja ezen alakok elérése. 0NF, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF 51/8

Normalizálás 0. normálforma, rendezetlen adatsorok Hibák: Két teljesen egyforma sor Egy mezőben több adat 51/9

Normalizálás 1 NF: eltávolítjuk a többértékű tulajdonságokat, az ismétlődő rekordokat, és megkeressük a kulcsot. Jellemzői: Minden mezőben csak 1 érték szerepel, Nincs két egyforma sor, ebből következik, hogy: Létezik kulcs a rekordokhoz (a példában: filmcím+színésznév) 51/10

Funkcionális függőség Adatok között akkor áll fenn funkcionális függőség (FD Functional Dependency), amikor egy tulajdonság értékét egy másik tulajdonság értéke egyértelműen meghatározza. (Egyirányú viszony!) 51/11 FD FD FD

Funkcionális függőségek felderítése A funkcionális függőségek felderítése nagy segítséget nyújt a helyes séma kialakításában. A funkcionális függőségekkel magyarázható a redundancia is. Ha ugyanis egy ismétlődő értékű mezőből FD indul ki, akkor az FD definíciója alapján a függőmezőnek is ismétlődnie kell. Tehát a redundancia oka a nem megfelelő, felesleges FD a relációsémán belül. Az FD-k felderítését, és az adatbázis FD-mentessé alakítását (dekompozícióját) nevezzük normalizálásnak. A normalizálás néhány rögzített irányelven alapszik, amelyek iránymutatást adnak a tervezéshez, helyes mederbe terelve a modellezés menetét. 51/12

Dekompozíció A dekompozíció során az induló séma felbontásával emeljük ki a nem kívánt FD-ket külön relációkba. Azaz a felesleges FD-t tartalmazó sémát dekompozícióval hozzuk normalizált alakra. A dekompozíciós módszerben felállított tervezési irányelveket több, egymásra épülő követelmény alakjában adják meg. Az egyes követelményeket szokás normálformáknak is nevezni. A normalizálás erről az oldalról nézve nem más, mint a megadott normálformák teljesülésének ellenőrzése, illetve az adatsémák átalakítása olyan alakra, hogy azok kielégítsék a megadott normálformákat. 51/13

Normalizálás 2 NF: az adatbázis 1NF-ben van, és minden tulajdonság a teljes kulcstól függ (összetett kulcs esetén, a kulcs egy részéből nem indul ki FD) Ha a kulcs összetett, olyan FD-t keresünk, ami a kulcs csak egy részétől függ. FD FD Két funkcionális függőség: Terem, Időpont -> Előadás Terem -> Férőhely Hiba! Nem ugyanattól a kulcstól függenek, ezért fel kell bontani relációkra: Terem, Időpont, Előadás Terem, Férőhely 51/14 FD Ha a kulcs nem összetett, az adatbázis automatikusan 2NFben van!

Normalizálás 3 NF: az adatbázis 2NF-ben van, és a nem kulcsértékekből nem indul ki FD. Olyan FD-t keresünk, ami nem a kulcsból indul ki. Két funkcionális függőség: Előadás -> Oktató Oktató -> OktatóKód Hiba! FD FD Az Oktatókód az Oktatótól, és nem az elsődleges kulcstól függ! Felbontás után: Előadás, Oktató Oktató, Oktatókód 51/15 FD

Normalizálás BCNF: az adatbázis 3NF-ben van, és funkcionális függőség csak a jelölt kulcsból indul ki. Megkötés: egy oktató csak egy tantárgyat oktat! Két funkcionális függőség: Hallgató, Tantárgy -> Oktató Oktató -> Tantárgy Hiba! Az Oktató->Tantárgy függőség nem a jelölt kulcsból indul ki! FD FD Új relációk: Oktató, Hallgató Oktató, Tantárgy 51/16 FD

Normalizálás Léteznek további normálformák is, de a 3 NF vagy a BCNF elérése már megfelelő egy adatbázis elkészítéséhez. Az első három normál forma a funkcionális függőségekben található redundanciák, míg a negyedik és ötödik a többértékű függőségekből adódó redundan-ciák megszüntetésére koncentrál. 0NF 1NF 2NF 3NF BCNF 51/17

Normalizálás Józan paraszti ésszel Ha felírjuk az összes letárolandó adatot, és megvizsgáljuk az egyes adatok lehetséges darabszámát (számosságát), és a különböző számosságú adatokat külön táblába rakjuk, akkor tudományos módszerek nélkül elvégezhetjük a normalizálást! Pl: Forma 1 adatbázis: Összes adat: pilóta neve, születési dátuma, csapata, csapat székhelye, verseny neve, időpontja, elért helyezés 1. Pilóta adatai: név, születés, csapat (x darab pilóta) 2. Csapat adatai: név, székhely (y darab csapat) 3. Versenyek: neve, időpontja (z darab verseny) 4. Eredmények: verseny, pilóta, helyezés (w darab) 51/18

51/19

Normalizálás Példa: Bolti számla Kiinduló adatok, ún. nulladik normálforma (0NF) SzSzám Dátum Vnév Vcím Dkód Dnév Tkód Tnév Menny EgysÁr Összeg Összár 112 2010. 12.23 Kis Éva Mc. Jég u.1 14 Hó Ida A673 C193 F003 Izzósor Gyertya Fenyő 2 4 2,5 2500 500 3000 5000 2000 7500 14500 Számla Vevő adatai Pénztáros Termékek adatai Szla. Egy vevő általában több terméket vásárol, emiatt a Tkód...Összeg mezők többértékűek. Keressük meg a mezők közötti összefüggéseket: SzSzám Dátum Vnév Vcím Dkód Dnév Összár SzSzám Tkód Tnév Menny EgysÁr Összeg 51/20

Normalizálás 2. 1NF Első normálforma: Egy reláció 1NF-ben van, ha minden attribútum egyértékű, és a relációban van kulcs. (A kulcs miatt a sorok különböznek egymástól.) Ha az FD-knek megfelelően az eredeti relációt két új relációra bontjuk, akkor egy olyan adatbázist kapunk, amely 1NF-ben van: R1 R2 SzSzám Dátum Vnév Vcím Dkód Dnév SzSzám Tkód Tnév Menny EgysÁr Összeg Összár SzSzám Dátum Vnév Vcím Dkód Dnév Összár 112 2010. 12.23 Kis Éva Mc. Jég u.1 14 Hó Ida 14500 R1 SzSzám Tkód Tnév Menny EgysÁr Összeg 51/21 R2 112 A673 Izzósor 2 2500 5000 112 C193 Gyertya 4 500 2000 112 F003 Fenyő 2,5 3000 7500

Normalizálás 3. 2NF Második normálforma: Egy reláció 2NF-ben van, ha 1NF teljesül, és minden attribútum a teljes kulcstól függ. Ha a kulcs egyetlen mező, a 2NF automatikusan teljesül! Vizsgáljuk az R2 relációt, hiszen ott összetett a kulcs. Keressünk FD-ket! Tkód Tnév EgysÁr SzSzám Tkód Tnév Menny EgysÁr Összeg 112 A673 Izzósor 2 2500 5000 112 C193 Gyertya 4 500 2000 112 F003 Fenyő 2,5 3000 7500 SzSzám Tkód Menny Összeg Most már minden a kiválasztott kulcsoktól függ, így az ennek megfelelően felbontott relációk 2NF-ben lévő adatbázist adnak. 51/22

Normalizálás 4. FD-k: R1 SzSzám Dátum Vnév Vcím Dkód Dnév Összár 112 2010. 12.23 Kis Éva Mc. Jég u.1 14 Hó Ida 14500 Tkód Tnév EgysÁr R2 SzSzám Tkód Tnév Menny EgysÁr Összeg 112 A673 Izzósor 2 2500 5000 112 C193 Gyertya 4 500 2000 112 F003 Fenyő 2,5 3000 7500 SzSzám Tkód Menny Összeg 2NF relációk: R1 Termék SzSzám Dátum Vnév Vcím Dkód Dnév Összár Tkód Tnév EgysÁr Termék Tkód Tnév EgysÁr A673 Izzósor 2500 C193 Gyertya 500 F003 Fenyő 3000 Tétel 51/23 SzSzám Tkód Menny Összeg Tétel SzSzám Tkód Menny Összeg 112 A673 2 5000 112 C193 4 2000 112 F003 2,5 7500

Normalizálás 5. 3NF Harmadik normálforma: Egy reláció 3NF-ben van, ha 2NF teljesül, és a nem kulcs attribútumok nem függnek tranzitíven a kulcstól. Ez azt jelenti, hogy a nem kulcs attribútumok között nem találunk FD-t! Keressünk a relációkban a mezők között összefüggéseket! R1 SzSzám Dátum Vnév Vcím Dkód Dnév Összár 112 2010. 12.23 Kis Éva Mc. Jég u.1 14 Hó Ida 14500 Vnév Dkód Vcím Dnév A vevő neve egyértelműen meghatározza a vevő címét! A dolgozó kódja egyértelműen meghatározza a dolgozó nevét! 51/24

Normalizálás 6. A megtalált FD-knek megfelelően újból átalakítjuk a relációkat, és így egy 3NF-ben lévő adatbázishoz jutunk. 3NF relációk: Vevő Dolgozó Számla Vnév Dkód Vcím Dnév SzSzám Dátum Vnév Vcím Dkód Dnév Összár 112 2010. 12.23 Kis Éva SzSzám Dátum Vnév Dkód Összár Mc. Jég u.1 R1 14 Hó Ida 14500 SzSzám Dátum Vnév Dkód Összár Vnév Vcím Dkód Dnév 112 2010. 12.23 Kis Éva 14 14500 Kis Éva Mc. Jég u.1 14 Hó Ida 51/25 Számla Vevő Dolgozó

Normalizálás 7. A 3NF-ben lévő teljes reláció: Számla Vevő Dolgozó Termék Tétel SzSzám Dátum Vnév Dkód Összár Vnév Vcím Dkód Dnév Tkód Tnév EgysÁr SzSzám Tkód Menny Összeg SzSzám Dátum Vnév Dkód Összár 112 2010.12.23 Kis Éva 14 14500 Vnév Vcím Kis Éva Mc. Jég u.1 Dkód Dnév 14 Hó Ida Számla Vevő Dolgozó Termék 51/26 Tkód Tnév EgysÁr A673 Izzósor 2500 C193 Gyertya 500 F003 Fenyő 3000 SzSzám Tkód Menny Összeg 112 A673 2 5000 112 C193 4 2000 112 F003 2,5 7500 Tétel

Normalizálás 8. BCNF Boyce-Codd normálforma: Egy reláció BCNF-ben van, ha minden függőség csak jelölt kulcsból indul ki. Jellemzői: BCNF átfogja 2NF-et. 3NF-et célszerű ezzel helyettesíteni. A 3NF nem foglalja magába a BCNF-et. A BCNF nem foglalja magába a 3NF-et. 3NF 0NF 1NF 2NF BCNF A példa adatbázis minden relációja teljesíti ezt a kritériumot, így az adatbázis BCNF-ben van! 51/27

Dolgozó [Dkód, Dnév] Számla [SzSzám, Dátum, Vnév, Dkód, Összár] Vevő [Vnév, Vcím] Termék [Tkód, Tnév, EgysÁr] Tétel [SzSzám, Tkód, Menny, Összeg] Dkód Dnév SzSzám Dátum ÖsszÁr Vnév Vcím Dolgozó D-Sz Számla Sz-V Vevő Tkód Tnév Sz-T Termék TB-T Tétel 51/28 EgysÁr. Menny. Összeg

Normalizálás Második menet BCNF Boyce-Codd normálforma: Egy reláció BCNF-ben van, ha minden függőség csak jelölt kulcsból indul ki. Tételezzük fel, hogy a vevőknél tárolnánk az adószám mezőt is: Vevő [Vnév, Vcím, Adószám] Van FD a relációban? Igen! Mi következik ebből? A Vevő reláció nem teljesítené a 3NF kritériumot, vagyis tovább kellene bontani két relációra. Ennek viszont semmi értelme nem lenne, hiszen olyan függőséget szüntetnénk meg, amely nem okoz ismétlődést, az adószám ugyanis éppúgy egyedi mező, mint a Vnév. Vagyis ha a Vevő relációban az adószám is jelölt kulcs, akkor az adatbázis bár nem 3NF, de redundancia mentes BCNF, és ez tökéletesen megfelel a normalizálás céljának: FD Adószám Vnév, Vcím 51/29 Vevő [Vnév, Vcím, Adószám]

Normalizálás Magold be! 1NF Első normálforma: Egy reláció 1NF-ben van, ha minden attribútum egyértékű, és a relációban van kulcs. 2NF Második normálforma: Egy reláció 2NF-ben van, ha 1NF teljesül, és részkulcsból nem indul ki FD. 3NF Harmadik normálforma: Egy reláció 3NF-ben van, ha 2NF teljesül, és nem kulcsból nem indul ki FD. BCNF Boyce-Codd normálforma: Egy reláció BCNFben van, ha minden függőség csak jelölt kulcsból indul ki. 51/30

51/31

Normalizálás Harmadik menet Jön az elmélet: FD definíciója, Armstrong axiómák, Az axiómákból levezethető szabályok, Heath tétel, Rissanen tétel. 51/32

Funkcionális függőség Érthetően: Az egyik tulajdonság értékét egy másik tulajdonság értéke egyértelműen meghatározza. (Egyirányú viszony!) Szakszerűbben: Ha egy tábla minden sorára igaz az, hogy ha az A oszlop egy tulajdonságának értéke megegyezik a sorokban, és ugyanezen sorokban a B oszlop tulajdonsága is megegyezik, akkor a B tulajdonság funkcionálisan függ A tulajdonságtól. Kód 15 A XY B 4 Jelölése: A B 16 UV 8 17 XY 4 51/33

Armstrong-axiómák Az Armstrong-axiómák segítségével a már meglévő függőségekből új függőségek származtathatók. Az Armstrongaxiómák a következők: Tranzitivitás Átvihetőség Reflexivitás Visszahatás Augmentivitás Bővíthetőség Az Armstrong-axiómákból levezethető szabályok Additivitás Egyesítési szabály Dekompozíció Szétvághatósági szabály Pszeudotranzitivitás Látszólagos függés átvitel 51/34

Armstrong-axiómák Tranzitivitás átvihetőség: Az egyik legegyszerűbb következtetési szabály azt mondja ki, hogy ha az R(A,B,C) attribútum-halmazokra teljesülnek az A B és B C függőségek, akkor teljesül az A C függőség is. Ezt a tulajdonságot tranzitivitásnak nevezzük. A B és B C A C A funkcionális függőség láncszerűen továbbadódik, átvivődik. 51/35

Armstrong-axiómák Reflexivitás visszahatás: Nyilvánvalóan igaz az a szabály is, hogy a X halmaz minden Y részhalmazára is teljesül a X Y függőség. Ezt nevezzük reflexivitásnak vagy triviális függőségnek. A reflexivitás szabálya kimondja, hogy attribútumok egy halmaza mindig meghatározza saját magát vagy önmaga bármilyen részhalmazát, ami nyilvánvaló, ezért a reflexivitást triviális függőségnek is nevezik. Y X X Y Talán így jobban érthető: (A,B) A és (A,B) B 51/36

Armstrong-axiómák Augmentivitás Bővíthetőség: A bővíthetőség azt mondja ki, hogy ha egy funkcionális függés mindkét oldalát ugyanazzal az attribútum-halmazzal bővítjük, akkor a függés továbbra is megmarad a két halmaz között. Formálisan, ha A B és C tetszőleges attribútum-halmaz, akkor A C B C. A B A C B C Egy funkcionális függés mindkét oldalának ugyanazzal az atribútumhalmazzal történő bővítése újabb érvényes funkcionális függést eredményez. 51/37

Armstrong-axiómákból következő szabályok A következő két szabály szorosan kapcsolódik egymáshoz, mivel lényegében egymás ellentétjei. Egyesítési szabály azt jelenti, hogy ha teljesül egy A B és egy A C függőség, akkor teljesül az A B C függőség is. Azonos bal oldalú függőségek jobb oldalán szereplő attribútum-halmazait egyesíthetjük. A B és A C A (B, C) Szétvághatósági szabály. A funkcionális függőség jobb oldalán szereplő attribútum-halmazra teljesül az, hogy annak minden részhalmaza külön-külön is függ a baloldaltól. Vagyis ha A B és C B, akkor A C is teljesül. A jobb oldalon lévő összetett attribútum-halmaz minden eleme önállóan is függ a bal oldaltól. 51/38 A (B, C) A B és A C

Armstrong-axiómákból következő szabályok Pszeudotranzitivitás látszólagos függés átvitel A B és C B D C A D Jelentése: ha egy részhalmazt (B) kicserélek egy olyan halmazra, amelytől funkcionálisan függ (A), akkor a függés megmarad. A funkcionális függőség nemcsak előre felé, hanem visszafelé is továbbadódik, átvivődik. 51/39

Heath tétele Veszteségmentes felbontás tétele Azt mondja ki, hogy mikor tekinthető egy felbontás biztosan veszteségmentesnek (mikor nem veszítünk információt a felbontással) Az új relációk join-jával előállítható a kiinduló reláció 51/40 Adott az R(A,B,C) reláció. Ha A B, akkor az R1(A,B) és R2(A,C) felbontás veszteségmentes. A tétel nem pontos, nem definiálja azt a kritériumot, amikor a felbontás "csak" veszteségmentes. (Lehet, hogy visszaállításkor több FD keletkezik, mint amennyi az eredeti relációban volt) A tétel követelményét betartva keletkezhet olyan veszteségmentes felbontás, ami egymástól nem független relációkat eredményez.

Rissanen tétel A felbontás függetlenségének eldöntésében segít a Rissanen tétel: Az R(A,B,C) relációból képzett R1(A,B) és R2(A,C) akkor független, ha: R(A,B,C) minden FD-je származtatható R1(A,B) és R2(A,C) FD-jeiből, és A legalább az egyik felbontásban jelölt kulcs. Azokat a relációkat, melyeknek nincs független felbontása, atomi relációnak nevezzük. 51/41

F1 Normalizálás Harmadik menet Normalizáljuk az alábbi sémát 3NF-ig: R (A,B,C,D,E,F) FD 1. Lépés: 1NF-hez keressük meg a kulcsot! A C, C E, (A,B) F, B D Armstrong 2. axiómája alapján (az egész meghatározza a részét): (A,B) A és (A,B) B Armstrong 1. axiómája alapján (a függőségek tranzitívek): (A,B) A és A C (A,B) C (A,B) C és C E (A,B) E (A,B) B és B D (A,B) D A fentiekből következik, hogy (A,B) meghatározza az összes többi attribútumot, így 1NF-ben (A,B) lesz a kulcs: 1NF 51/42 R (A,B,C,D,E,F)

F1 Normalizálás Harmadik menet 2. Lépés: 2NF-hez keressünk részkulcsból kiinduló FD-t! Ha találunk részkulcsból kiinduló FD-ket, kövessük azok láncolatait, összefüggéseit, így tudjuk meghatározni a 2NF relációit: FD (A,B) F R1 (A,B, F) FD A C, C E R2 (A, C, E) FD B D R3 (B, D) 2NF R1 (A,B, F) R2 (A, C, E) R3 (B, D) 51/43

F1 Normalizálás Harmadik menet 3. Lépés: 3NF-hez keressünk nem kulcsból kiinduló FD-t! R1 (A, C, E) FD C E A megtalált FD-k alapján daraboljuk fel az adott relációkat: R1 (A, C, E) R1 (A, C) R2 (C, E) 3NF R1 (A, C) R3 (A,B, F) R4 (B, D) R2 (C, E) Mivel minden függőség jelölt kulcsból indul ki: BCNF = 3NF 51/44

Normalizálás Harmadik menet F2 Normalizáljuk az alábbi sémát 3NF-ig: R (X,Y,Z,Q,W) FD Y W, X (Q,Z), Z Y A szétvághatósági szabály alapján: Armstrong 1. axiómája alapján: X (Q,Z) X Q és X Z X Z és Z Y X Y X Y és Y W X W 1NF R (X,Y,Z,Q,W) 2NF = 1NF 3NF R1 (X,Q,Z) R2 (Z,Y) R3 (Y,W) 51/45

Normalizálás Harmadik menet F3 Normalizáljuk az alábbi sémát BCNF-ig: R (A,B,C,D,E) FD C E, A D, E B, (A,E) A Armstrong 2. axiómája alapján: Armstrong 1. axiómája alapján: (A,E) A és (A,E) E (A,E) A és A D (A,E) D (A,E) E és E B (A,E) B De: C E, ezért (A,C) a kulcs 1NF 2NF R (A,C,B,D,E) R1 (A,C) R2 (A,D) R3 (C,E,B) 3NF R1 (A,C) R2 (A,D) R3 (C,E) BCNF 51/46 = 3NF R4 (E,B)

Normalizálás Harmadik menet F4 Normalizáljuk az alábbi sémát BCNF-ig: R (X,Y,Z,Q,R,S) (Y,Q) Y, Q Z, Y S, FD (Y,Q) R, S X Armstrong 2. axiómája alapján Armstrong 3. axiómája alapján A szétvághatósági szabály alapján Armstrong 1. axiómája alapján: 1NF R (YQ,X,Z,R,S) (Y,Q) Y és (Y,Q) Q Q Z (Y,Q) (Y,Z) (Y,Q) (Y,Z) (Y,Q) (Y) és (Y,Q) (Z) (Y,Q) Y és Y S (Y,Q) S (Y,Q) S és S X (Y,Q) X 2NF R1 (YQ,R) R2 (Y,S,X) R3 (Q,Z) 3NF R1 (YQ,R) R2 (Y,S) 51/47 BCNF = 3NF R3 (S,X) R4 (Q,Z)

Normalizálás Harmadik menet F5 Normalizáljuk az alábbi sémát BCNF-ig: R (A,B,C,D,E,F) FD A C, E B, C (F,C), (A,E) D Armstrong 2. axiómája alapján: A szétvághatósági szabály alapján Armstrong 1. axiómája alapján: (A,E) A és (A,E) E C (F,C) C (F) és C (C) (A,E) A és A C (A,E) C (A,E) C és C F (A,E) F (A,E) E és E B (A,E) B 1NF R (A,E,B,C,D,F) 2NF R1 (A,E,D) R2 (A,C,F) R3 (E,B) 3NF R1 (A,E,D) R2 (A,C) R3 (C,F) BCNF 51/48 = 3NF R4 (E,B)

Normalizálás Harmadik menet F6 Normalizáljuk az alábbi sémát BCNF-ig: R (A,B,C,D,E) FD A B, A C, B A, B C, C D, D E Armstrong 1. axiómája alapján B C és C D B D B D és D E B E De: A B, tehát A vagy B lehet a kulcs 1NF R (B,A,C,D,E) 2NF = 1NF 3NF R1 (B,A) R2 (A,C) R3 (C,D) R4 (D,E) BCNF R1 (B,A,C) R2 (C,D) R3 (D,E) 51/49

51/50

VÉGE VÉGE 51/51