480 likes | 579 Views
Adatbáziskezelés. Normálformák. 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
Adatbáziskezelés Normálformák
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 sz 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ÓSBOLT –ban fenná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ó,akód}{szüksmenny} • {azonosító}{elnevezés,ár,tipus,tipnév} • {akód}{név,egysár,mértegys}
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, hoszen 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 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.
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 tipusú tulajdonsága • A SZÁMLAFEJ kifizet logikai tipusú 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
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ó (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 (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 vagy 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 (jele: x ) • Legyen R n –ed , S m –ed fokú reláció • Descartes-szorzatuk az az (n+m) –ed fokú RxS • 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 =