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

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

Adatbázis-kezelés. alapfogalmak

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

Adatbázisok gyakorlat

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

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

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

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

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

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

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

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

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

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

Adatmodellek. 2. rész

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

Adatbázis használat I. 1. gyakorlat

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

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

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

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

Adatbáziskezelés 1 / 12

Adatmodellezés. 1. Fogalmi modell

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

Adatbázis alapú rendszerek

A relációs adatmodell

ADATBÁZISOK. Normalizálás

Normalizálási feladatok megoldása

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

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 FÉLÉVES FELADAT

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

T Adatbázisok-adatmodellezés

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

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

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

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

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

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

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

Csima Judit november 15.

ADATBÁZIS-KEZELÉS Demetrovics Katalin

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


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

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

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

Adatbázis, adatbázis-kezelő

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

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

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

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

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

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ázis Rendszerek

Adatbázis rendszerek 7. Matematikai rendszer amely foglal magában:

Adatbázisok elmélete

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

Csima Judit október 24.

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.

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

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

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

Adatbázisok elmélete 12. előadá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

ADATBÁZISOK, 2017 ősz

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

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

Csima Judit szeptember 6.

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

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

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

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

Adatbázis-kezelés. Építész Informatika 1. Fejér Tamás október 20.

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

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

Az adatbázis-kezelés alapjai

ADATBÁZISOK. 3. gyakorlat E-K modell

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 rendszerek I

ADATBÁZISOK, 2018 ősz

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

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

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

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

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.

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

Sor és oszlopkalkulus

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. 5. előadás Adatbázis tervezés. Koppányi Zoltán

Adat és folyamat modellek

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ázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

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

Informatika 9. Adatbázisok tervezése Dr. Szepesné Stiftinger, Mária

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ázisok I A relációs algebra

Átírás:

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

Normálformák Normálforma: az egyed szerkezeti állapota NÉV SZAKKÉPZETTSÉG SZÜLETÉSI DÁTUM Nagy Zsolt Gépészmérnök közgazdász 52.02.16 Kiss Pál Lakatos 58.08.08

Normálformák 0. normáforma (0NF vagy N1NF) 1. normálforma (1NF) 2. normálforma (2NF) 3. normálforma (3NF)

0. normálforma R reláció 0. normálformában van, ha létezik olyan másodlagos attribútum, amely a kulcstól funkcionálisan független A táblázat ismétlődő ismereteket tartalmaz NÉV SZAKKÉPZETTSÉG SZÜLETÉSI DÁTUM Nagy Zsolt Gépészmérnök közgazdász 52.02.16 Kiss Pál Lakatos 58.08.08

1. normálforma R reláció 1. normálformájú, ha minden másodlagos tulajdonság funkiconálisan függ a kulcstól A táblázat minden sorában pontosan egy attribútumérték van

Az előző példa 1NF-ben: NÉV SZAKKÉPZETTSÉG SZÜLETÉSI DÁTUM Nagy Zsolt Gépészmérnök 52.02.16 Nagy Zsolt Közgazdász 52.02.16 Kiss Pál Lakatos 58.08.08

2. normálforma R reláció 2. normálformájú, ha 1-es normálformában van, és minden másodlagos attribútuma a reláció bármely kulcsától teljesen függ Megjegyzések Ha az R kulcsa egyetlen attribútumból áll, akkor 2NF típusú Ha nincsen R-ben másodlagos attribútum, akkor 2NF típusú

3. normálforma R reláció 3. normálformájú, ha 2-es normáformában van, és egyetlen másodlagos attribútuma sem függ tranzitíven valamely kulcstól

BCNF típusú normálforma Az 1. normálformájú reláció Boyce-Codd normálformájú (BCNF típusú), ha minden generátora egyben kulcs is Megyjegyzések Csupakulcs esete ÜGYELET {ki,mikor} Több kulcsjelölt esete SZÁMLATÉTEL {szlaszám,sorszám,cikkszám,mennyi}

Normalizálás Cél: a tárolási és karbantartási káosz megszüntetése veszteségmentesen Normalizálás normálforma dekompozíció A kedvezőtlen normálformájú egyedet lebontjuk több kívánt normálformájú egyedre.

Autósbolt Dátum Alkatrész név Alkatrész kód Egységár Darab 88.02.03 Kuplung TX5 1500 2 Elosztófej XB-3 150 6 Kondenzátor ET-2 30 4 Fékhenger F-6 120 1 Összérték 4140 Befizetés 3140

0. lépés Legyenek a tulajdonságok : DÁT ANÉV AKÓD EÁR DB ÖÉRT BEFIZ A következő relációt állítjuk össze: AUTÓSBOLT {DÁT,ANÉV,AKÓD,EÁR,DB,ÖÉRT,BEFIZ}

Írjuk fel az adatbázist 1NF-ben DÁT ANÉV AKÓD EÁR DB ÖÉRT BEFIZ 88.02.03 Kuplung TX-5 1500 2 4140 3140 88.02.03 Elosztófej XB-3 150 6 4140 3140 88.02.03 Kondenzátor ET-2 30 4 4140 3140 88.02.03 Fékhenger F-6 120 1 4140 3140 88.02.04 Fékhenger F-6 120 1 4620 3620 88.02.04 Kuplung TX-5 1500 3 4620 3620 88.02.05 Elosztófej XB-3 150 2 3600 2600 88.02.05 Vízpumpa P-12 1100 3 3600 2600

Az AUTÓSBOLTban fennálló anomáliák DÁT ANÉV AKÓD EÁR DB ÖÉRT BEFIZ 88.02.03 Kuplung TX-5 1500 2 4140 3140 88.02.03 Elosztófej XB-3 150 6 4140 3140 88.02.03 Kondenzátor ET-2 30 4 4140 3140 88.02.03 Fékhenger F-6 120 1 4140 3140 88.02.04 Fékhenger F-6 120 1 4620 3620 88.02.04 Kuplung TX-5 1500 3 4620 3620 módosítás bővités 88.02.05 Elosztófej XB-3 150 2 3600 2600 tőrlés 88.02.05 Vízpumpa P-12 1100 3 3600 2600

Kulcs = {DÁT,AKÓD} DÁT AKÓD DB ÖÉRT BEFIZ ANÉV EÁR

Tehát: A másodlagos attribútumok nemcsak a kulcstól függnek, hanem annak részhalmazaitól is (részleges függőségek) Van benne tranzitív függőség Az 1000 FT a függés

A felbontás sémája DÁT AKÓD DB ÖÉRT BEFIZ ANÉV EÁR

Felbontás DÁT DÁT AKÓD AKÓD ÖÉRT BEFIZ DB ANÉV EÁR NAPIFORG ELADÁS ALKATRÉSZ

NAPIFORG{DÁT,ÖÉRT,BEFIZ} DÁT ÖÉRT BEFIZ 88.02.03 4140 3140 88.02.04 4620 3620 88.02.05 3600 2600 88.02.06 4620 3620 Ez a táblázat 2NF-ben van, de nincsen 3NF-ben

Bontsuk fel két táblázatra DÁT ÖÉRT ÖÉRT BEFIZ ÁRBEVÉTEL BEFIZETÉS

ÁRBEVÉTEL{DÁT,ÖÉRT} DÁT ÖÉRT 88.02.03 4140 88.02.04 4620 88.02.05 3600 88.02.06 4620

BEFIZETÉS{ÖÉRT,BEFIZ} ÖÉRT BEFIZ 4140 3140 4620 3620 3600 2600

ALKATRÉSZ{AKÓD,ANÉV,EÁR} AKÓD ANÉV EÁR TX-5 KUPLUNG 1500 XB-3 ELOSZTÓFEJ 150 ET-2 KONDENZÁTOR 30 F-6 FÉKHENGER 120 P-12 VÍZPUMPA 1100

ELADÁS{DÁT,AKÓD,DB} DÁT AKÓD DB 88.02.03 TX-5 2 88.02.03 XB-3 6 88.02.03 ET-2 4 88.02.03 F-6 1 88.02.04 F-6 1 88.02.04 TX-5 3 88.02.05 XB-3 2 88.02.05 P-12 3

A négy táblázat mindegyike 3NF-ben van Megmaradtak a funkcionális függőségek Megszüntettük a redundás adattárolást Eltüntettük a karbantartási anomáliákat

Az adatmodell dokumentálása Adatbázis neve, célja, környezete Diagram (a kapcsolatok ábrázolása ) Egyedek listája (miben mit tárolok) Kapcsolatok felsorolása Rekordleírás Minden tulajdonság szerepe Opcionalitás, egyediség Értékek,korlátozások Tulajdonságok (származtatás)

Az ÉTTEREM adatbázis normalizálása A rendszer ismertetése: Az étteremben különféle ételeket és italokat rendelhetünk, amelyeket bizonyos nyersanyagokból recept szerint készítenek el A fogyasztás végén számla szerint fizetünk

Az adatbázis létrehozása RECEPT {azonosító,elnevezés,ár,tipus, tipnév,akód,név,egysár,mértegys, szüksmenny} SZÁMLA {szlaszám,dátum,azonosító, elnevezés,ár,rendmenny,érték,végösszeg}

Lépések 1. Mintasorok készítése 2. Kulcsok meghatározása 3. Normalizálás

RECEPT kulcsa = {azonositó, akód} Igazak az alábbi funkcionális függőségek {azonosító} {elnevezés,ár,tipus,tipnév} {akód} {név,egysár,mértegys} {azonosító,akód} {szüksmenny}

SZÁMLA kulcsa = {szlaszám, azonosító} Igazak az alábbi funkcionális függőségek {szlaszám,azonosító} {rendmenny} {szlaszám} {dátum,végösszeg} {azonosító} {elnevezés,ár}

Megjegyzések érték = ár * rendmenny Számolható, nem tároljuk végösszeg =Σ érték Számlaszámra összegezve Számolható, de kerekítve tároljuk a pénzügyi mozgásokat

A teljes függőségek alapján A RECEPT 3 relációra bomlik A SZÁMLA 3 relációra bomlik 1 reláció közös, hiszen 1:1 kapcsolatban állnak egymással

A relációk ÉTLAP {azonosító,elnevezés,ár,tipus, tipnév} ANYAG {akód,név,egysár,mértegys} RECEPT {azonosító,akód,szüksmenny} SZÁMLAFEJ {szlaszám,dátum,végösszeg} ÉTLAP {aznosító,elnevezés,ár} SZÁMLATÉTEL{szlaszám,azonosító, rendmenny}

Ezzel 2NF-ra hoztuk mindegyik táblát De van egy tranzitív függés az ÉTLAP táblában: {azonosító} {tipus} és {tipus} {tipusnév} {azonosító} {tipnév} A többi tábla 3NF-ban van

A tranzitív függőség megszüntetése ÉTLAP {azonosító, elnevezés, ár, tipus} FAJTA {tipus,tipnév} Szótárfájl

Kapcsolati ábra MINDEN NYÍL AZ N:1 KAPCSOLATOT JELENTI

tipus FAJTA tipnév azonosító ÉTLAP elnevezés ár tipus szlaszám SZÁMLAFEJ dátum végösszeg akód ANYAG név egysár mértegys azonosító akód RECEPT szüksmenny szlaszám azonosító SZÁMLATÉTEL rendmenny

Technikai adatok Az ÉTLAP van logikai típusú tulajdonsága A SZÁMLAFEJ kifizet logikai típusú tulajdonsága

Bővithetőség BESZERZÉS ANYAG SZEMÉLY BEOSZTÁS CSAPAT {akód,dátum,beár,menny} {akód,név,egysár,mértegys, készlet} {kódszám,neve,poszt} {poszt,jelentés} {dátum,kódszám}

Bővithetőség {dátum,sorszám} {kódszám} Ahol a sorszám az asztal egyedi azonosítója Nem igaz viszont, hogy a dátum és a kódszám meghatározná a sorszámot

Az új egyedek ASZTAL{sorszám,hányfős} KISZOLGÁL{dátum,sorszám,kódszám} Ezért a számlafej így módosul SZÁMLAFEJ{szlaszám,dátum,végösszeg,sorszám}

FAJTA Áttekintő kapcsolati ábra ÉTLAP RECEPT ANYAG BESZEREZ SZTÉTEL SZFEJ SZEMÉLY BEOSZT ASZTAL KISZOLG CSAPAT

A RELÁCIÓS ALGEBRA

Meghatározás A relációs adatbázis kezelő nyelvek lekérdezési lehetősége A relációs algebra műveletein alapszik Unió Különbség Descartes szorzat Projekció Szelekció Hányados Metszet Összekapcsolás Természetes összekapcsolás

Műveletek: Unió Unió (jele: ) Legyen R és S két n-ed fokú reláció uniójuk az R S szintén n-ed fokú reláció Sorai vagy az R-nek vagy az S-nek vagy mindkettőnek elemei R A B C a b c b d e f c b S D E F b d e = R S. a b c b d e f c b

Műveletek: Különbség Külünbség (jele: ) Legyen R és S két n-ed fokú reláció R S különbsége szintén n-ed fokú reláció Sorai az R-nek elemei de az S-nek nem R A B C a b c b d e f c b S D E F - b d e = R-S. a b c f c b

Műveletek: Descartes-szorzat Descartes-szorzat (jele: ) Legyen R n-ed, S m-ed fokú reláció Descartes-szorzatuk az az (n+m)-ed fokú R S Minden elem első részét az R-ből, második részét pedig az S-ből vesszük R A B C a b c b d e f c a S D E F x b d e = F c b RxS A B C D E F a b c b d e a b c f c b b d e b d e b d e f c b f c a b d e f c a f c b