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

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

Hasonló előadás


Az előadások a következő témára: "Adatbáziskezelés Függőségek, normálformák Készítette: Csíki Gyula."— Előadás másolata:

1 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évLakcí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átumKódDarab 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ÉVSZAKKÉPZETTSÉG SZÜLETÉSI DÁTUM Kovács István Gépészmérnőkkö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ÉVSZAKKÉPZETTSÉG SZÜLETÉSI DÁTUM Nagy Zsolt Gépészmérnőkkö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ÉVSZAKKÉ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 "Adatbáziskezelés Függőségek, normálformák Készítette: Csíki Gyula."

Hasonló előadás


Google Hirdetések