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ázis rendszerek I Adatstrukúra helyessége (normalizálás) Általános Informatikai Tsz. Dr. Kovács László.

Hasonló előadás


Az előadások a következő témára: "Adatbázis rendszerek I Adatstrukúra helyessége (normalizálás) Általános Informatikai Tsz. Dr. Kovács László."— Előadás másolata:

1 Adatbázis rendszerek I Adatstrukúra helyessége (normalizálás) Általános Informatikai Tsz. Dr. Kovács László

2 Adatstruktúra helyessége KL Hibaforrások: -nem megfelelő relációkat hozunk létre -nem megfelelő mezőket alkotunk meg -nem megfelelő a mezők elnevezése -nem a megfelelő mezők kerülnek egy relációba -nem megfelelő a relációk kapcsolatának megvalósítása -nem megfelelő a mezők adattípusa -nem megfelelő a megadott integritási feltétel rendszer A tervezés számos hibalehetőséget rejt magában

3 Adatstruktúra helyessége KL Mező elnevezéshez kapcsolódó hibák DOLGOZO(nev,cim,fonok,f_cim,fizetes,telephely) OSZTALY(nev,telephely,vezeto,v_cim,fizetes) PROJEKT(nev,d_nev,megrendelo,fizetes,mcim) nyilt logikai átfedés homonima TILOS!

4 Adatstruktúra helyessége KL Mező elnevezéshez kapcsolódó hibák szinoníma technikai homonima TILOS ?? DOLGOZO(nev,cim,fonok,f_cim,fizetes,telephely) OSZTALY(nev,telephely,vezeto,v_cim,fizetes) PROJEKT(nev,d_nev,megrendelo,fizetes,mcim) Kerülendő!

5 Adatstruktúra helyessége KL Mező elnevezéshez kapcsolódó hibák DOLGOZO(nev,cim,fonok,f_cim,fizetes,telephely) OSZTALY(nev,telephely,vezeto,v_cim,fizetes) PROJEKT(nev,d_nev,megrendelo,fizetes,mcim) Inkonnektivitás Logikai átfedés hiánya Teljes megnevezéseket használjunk Egyértelmű elnevezések legyenek!

6 Adatstruktúra helyessége KL Redundancia: adatelemek többszörös, ismételt letárolása következmény: Anomáliák - beszúrási anomália - módosítási anomália - törlési anomália - inkonzisztencia dkoduticéldcímbefizetesdnév Eger ÓzdPeter Antal PeterMiskolc Baja Miskolc2 5 3

7 Adatstruktúra helyessége KL Függőségek : mezők közötti érték kapcsolatok leírása Funkcionális függőségFD minden A értékhez maximum egy B érték rendelhető A -> B (A,B  R) RSZ -> TIPUS(DKOD, UTICEL) -> BEFIZETES DKOD -> DNEVDKOD -> DCIM ország zászló

8 Adatstruktúra helyessége KL Az FD-k között következtetési szabályok, függőségek vannak Armstrong axiómák B  A  A  B A  B  AC  BC A  B, B  C  A  C Egyéb szabályok A  BC  A  B A  B, A  C  A  BC A  C  AB  BC, A  B  AA  AB, AA = A A  AB, AB  BC  A  BC bizonyítás az axiómákból !

9 Adatstruktúra helyessége KL Redundancia oka : nem kívánatos FD Egy R(A 1,..,A 2 ) esetén ha létezik A i  A j ahol A i ismétlődik, akkor redundancia lép fel Ha A i nem ismétlődhet, nincs redundancia (pl. kulcsból kiinduló függőségek) dkoduticéldcímbefizetesdnév Eger ÓzdPeter Antal PeterMiskolc Baja Miskolc2 5 3

10 Normalizálás KL Normalizálás folyamata Normalizálás: művelet sorozat a redundanciát okozó FD-k megszüntetésére A normalizálás egymásra épülő normálfomák alakjában jelenik meg FD-k feltárása 1 NF 2 NF 3 NF BCNF 4 NF 5 NF 1NF 2NF 3NF BCNF 4NF 5NF

11 Normalizálás KL Normalizálási lépések 1NF: Létezzen kulcs Minden mező elemi legyen 2 NF 1 NF Ne legyen részkulcsból kiinduló FD dkoduticéldcímbefizetesdnév Eger ÓzdPeter Antal PeterMiskolc Baja Miskolc2 5 3

12 Normalizálás KL Veszteségmentesség: a résztáblákból előállítható az alaptábla Heath tétele: R(A,B,C) adott és A  B akkor (  AB,  AB ) veszteségmentes Elegendőség és nem szükségesség kifejezése UTAK( DKOD, UTICEL, DNEV, DCIM, BEFIZETES) DKOD -> (DNEV, DCIM) (  DKOD, DNEV, DCIM,  DKOD,UTICEL, BEFIZETES )

13 Normalizálás KL AUTO(RSZ, TIPUS, TULAJ, T_CIM, GYARTO, GY_CIM) AUTO1(RSZ, TIPUS, TULAJ) TULAJ(TULAJ, T_CIM) GYARTO(GYARTO, GY_CIM) TIPUS(TIPUS, GYARTO) A hibás FD-ket dekompozícióval vesszük ki a relációból 3 NF 2 NF Nem létezik tranzitív függőség nem kulcs mezőhöz

14 Normalizálás KL Dekompozició vizsgálata..; AUTO(RSZ, TIPUS, GYARTO) felbontása: AUTO1(RSZ, TIPUS) AUTO2(RSZ, GYARTO) Megfelel a Heath tételének, de nem jó, mert nem független a két tábla (egyik értékei függnek a másiktól) Rissanen tétele: A (  AB,  AB ) felbontás akkor független, ha - R(A,B,C) minden FD-je származtatható R AB és R AC FD-iből - A az R AB vagy R AC jelölt kulcsa

15 Normalizálás KL Egyes esetekben 3NF nem megfelelő BCNF (Boyce-Codd normálforma) Függőség csak jelölt kulcsból indulhat ki BCNF átfogja 2NF-et A kulcsba mutató FD-t is kiküszöböli 3NF nem fogja magába BCNF-et BCNF nem fogja magába 3NF-et OKTAT(tanar, diak, targy) : nem BCNF de atomi

16 KL Normalizálás BARAT(nev, hobby,etel) nevhobbyetel Peter foci teniszbab szilva bab Peterteniszszilva Gabifutasalma Gabifutasfagyi nevhobby Peter Gabi foci tenisz futas nevhobby Peter Gabi bab szilva alma Gabifagyi A BC A = B  = C Többértékű függőség (MVD) jele : A ->> B R(A,B,C) -ben A ->> B, ha  (a i,b i )-hez rendelhető {c i } csak (a i )-től függ

17 Normalizálás KL MVD szerepe 4 NF Minden MVD legyen egyben FD is Fagin tétele: R(A,B,C) adott, akkor és csak akkor lesz (  AB,  AC ) veszteségmentes, ha A ->> B | C Szükségesség kifejezése csak egy érték rendelődjön minden A értékhez

18 Normalizálás KL Magasabb normálforma Join függőség (JD): egy R séma  (R 1,R 2,..,R i ) függségben van, ha megegyezik R 1,R 2,..,R i join-jával 5 NF Minden JD az FD-n alapszik JD MVD FD


Letölteni ppt "Adatbázis rendszerek I Adatstrukúra helyessége (normalizálás) Általános Informatikai Tsz. Dr. Kovács László."

Hasonló előadás


Google Hirdetések