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



Hasonló dokumentumok
Adatbázisok gyakorlat

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

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

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

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-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

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

Adatbázis-kezelés. alapfogalmak

ADATBÁZISOK. Normalizálás

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

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

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

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.

Normalizálási feladatok megoldása

Kidolgozott példák. E-K diagram. Tánc egyednek csak egyetlen attribútuma van. Most a megoldás úgy is helyes lenne,

Adatbáziskezelés 1 / 12

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

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

Csima Judit november 15.

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

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

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

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

T Adatbázisok-adatmodellezés

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

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

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

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

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


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

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

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

Adatmodellezés. 1. Fogalmi modell

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

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

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

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

Csima Judit október 24.

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

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

Adatbázis, adatbázis-kezelő

Adatbázis használat I. 1. gyakorlat

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

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

A relációs adatmodell

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

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

Adatmodellek. 2. rész

ADATBÁZIS-KEZELÉS Demetrovics Katalin

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

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

ADATBÁZISOK, 2017 ősz

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

ADATBÁZISOK, 2018 ősz

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

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Adatbázis alapú rendszerek

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

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

d Nem a konkrét adatokkal, azok előfordulásaival, kapcsolatokkal (egyedtípus, tulajdonságtípus,

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

Adatbázisok az iskolában 2012 Adatmodellezés. Dr. Balázs Péter

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

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

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

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

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

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

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

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

SSADM Dokumentáció Adatbázis Alapú Rendszerek

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

ADATBÁZIS RENDSZEREK. Adatbázis tervezés. Krausz Nikol, Medve András, Molnár Bence

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

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

Redukciós műveletek. Projekció (vetítés): oszlopok kiválasztása. Jelölés: attribútumlista (tábla) Példa: Könyv

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.

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

Adatbázis rendszerek I

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

Az adatbázis-kezelés alapjai

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

d Nem a konkrét adatokkal, azok előfordulásaival, kapcsolatokkal (egyedtípus, tulajdonságtípus,

Adatbázisok elmélete

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

ADATMODELLEZÉS. Az egyed-kapcsolat modell

A 2008-as 1. ZH megoldásai. Adatbázisok gyakorlat

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

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

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

Bevezetés: Relációs adatmodell

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

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

Átírás:

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

FUNKCIONÁLIS FÜGGŐSÉG Legyen adott R(A 1,, A n ) relációséma, valamint P, Q {A 1,, A n } (magyarán P és Q a séma attribútumainak részhalmazai) P-től funkcionálisan függ Q, jelölésben P Q, ha bármely R feletti T táblában valahányszor két sor megegyezik P-n, akkor megegyezik Q-n is. A P Q függés triviális, ha Q P, vagy teljesen nemtriviális, ha P és Q metszete üres. EHA Név Lakcím Tárgy Jegy MINTAAT.SZE Minta Áron Szeged, Egy u. 2. Adatbázisok 4 KELPEET.SZE Kelep Elek Sándorfalva, Fő tér 9. Logika 3 MINTAAT.SZE Minta Áron Szeged, Egy u. 2. Logika 5 A séma tulajdonsága!

FUNKCIONÁLIS FÜGGÉS FOLYT. REDUNDANCIA Például egy függés: {EHA} {Név, Lakcím} EHA Név Lakcím Tárgy Jegy MINTAAT.SZE Minta Áron Szeged, Egy u. 2. Adatbázisok 4 KELPEET.SZE Kelep Elek Sándorfalva, Fő tér 9. Logika 3 MINTAAT.SZE Minta Áron Szeged, Egy u. 2. Logika 5 Redundanciáról akkor beszélünk, ha valamely adatot feleslegesen többszörösen tárolunk el. Például, itt egy illető lakcíme feleslegesen többször szerepel. A fő gond ezzel, hogy adatok aktualizálásakor (pl. lakcímváltozás) minden helyen át kellene írnunk a lakcímet. A redundancia felszámolását a séma dekompozíciójával, azaz több sémára bontásával érjük el

FELADAT 5.1 Mik a függőségek az alábbi adatbázissémában? TANÁR(T.Azonosító, Név) DIÁK(D.Azonosító, Név, Lakcím, SZ.Azonosító) SZAK(SZ.Azonosító, Kar, Szak név) TANÍTJA(T.Azonosító, D.Azonosító, Tantárgy)

FELADAT 5.2 Tekintsük a korábban látott sémát: Hallgató(EHA, Név, Lakcím, Tárgy, Jegy) Végezzük el a tábla dekompozícióját úgy, hogy a kapott eredményben ne legyen már redundancia. Hallgató(EHA, Név, Lakcím) Eredmény(EHA, Tárgy, Jegy)

CÉLKITŰZÉS Az adatok összesítése módosítása törlése tárolása esetén nem szerencsés a redundancia Találjunk módot ezek kiküszöbölésére Megoldás: egyre szigorúbb formai szabályokat adunk meg a relációsémákra: 1NF 2NF 3NF ( BCNF 4NF) A normalizálás tkp. mindig célszerű, de nem minden esetben kötelező

1. NORMÁLFORMA (1NF) Definíció. Egy relációséma 1NF-ben van, ha az attribútumok értéktartománya csak egyszerű (atomi) adatokból áll. Nem lehet összetett attribútum v. egyéb nem atomi adat (pl. lista) Relációséma felírásakor kötelező az 1NF betartása Gyakorlatilag összetett attribútumnál az alábbi átalakítást jelenti: Ügyfél(Azonosító, Név, Cím(Város, Utca, Házszám)) Ügyfél(Azonosító, Név, Város, Utca, Házszám) Listáknál gondoljunk vissza a többértékű attribútum leképezésére

2. NORMÁLFORMA (2NF) Definíció (teljes függés). Legyen X,Y A, és X Y. Azt mondjuk, hogy X-től teljesen függ Y, ha X- ből bármely attribútumot elhagyva a függőség már nem teljesül, vagyis bármely X 1 X esetén X 1 Y már nem igaz. Definíció (2NF). Egy relációséma 2NF-ben van, ha minden másodlagos attribútum teljesen függ bármely kulcstól. Az eddigiek képletesen. Vannak másodlagos attribútumok, amik nem a teljes kulcstól, hanem annak csak egyes részeitől függenek.

2. NORMÁLFORMA (2NF) Következmény. (i) (ii) Az olyan sémák, ahol a kulcs egyszerű (csak egy attribútumból áll), mindig 2NF-ben vannak. Ha egy sémában nincsenek másodlagos attribútumok, akkor az a séma biztosan 2NF-ben van. Példa. DOLGPROJ (Adószám, Név, Projektkód, Óra, Projektnév, Projekthely)

2. NORMÁLFORMA (2NF) A korábbi séma felett egy tábla lehetne pl. ilyen: Adószám Név Projektkód Óra Projektnév Projekthely 1111 Kovács P2 4 Adatmodell Veszprém 2222 Tóth P1 6 Hardware Budapest 4444 Kiss P1 5 Hardware Budapest 1111 Kovács P1 2 Hardware Budapest 1111 Kovács P5 8 Teszt Szeged f 1 : Adószám Név f 2 : Projektkód {Projektnév, Projekthely} f 3 : {Adószám, Projektkód} Óra Név pl. csak Adószám-tól függ, így nem teljesen függ a kulcstól!

2. NORMÁLFORMÁRA HOZÁS Ha valamely K kulcsra L K és L B (itt B az összes L-től függő másodlagos attribútum halmaza), akkor a sémát felbontjuk az L B függőség szerint. Legyen C=A (L B), ekkor az R(A) sémát az R 1 (C L) és az R 2 (L B) sémákkal helyettesítjük. Példa. Tétel (árukód, számla.sorszám, árunév, egységár, mennyiség) 1. 1NF? Teljesül 2. 2NF? A kulcs összetett vizsgáljuk meg alaposabban

2. NORMÁLFORMÁRA HOZÁS Tétel (árukód, számla.sorszám, árunév, egységár, mennyiség) Függőségek: 1. f 1 : {számla.sorszám, árukód} {egységár, mennyiség} 2. f 2 : {árukód} {árunév} Az árunév másodlagos attribútum nem teljesen függ a kulcstól. Nincs 2NF-ben

2. NORMÁLFORMÁRA HOZÁS Megoldás. Tétel (árukód, számla.sorszám, árunév, egységár, mennyiség) L A gondot okozó függés (f 2 : {árukód} {árunév}) mentén felbontjuk a sémát két másik sémára. B C=A (L B), R(A) R 1 (C L), R 2 (L B) L = {árukód} B = {árunév} L B = {árukód, árunév} C = A (L B) = {számla.sorszám, egységár, mennyiség} C L = {árukód, számla.sorszám, egységár, mennyiség} Tétel (árukód, számla.sorszám, egységár, mennyiség) Áru (árukód, árunév)

3. NORMÁLFORMA (3NF) Tranzitív függés. Kulcs Másodlagos attribútum Másodlagos attribútum Ellenkezője: közvetlen(ül) függés. 3NF. Egy séma 3NF-ben van, ha minden másodlagos attribútum közvetlenül függ bármely kulcstól. Következmény. (i) Ha nincs a sémában másodlagos attribútum, akkor biztosan 3NF-ben van.

3. NORMÁLFORMÁRA HOZÁS Megoldás: ismételten függőség szerinti felbontást végzünk Példa. Számla (sorszám, dátum, vevőkód, vevőnév, vevőcím) 1. 1NF? Teljesül 2. 2NF? Egyszerű kulcs teljesül 3. 3NF? Vizsgáljuk meg a függőségeket! {sorszám} {vevőkód} {vevőnév, vevőcím} (Adott sorszámú számlát adott vevőnek állítunk ki, és a vevőkód alapján kiderül a vevő neve és címe is.)

3. NORMÁLFORMÁRA HOZÁS Megoldás. Számla (sorszám, dátum, vevőkód) Vevő (vevőkód, vevőnév, vevőcím) Vagyis, felbontást végeztünk a {sorszám} {vevőkód} {vevőnév, vevőcím} függőség szerint.

FELADATOK 5.3 Hozzuk 1,2,3NF-re az alábbi relációsémát a kulcs bejelölése után: Hallgató(eha, név, város, irányítószám, utca, házszám, szak, kar) 5.4 Hozzuk 1,2,3NF-re az alábbi relációsémát a kulcs bejelölése után: Áram( ünév, vóra_száma, szavatosság, mérés_kezd, mérés_vége, ücím) ahol az ücím attribútum összetett attribútum (város, utca, házszám, irsz).

FORRÁSOK [1] Dr. Katona Endre: Adatbázisok [2] Németh Gábor: Kidolgozott példák