490 likes | 741 Views
Normálformák. Adatbáziskezelés. Normálformák. Normálforma: az egyed szerkezeti állapota. Normálformák. Normálformák: 0.normáforma (0NF vagy N1NF) 1.normálforma (1NF) 2.normálforma (2NF) 3.normálforma (3NF). 0. normálforma.
E N D
Normálformák Adatbáziskezelés
Normálformák • Normálforma: az egyed szerkezeti állapota
Normálformák Normálformák: • 0.normáforma (0NF vagy N1NF) • 1.normálforma (1NF) • 2.normálforma (2NF) • 3.normálforma (3NF)
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
1. normálforma • R reláció 1. normálformájú, ha minden másodlagos tulajdonság funkiconálisan függ a kulcstól • A táblázat minden sorában pontosan egy attribútumérték van
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 az R kulcsa egyetlen attribútumból áll, akkor 2NF típusú • Ha nincsen R-ben másodlagos attribútum, akkor 2NF típusú
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
Az 1. normálformájú reláció Boyce-Codd normálformájú (BCNF típusú), ha minden generátora egyben kulcs is • Megyjegyzések • Csupakulcs esete • ÜGYELET {ki,mikor} • Több kulcsjelölt esete • SZÁMLATÉTEL {szlaszám,sorszám,cikkszám,mennyi}
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.
0. lépés • Legyenek a tulajdonságok : • DÁT • ANÉV • AKÓD • EÁR • DB • ÖÉRT • BEFIZ • A következő relációt állítjuk össze: • AUTÓSBOLT {DÁT,ANÉV,AKÓD,EÁR,DB,ÖÉRT,BEFIZ}
Az AUTÓSBOLTbanfennálló anomáliák bővités módosítás tőrlés
Kulcs = {DÁT,AKÓD} DÁT AKÓD DB ÖÉRT BEFIZ ANÉV EÁR
Tehát: • A másodlagos attribútumok nemcsak a kulcstól függnek, hanem annak részhalmazaitól is (részleges függőségek) • Van benne tranzitív függőség • Az 1000 FT a függés
A felbontás sémája DÁT AKÓD DB ANÉV EÁR ÖÉRT BEFIZ
Felbontás DÁT ÖÉRT BEFIZ DÁT AKÓD DB AKÓD ANÉV EÁR NAPIFORG ELADÁS ALKATRÉSZ
NAPIFORG{DÁT,ÖÉRT,BEFIZ} Ez a táblázat 2NF-ben van, de nincsen 3NF-ben
Bontsuk fel két táblázatra ÖÉRT BEFIZ DÁT ÖÉRT BEFIZETÉS ÁRBEVÉTEL
A négy táblázat mindegyike 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
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)
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
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}
Lépések • Mintasorok készítése • Kulcsok meghatározása • Normalizálás
RECEPT kulcsa ={azonositó, akód} • Igazak az alábbi funkcionális függőségek • {azonosító}{elnevezés,ár,tipus,tipnév} • {akód}{név,egysár,mértegys} • {azonosító,akód}{szüksmenny}
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}
Megjegyzések • érték = ár * rendmenny • Számolható, nem tároljuk • végösszeg =Σ érték • Számlaszámra összegezve • Számolható, de kerekítve tároljuk a pénzügyi mozgásokat
A teljes függőségek alapján • A RECEPT 3 relációra bomlik • A SZÁMLA 3 relációra bomlik • 1 reláció közös, hiszen 1:1 kapcsolatban állnak egymással
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}
Ezzel 2NF-ra hoztuk mindegyik táblát • De van egy tranzitív függés az ÉTLAP táblában: • {azonosító}{tipus} és {tipus}{tipusnév} • {azonosító}{tipnév} • A többi tábla 3NF-ban van
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
Kapcsolati ábra Minden nyíl az N:1 kapcsolatot jelenti
tipus FAJTA tipnév azonosító ÉTLAP elnevezés ár tipus szlaszám SZÁMLAFEJ dátum végösszeg akód ANYAG név egysár mértegys azonosító akód RECEPT szüksmenny szlaszám azonosító SZÁMLATÉTEL rendmenny
Technikai adatok • Az ÉTLAP van logikai típusú tulajdonsága • A SZÁMLAFEJ kifizet logikai típusú tulajdonsága
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}
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
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}
Áttekintő kapcsolati ábra FAJTA ÉTLAP RECEPT ANYAG BESZEREZ SZTÉTEL SZFEJ SZEMÉLY BEOSZT ASZTAL KISZOLG CSAPAT
Meghatározás • A relációs adatbázis kezelő nyelvek lekérdezési lehetősége • A relációs algebra műveletein alapszik • Unió • Különbség • Descartes szorzat • Projekció • Szelekció • Hányados • Metszet • Összekapcsolás • Természetes összekapcsolás
Műveletek: Unió • Unió (jele: ) • Legyen R és S két n-ed fokú reláció • uniójuk az R S szintén n-ed fokú reláció • Sorai vagy az R-nek vagy az S-nek vagy mindkettőnek elemei R A B C a b c b d e f c b S D E F b d e RS . a b c b d e f c b =
Műveletek: Különbség • Külünbség (jele: – ) • Legyen R és S két n-ed fokú reláció • R – S különbsége szintén n-ed fokú reláció • Sorai az R-nek elemei de az S-nek nem R A B C a b c b d e f c b S D E F b d e R-S . a b c f c b - =
Műveletek: Descartes-szorzat • Descartes-szorzat (jele: × ) • Legyen R n-ed , S m-ed fokú reláció • Descartes-szorzatuk az az (n+m)-ed fokú R × S • Minden elem első részét az R-ből, második részét pedig az S-ből vesszük R A B C a b c b d e f c a S D E F b d e F c b RxS A B C D E F a b c b d e a b c f c b b d e b d e b d e f c b f c a b d e f c a f c b x =