Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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
nyilt logikai átfedés homonima 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
szinoníma technikai homonima 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
Logikai átfedés hiánya Teljes megnevezéseket használjunk
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
Redundancia: adatelemek többszörös, ismételt letárolása
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
Függőségek : mezők közötti érték kapcsolatok leírása
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
Armstrong axiómák B A A B A B AC BC A B, B C A C
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
Redundancia oka : nem kívánatos FD
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: művelet sorozat a redundanciát okozó
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
Minden mező elemi legyen
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
R(A,B,C) adott és A B akkor (AB , AB) veszteségmentes
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
Nem létezik tranzitív függőség nem kulcs mezőhöz
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
A (AB , AB) felbontás akkor független, ha
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
BCNF (Boyce-Codd normálforma)
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
Többértékű függőség (MVD) jele : A ->> B
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
Minden MVD legyen egyben FD is
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
ha megegyezik R1,R2,..,Ri join-jával 5 NF Minden JD az FD-n alapszik
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.