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

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

Adatbázis rendszerek 1. 7.Gy: Rakjunk rendet. 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

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

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

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.

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

Adatbázisok gyakorlat

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

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

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

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

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

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

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

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

Adatbázis-kezelés. alapfogalmak

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

Csima Judit október 24.

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

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

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

Normalizálási feladatok megoldása

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

Csima Judit november 15.

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

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

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

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

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

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

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

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

ADATBÁZISOK. Normalizálás

Adatmodellek. 2. rész

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

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


T Adatbázisok-adatmodellezés

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

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

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

Adatbázis rendszerek I

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ázis, adatbázis-kezelő

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

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

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

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

Adatmodellezés. 1. Fogalmi modell

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

Adatbázisok gyakorlat

13. Relációs adatmodell tervezése

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírá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 adatbázis-kezelés alapjai

Adatbázis használat I. 1. gyakorlat

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

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

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

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.

A relációs adatmodell

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

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

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

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 I. 10. SQL alapok (DML esettanulmány)

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

ADATBÁZIS-KEZELÉS Demetrovics Katalin

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

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

Adatbázis rendszerek Definíciók:

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

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

A FEJEZET CÉLJA. RDA a gyakorlatban. A relációs adatelemzés alkalmazásához kapcsolódó gyakorlati kérdések megvizsgálása:

Adatbázis alapú rendszerek

Adatbáziskezelés 1 / 12

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

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

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

Adatbázis rendszerek 1. 4.Gy: ER 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

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

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

KOVÁCS BÉLA, MATEMATIKA I.

ADATBÁZIS RENDSZEREK (bevezetés)

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

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

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: Szűcs Miklós - ME, ÁIT. 1.

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

ADATBÁZISOK, 2018 ősz

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ázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

ADATBÁZISOK. 3. gyakorlat E-K modell

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

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

Átírás:

Adatbázis rendszerek 1. 3. Ea: A rendes állapot Normalizálás 1/31 B ITv: MAN 2017.10.08

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. 3NF 0NF 1NF 2NF BCNF 2/31

Redundancia Redundancia: Adatelemek többszörös, ismételt letárolása Rendszám Típus Név Cím Telefon GBC-765 JED-123 AKT-392 LOG-416 Opel Nissan Audi Volvo Kis Géza Eger Kő u. 4 Jó Éva Miskolc Fa u.1. Kék Béla Ózd Retek u. 99 20-9555666 30-8765432 70-3355440 Kis Géza Eger Kő u.4 20-9555666 Következmény: anomáliák Beszúrási anomália Módosítási anomália Törlési anomália Inkonzisztencia 3/31

Anomáliák Beszúrási anomália: egy rekord felvitelekor, felesleges, már letárolt információkat újra fel kell vinni (pl. Tulaj címe, telefonja); ha valahol véletlenül elgépeljük, új adatot hozunk létre. Módosítási anomália: egy adatmódosításához több helyen is módosítani kell az adatbázisban (pl. ha megváltozik a tulaj telefonszáma, mindenütt ki kell javítani. Törlési anomália: egy információelem megszűnésekor más, hozzá nem tartozó információk is elvesznek (ha pl. máshol nincs letárolva a tulaj telefonszáma, akkor az adott autó törlése után a tulajt többet nem érjük el. 4/31

Az anomáliák oka Az anomáliák abból származnak, hogy nem az igazán összetartozó adatokat vesszük be egy relációba. Hogy mely mezők tartoznak igazán egy relációba, azt a mezők közötti összetartozási viszony, a mezők közötti függőségek határozzák meg. Legfontosabb függőségi típus a 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!) Rendszám Típus Név Cím Telefon GBC-765 Opel Kis Géza Eger Kő u. 4 20-9555666 5/31Rendszám Típus Név Cím Telefon

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. 6/31

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. 7/31

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 8/31 SzSzám Tkód Tnév Menny EgysÁr Összeg

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 9/31 R1 Kis Éva Mc. Jég u.1 14 Hó Ida R2 14500 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

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. 10/31

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 11/31 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 A vevő neve egyértelműen Vnév Vcím meghatározza a vevő címét! A dolgozó kódja egyértelműen 12/31 Dkód Dnév meghatározza a dolgozó nevét!

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 13/31 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ó 14/31 Termék 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. A példa reláció teljesíti ezt a kritériumot, így BCNF-ben van! 15/31

Normalizálás 9. A normalizálás eredményeként kapott ER-modell: 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 T-T Tétel EgysÁr. Menny. Összeg 16/31

Normalizálás 10. 0NF 1NF 2NF 3NF 4NF 5NF BCNF 17/31

18/31

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 Armstrong-axiómák a következők: Tranzitivitás Reflexivitá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 19/31

Armstrong-axiómák Tranzitivitás: 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. Reflexivitás (triviális függőség): Nyilvánvalóan igaz az a szabály is, hogy a B halmaz minden B' részhalmazára is teljesül a B B' függőség. Ezt nevezzük reflexivitásnak vagy triviális függőségnek. 20/31

Armstrong-axiómák A bővíthetőség azt mondja ki, hogy ha egy funkcionális függés mindkét oldalát ugyanazzal az attribútumhalmazzal 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útumhalmaz, akkor A C B C. 21/31

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. Szavakkal kifejezve: azonos bal oldalú függőségek jobb oldalán szereplő attribútum-halmazait egyesíthetjük. 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 is függ a baloldaltól. Vagyis ha A B és C B, akkor A C is teljesül, és ezt nevezzük szétvághatósági szabálynak. 22/31

Armstrong-axiómákból következő szabályok Pszeudotranzitivitás: ha A B és C B D, akkor A C D Jelentése: ha egy részhalmaz-t kicserélek egy olyan halmazra, amelytől funkcionálisan függ, akkor a függés megmarad. 23/31

Gyakorló feladat (1) Normalizáljuk az alábbi sémát 3NF-ig, alkalmazzuk a tanult szabályokat és axiómákat: R(A,B,C,D,E,F) ahol: A C C E (A,B) F B D 24/31

Gyakorló feladat (1) 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 ez lesz a kulcs: 1NF: R(A,B,C,D,E,F) 25/31

Gyakorló feladat (1) 2N-hez úgy daraboljuk a relációkat, hogy a relációban maradó teljes kulcstól függjenek: A C, C E R1(A,C,E) (A,B) F R2(A,B,F) B D R3(B,D) Vagyis 2NF: R1(A,C,E) R2(A,B,F) R3(B,D) 26/31

Gyakorló feladat (1) 3NF-hez nem kulcsból kiinduló FD-ket keresünk (most: C E), és ezek alapján daraboljuk az adott relációkat, vagyis: R1(A,C,E) R1(A,C) R2(C,E) Vagyis 3NF: R1(A,C) R2(C,E) R3(A,B,F) R4(B,D) 27/31

Gyakorló feladat (2) Normalizálja az alábbi sémát 3NF-ig: R(X,Y,Z,Q,W) ahol: Y W X (Q,Z) Z Y A szétvághatósági szabály alapján: X (Q,Z) X Q és X Z Armstrong 1. axiómája alapján: X Z és Z Y X Y X Y és Y W X W A mezők atomiságát feltételezve: 1NF: R(X,Y,Z,Q,W) 2NF: = 1NF 28/31 3NF: R1(X,Q,Z) R2(Z,Y) R3(Y,W)

Gyakorló feladat (3) Normalizálja az alábbi sémát BCNF-ig: R(A,B,C,D,E) ahol: C E A D E B (A,E) A Armstrong 2. axiómája alapján: (A,E) A és (A,E) E Armstrong 1. axiómája alapján: (A,E) A és A D (A,E) D (A,E) E és E B (A,E) B 29/31 De C E, ezért (A,C) a kulcs.

Gyakorló feladat (3) A mezők atomiságát feltételezve: 1NF: R(A,C,B,D,E) 2NF: R1(A,C) R2(A,D) R3(C,E,B) 3NF: R1(A,C) R2(A,D) R3(C,E) R4(E,B) BCNF: = 3NF 30/31

VÉGE VÉGE 31/31