Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Függőségek, normálformák

Hasonló előadás


Az előadások a következő témára: "Függőségek, normálformák"— Előadás másolata:

1 Függőségek, normálformák
Adatbáziskezelés Függőségek, normálformák Készítette: Csíki Gyula

2 Függőségek Funkcionális függőség:
Legyen egy R reláció P és Q mezőkkel. Azt mondjuk, hogy P funkcionálisan meghatározza Q-t, vagy Q funkcionálisan függ P-től, ha valamely két sor megegyezik a P halmazon, ebből következik, hogy megegyezik Q halmazon is. (Minden P értékhez csak 1 Q-hoz tartozó értéket tudunk hozzárendelni) Jelölés: P --> Q

3 Függőségek Példa: Személyi ig. Név Lakcím AB23424 Kovács Pál
Szeged, P utca CD12344 Nagy Béla Miskolc, Z utca A személyi igazolványszám egyértelműen meghatározza a nevet és a lakcímet.

4 Függőségek Teljes funkcionális függőség: Dátum Kód Darab 2011.03.30
30 11 A dátum és a kód együttesen alkot egy összetett kulcsot. A darabszám külön nem függ a dátumtól és a kódtól, hanem a két attribútumtól csak, mint kulcstól, tehát teljesen függ a kulcs két attribútumától. Ellenkező esetben, részleges függésről beszélünk.

5 Függőségek Tranzitív függés:
Legyen P és Q egy részhalmaz. Q tranzitíven függ P-től, ha van egy olyan B részhalmaz, amely a P-től függ funkcionálisan (P -- > B), és a B-től pedig a Q (B -- >Q).

6 Függőségek Példa: Nyilvántartás(személyi_szám, havi_bér, éves_bér)
Éves bér függ a személyi számtól, a havi bér szintén a személyi számtól, DE a másodlagos attribútumok is függnek egymástól. Tehát: személyi_szám --> havi_bér --> éves_bér A fenti reláció ábrázolását relációs sémának nevezzük.

7 Normálformák Normálforma: az egyed szerkezeti állapota (Tábla belső szerkezete) NÉV SZAKKÉPZETTSÉG SZÜLETÉSI DÁTUM Kovács István Gépészmérnők közgazdász Kiss Pál Lakatos

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

9 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 Kiss Pál Lakatos

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

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

12 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 sz R kulcsa egyetlen attribútumból áll, akkor 2NF típusú Ha nincsen R-ben másodlagos attribútum, akkor 2NF típusú

13 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. (A reláció egy másodlagos attribútuma között sincs funkcionális függés)

14 Anomáliák Módosítási anomália
A nem normalizált táblában redundáns adatok találhatóak, ezért a módosításokat több helyen el kell végezni.

15 Anomáliák Törlési anomália
Az adatbázisban lehet, hogy ha törlünk egy sort, akkor szükséges adatokat veszítünk.

16 Anomáliák Bővítési anomália Az adatbázis bővítése nem lehetséges.

17 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.

18 1. Normálformára hozás Személyek {Név, szakképzettség, szüldátum}
Nincs 1NF-ben, mert a szakképzettség több lehet egy személynél.

19 1. Normálformára hozás Megszüntetjük a több értéket tartalmazó cellákat, minden sort leírunk annyiszor, ahány értéket tartalmaznak. Két relációra bontjuk az eredeti relációt, az egyikben a kulcsokhoz írjuk az értékeket, a másikban pedig a külső kulcshoz írunk

20 1. Normálformára hozás Személyek{Névkod, szakképzettsegkod}
Nevek{Névkod, név, szuldatum} Szakképzettség{szakképzettségkod, megnevezés}

21 2. Normálformára hozás Ez a reláció már 1NF-ben van!
Figyeljük meg a relációt! Mivel egy attributumból tevődik össze a kulcs, ezért minden esetben a reláció 2NF-ben is lesz, tehát ebben az esetben nem kell 2NF-re hozni. DE!

22 2. Normálformára hozás Tegyük fel, hogy a reláció, melyet 1NF-re hoztunk, tartalmaza az alábbi összetett kulcsot: Nevek{Névkod, név, szemigszam, diakigszam} Ebben az esetben a két igszam teljesen függ a kulcstól, de külön is függnek a kulcs részhalmazától, tehát részleges függés is fennt áll. Ilyen esetben a reláció nincs 2NF-ben.

23 2. Normálformára hozás Hozzuk 2NF-re a relációt!
A relációt több olyan relációra bontjuk, melyek 2NF-ben vannak! Megoldás, hogy az egyes relációkban összefogjuk az összetett kulcs azon részhalmazát, mely funkcionálisan is meghatározza a másodlagos attribútumokat.

24 2. Normálformára hozás Eredeti relációs séma:
Nevek{Névkod, név, szemigszam, diakigszam} 2NF: Nevek{Névkod, szemigszam, diakszam} Nevek2{Névkód, név}

25 3. Normálformára hozás Nevek{Névkod, szemigszam, diakszam} reláció nincs 3NF-ben, mert az igazolványszámok funkcionálisan függnek egymástól. Relációk létrehozásával megszüntetjük a másodlagos attríbutumok közötti funkcionális függést.

26 3. Normálformára hozás Nevek{Névkod, szemigszam, diakszam}
Nevek2{Névkod, név} Nevek3{Névkod, szemigszam} Nevek4{Névkod, diakszam}

27 3. Normálformára hozás Eredeti relációnk Személyek {Név, szakképzettség, szüldátum} 3NF relációnk Nevek{Névkod, szakképzettségkód} Nevek2{Névkód, szemig} Nevek3{Névkód, diakig} Nevek4{Névkód, név} Szakképzettség{szakképzettségkód, képzettség}

28 Minden táblázat 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

29 Tervezés Egyedkapcsolat modell:
EK-modell segítségével felvázolhatjuk, mit is akarunk tárolni az adatbázisban. A modell a következő elemekből áll: egyed, attribútumok, kapcsolat.

30 Tervezés Egyedkapcsolat diagram:
EK-modell segítségével grafikusan is ábrázolhatjuk az adatbázis tervet. Az egyedek nevét téglalapba írjuk, az attribútumokat oválisba, a kapcsolatokat pedig rombuszokba. Kulcsot aláhúzással jelöljük.

31 Tervezés

32 Tervezés Feladat! Készítsük el egy Cukrászda adatbázisának tervét, EK-diagrammal vázolva!

33 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)

34 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

35 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}

36 Lépések Mintasorok készítése Kulcsok meghatározása normalizálás

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

38 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}

39 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}

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

41 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

42 Technikai adatok Az ÉTLAP van logikai tipusú tulajdonsága
A SZÁMLAFEJ kifizet logikai tipusú tulajdonsága

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

44 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

45 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}


Letölteni ppt "Függőségek, normálformák"

Hasonló előadás


Google Hirdetések