1 / 18

Adatbázis rendszerek I

Adatbázis rendszerek I. Adatstrukúra helyessége (normalizálás). Általános Informatikai Tsz. Dr. Kovács László. Adatstruktúra helyessége. A tervezés számos hibalehetőséget rejt magában. Hibaforrások: nem megfelelő relációkat hozunk létre nem megfelelő mezőket alkotunk meg

macha
Download Presentation

Adatbázis rendszerek I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 A tervezés számos hibalehetőséget rejt magában • 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 KL

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

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

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

  6. Adatstruktúra helyessége 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 dkod uticél dnév dcím befizetes 1 Eger Peter Miskolc 3 3 Eger Antal Baja 5 1 Ózd Peter Miskolc 2 KL

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

  8. Adatstruktúra helyessége 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 bizonyítás az axiómákból ! A  C  AB  BC, A  B  AA  AB, AA = A A  AB, AB  BC  A  BC KL

  9. Adatstruktúra helyessége Redundancia oka : nem kívánatos FD Egy R(A1,..,A2) esetén ha létezik Ai Aj ahol Ai ismétlődik, akkor redundancia lép fel Ha Ai nem ismétlődhet, nincs redundancia (pl. kulcsból kiinduló függőségek) dkod uticél dnév dcím befizetes 1 Eger Peter Miskolc 3 3 Eger Antal Baja 5 1 Ózd Peter Miskolc 2 KL

  10. Normalizálás 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 5NF 4NF BCNF 3NF 2NF 1NF KL

  11. Normalizálás 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 dkod uticél dnév dcím befizetes 1 Eger Peter Miskolc 3 3 Eger Antal Baja 5 1 Ózd Peter Miskolc 2 KL

  12. Normalizálás 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) KL

  13. Normalizálás 3 NF 2 NF Nem létezik tranzitív függőség nem kulcs mezőhöz 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 KL

  14. Normalizálás 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ó RAB és RAC FD-iből - A az RAB vagy RAC jelölt kulcsa KL

  15. Normalizálás 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 KL

  16. Normalizálás Többértékű függőség (MVD) jele : A ->> B R(A,B,C) -ben A ->> B, ha  (ai,bi)-hez rendelhető {ci} csak (ai)-től függ BARAT(nev, hobby,etel) nev hobby etel Peter foci bab Peter foci szilva nev hobby Peter tenisz bab nev hobby Peter bab Peter tenisz szilva Peter szilva Peter foci Gabi futas alma Gabi alma Peter tenisz Gabi futas fagyi Gabi futas Gabi fagyi A B C A = B = C KL

  17. Normalizálás 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 KL

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

More Related