T Adatbázisok-adatmodellezés

Hasonló dokumentumok
modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

8. előadás. normálformák. Többértékű függés, kapcsolásfüggés, 4NF, 5NF. Adatbázisrendszerek előadás november 10.

Relációs adatbázisok tervezése ---2

6. Gyakorlat. Relációs adatbázis normalizálása

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3.

Adatbázisok gyakorlat

ADATBÁZIS-KEZELÉS. Relációs modell

8. Előadás tartalma. Funkcionális függőségek

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF. Adatbázisrendszerek előadás november 7.

7. Előadás tartalma A relációs adatmodell

Példa Többértékű függőségek, 4NF, 5NF

Adatbázis-kezelés. alapfogalmak

ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek

A relációs adatmodell

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

Adatbázisrendszerek. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF március 13.

Adatmodellezés. 1. Fogalmi modell

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Adatbázisok elmélete 12. előadás

E/K diagram átalakítása relációs adatbázistervre

ADATBÁZIS-KEZELÉS Demetrovics Katalin

Relációs adatbázisok tervezése ---1

Csima Judit november 15.

Csima Judit október 24.

Több felhasználó párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása

Adatbázisok gyakorlat

Adatbázisok. 1. gyakorlat. Adatmodellezés október október 1. Adatbázisok 1 / 42

Csima Judit BME, VIK, november 9. és 16.

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Normalizálási feladatok megoldása

Adatbáziskezelés. Indexek, normalizálás NZS 1

A relációs adatbázis-tervezés alapjai

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

Adatbázisok tavaszi félév Vizsgatételsor

Adatbázisok elmélete 4. előadás

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 21.

Adatbázisok elmélete 4. előadás

Függőségek felismerése és attribútum halmazok lezártja

Adatbázis rendszerek Definíciók:

Az egyed-kapcsolat modell (E/K)

Relációs adatmodell. Adatbázisok használata

Adatbázis tervezés normál formák segítségével

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

Relációs adatbázisok tervezése 2.rész (dekompozíció)

TAJ. foglalkozás. gyógyszer

5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

Adatbázisok 1. Az egyed-kapcsolat modell (E/K)

Adatbázis rendszerek. 4. előadás Redundancia, normalizálás

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Adatbázis, adatbázis-kezelő

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Tervezés: Funkcionális függıségek

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Adatmodellek. 2. rész

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

Bevezetés: Relációs adatmodell

Egyed-kapcsolat modell

Adatbázisok elmélete

Egyed-kapcsolat modell

Adatbázis rendszerek I

Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

6. Előadás tartalma Adatmodellezés 2

Adatbázisok I. Egyed-kapcsolat formális modell. Egyed-kapcsolat formális modell. Kapcsolatok típusai

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

Relációs algebra 1.rész alapok

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

AZ ADATBÁZIS RENDSZEREK OKTATÁSA A KLTE-N 1

Adatbázisok elmélete 3. előadás

Bevezetés: Relációs adatmodell

Mezők viszonya a relációs adatbázis tábláiban

Adatba zis é s szoftvérféjlészté s (wéb-programoza s)

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modell szeptember szeptember 17. Adatbázisok 1 / 11

Az adatbázis-kezelés alapjai

Adatbázisok elmélete 6. előadás

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

Adatbázis rendszerek 1. 7.Gy: Rakjunk rendet. Normalizálás

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Normálformák Normalizálás ADATBÁZISKEZELÉS ÉS KÖNYVTÁRI RENDSZERSZERVEZÉS 1 / 2

Magas szintő adatbázismodellek

A D A T B Á Z I S O K

Az adatbázis-alapú rendszerek tervezésének alapvető része az adatok modellezése. Ez legtöbbször két fázisban zajlik:

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Relációs adatbázisok tervezése ---1

Adatbáziskezelés 1 / 12

11. Gyakorlat Adatbázis-tervezés, normalizálás. Redundancia: egyes adatelemek feleslegesen többször is le vannak tárolva

ADATBÁZISOK. Normalizálás

1. előadás: Halmazelmélet, számfogalom, teljes

Adatbázisok elmélete 6. előadás

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Bevezetés: az SQL-be

Átírás:

T Adatbázisok-adatmodellezés Adatbázis-kezelő feladatai: Az adatbázis hosszú ideig meglévő információk gyűjteménye, ezt az adatbázis-kezelő kezel. Lehetővé teszi az adatbázisok létrehozását( az adatdefiníciós nyelv), módosítását (adatmanipulációs nyelv), lekérdezését (lekérdező nyelv) a nagy mennyiségű adatok biztonságos tárolását esetleges meghibásodások vagy szándékos rongálás esetén valamint akkor amikor több felhasználó egy időben fér hozzá az adatokhoz (konzisztencia). Adatmodellezés (egyed-kapcsolat modell, relációs adatmodell, az E/K diagram átalakítása relációs adatmodellbe. ) Az adatmodell információ vagy adatok leírására szolgáló jelölés. A leírás általában az alábbi három részből áll: Adatok struktúrája:ezt nevezik fizikai adatmodellnek, de ez nem az adatok valódi fizikai tárolására utal. Adatokon végezhető műveletek:olyan végrehajtó műveleteket jelent itt mint a lekérdezések és módosításokat. Adatra tett megszorítások:lehetővé teszi hogy megszorításokat fogalmazunk meg az adatokra nézve, mint pl. (1 és 7 közötti számok). Relációs modell Az adatokat két dimenziós táblákban az az relációkban reprezentáljuk. A reláció oszlopait az attribútumok látják el névvel, ami ezektől eltér azt soroknak nevezzük. A reláció nevét és attribútumai halmazát együttesen nevezzük reláció sémának. Reláció sémája:r(a 1 ;...;A n ), ahol R a reláció neve és A i az attribútumnevek. Példa: Szeret(Név, Gyümölcs, Mennyire) Az egyedi-kapcsolat (E\K) modell elemei Az adatmodellezés grafikus megközelítését egyed-kapcsolat diagramnak nevezzük, amely lényegében hasonlót az ODL objektum orientált módszeréhez. A modellnek három alapvető eleme lehet egy ilyen diagramnak. Egyedhalmazok: Az egyed valamilyen típusú absztrakt objektum, Hasonló egyedek összessége egyedhalmazt alkot. Az E\K modell statikus fogalom, de egyedről elmondható hogy hasonlít az objektumorientált programozás objektum fogalmához. Attribútumok. Az egyedhalmazokhoz attribútumok tartoznak, melyek az egyed tulajdonságait írják le pl. filmek címe vagy percekben mért hossza. Ezeket az attribútumokat atominak tekintjük a modellben. Kapcsolatok: A kapcsolatok két vagy több egyedhalmazt kötnek össze egymással. Például a Filmekés a Színészek egyedhalmazai között felírható a Szerepel Benne kapcsolat. A többágú kapcsolatok megengedettek. A diagramban különböző alakzatokkal ábrázoljuk az alábbiak szerint. egyedhalmazt téglalappal attribútumot oválissal a kapcsolatokat rombusszal

Vegyük észre hogy a nyíl itt a funkcionális függőségre szolgál. E/K-kapcsolatok típusai Tegyük fel hogy R egy kapcsolat az E és F egyedhalmazok között. Ekkor: sok-egy kapcsolat:e minden eleme R-en keresztül legfeljebb egy F-beli elemhez kapcsolódhat. egy-sok kapcsolat:f minden egyede R-en keresztül legfeljebb egy E-beli egyedhez kapcsolódhat. egy-egy kapcsolat:ha R sok-egy kapcsolat egyszerre E-ből F-be és F-ből E-be is. Tehát bármely egyedhalmaznak egy eleme a másik egyedhalmaz legfeljebb egy eleméhez kapcsolódhat. sok-sok kapcsolat:ha R nem sok-egy kapcsolat E-ből F-be és F-ből E-be sem az. Előfordulhatnak másféle kapcsolatok is, de ezek ritkák. Ilyenkor a reprezentáló rombuszból kiinduló kapcsolatban részvevő egyedekhez vivő vonalak jelöljük (nem nyíl). Alosztályok az E\K modellben(isa):ezt a kapcsolatot háromszöggel jelöljük. Ez akkor van amikor egy egyedhalmaz egyedei között egyeseknek olyan speciális tulajdonságaik vannak, amelyekkel nem rendelkezik a halmaz minden egyede. Máshogy megfogalmazva ezt öröklési kapcsolatnak is hívjuk. A háromszög egyik oldalát az alosztállyal kössük össze, ellenkező oldali csúcsát pedig az ősosztállyal (szuperosztállyal).minden öröklési kapcsolat egy-egy kapcsolat, de ezt nem fogjuk külön feltüntetni nyilakkal. Pl: hossz filmcím év Filmek az-egy az-egy Rajzfilmek Akciófilmek Kulcsok az E\K modellben Egy E egyedhalmaz kulcsa egy vagy több attribútum K halmaza úgy, hogy tetszőleges két, egymástól különböző e 1 és e 2 egyed nem egyezhet meg a K-beli attribútumok mindegyikén. Ha K több attribútumot is tartalmaz, akkor e 1 és e 2 megegyezne azok egy részén, de nem mindegyiken. Fontos szempontok: Egy egyedhalmaz több lehetséges kulccsal is rendelkezhet. Ilyenkor választunk közülük egy elsődleges kulcsot. Öröklődésnél a gyökérben lévő egyedhalmaznak kell rendelkeznie a kulcshoz szükséges attribútumokkal és minden egyed kulcsát a gyökérhalmazbeli komponense

határozza meg. A kulcsokat aláhúzassál jelöljük. Pl. cím év Filmek hossz szalagfajta Hivatkozási épség az E/K modellben: Tegyük fel hogy R egy kapcsolat E és F egyedhalmazok között. Kerek nyílvéget fogunk használni annak jelölésére, hogy egy kapcsolat nem csak sok-egy vagy egy-egy kapcsolat, hanem megköveteli az egy oldalon a hivatkozás épségét, az az E minden egyedéhez kell, hogy létezzen egy vele kapcsolatban álló F egyedhalmazbeli egyed. Pl. Egyéb megszorítások:a kapcsolat fokára vonatkozó megszorítással korlátozhatjuk a kapcsolatban részt vevő egyedek számát. Gyenge egyedhalmazok:az egyedhalmazok kulcsában szereplő attributumok közül néhány, vagy esetleg az összes, mád egyedhalmaznak az attribútumai. Okai: 1. Amikor az egyedhalmaz része egy másiknak, azaz az E egyedhalmaz része az F egyedhalmaznak. 2. Amikor binárisá alakitunk egy egy sokágú kapcsolatot ilyenkór előfordulhat hogy az egyedhalmaznak nem lesznek attributúmai. E/K-diagram átírása relációs modellé Minden (nem gyenge) egyedhalmaznak megfeleltetünk egy relációt, melynek neve az egyedhalmaz neve, attribútumai pedig az egyedhalmaz attribútumai. A reláció kulcsa az egyedhalmaz kulcsa. Minden gyenge egyedhalmaznak megfeleltetünk egy relációt, melynek attribútumai és a hozza n : 1 kapcsolatban kapcsolódó egyedhalmaz(ok) azon attribútuma(i), mely(ek) a gyenge egyedhalmaz kulcsában rész vesz(nek). Minden erős egyedhalmazok közti kapcsolathoz rendelünk egy relációt. A reláció attribútumai a kapcsolatban résztvevő egyedhalmazok kulcsattribútumai. Mivel a gyenge egyedhalmazhoz rendelt relációban a hozzákapcsolódó erős egyedhalmazok kulcsa is szerepel a relációsémában, ezért a gyenge kapcsolatnak nem feleltetünk meg relációt. A specializáló kapcsolat reprezentálására két alapvető módszer van: 1. Az eddigieknek megfelelően minden egyedhalmazhoz rendelünk egyegy relaciot, de az egyes egyedhalmazok attributumai közé felvesszük a szuperosztaly kulcsat is. Így e közös attribútum fejezi ki a specializálást, és egyben ez teszi lehetővé az adott egyed minden tulajdonságának elérését. A kulcs a szuperosztaly kulcsa. 2. Az alosztályok jellemzésére bevezethető egy-egy új attribútum a meglévő szuperosztály attribútumain kívül. Ezen attribútumok értéke lehet kitöltött vagy NULL érték aszerint, hogy a szóban forgó egyed tagja-e az attribútummal jellemzett alosztálynak. Az E/K diagramok átírásából kapott relációsémák még nem véglegesek. Az adatbázis tervezésének

következő szakasza az egyes relációsémákban szereplő attribútumok egymás közötti kapcsolatainak ellenőrzése. A kapcsolatokat függőségekkel írjuk le. Az ellenőrzés, és ha szükséges, az azt követő sémaátalakítás folyamatát normalizálásnak nevezzük. A normalizálás célja, hogy a lehető legkisebbre csökkentsük az adatbáziskezelő rendszerben a használat során előforduló potenciális hibaforrásokat. Megj.:Tétel második része melyben az adatbázisunkban előforduló problémákat és azoknak a kiküszöbölési módját tárgyalja. Anomáliák Az anomáliáknak több fajtája lehet. Egy adatbázis séma nem kellően gondos megtervezése ilyen anomáliákhoz vezethet. Redundancia: Az információk feleslegesen ismétlődnek több sorban. Módosítási:Megváltoztatjuk az egyik információt egy sorban és másik sorban váltózatlan marad. Törlési: Ha az érték halmaza üressé halmazzá válik Az anomáliák megszüntetéséhez dekompozíciót fogunk(kell) alkalmazni az-az a reláció sémát felbontjuk. Dekompozíció:Adott az R(A 1..A n ) relációséma, melynek dekompozíciója olyan S(B 1..B m ) és T(C 1..C s ) relációsémák melyekre:{a 1..A n }={B 1..B m } {C 1..C s } és R aktuális előfordulásának minden t sorára vegyük B 1..B m attribútum halmazhoz tartozó komponenseit és ezeket illesszük az S aktuális előfordulásaiba. További fogalmak megértéséhez nézünk meg pár alapfogalmat: Függőségek: Funkcionális függőségek:ha R (relációséma) két sora megegyezik az A 1..A n attribútumokon (ezen attribútumok megegyezik két sorban) akkor meg kell egyezniük más attribútumokon is, egy B 1..B m sorozaton. Ezt a függőséget A 1..A n B 1..B m jelöljük és ezt mondjuk hogy A 1..A n funkcionálisan függ B 1..B m attribútum halmaztól. Többrétegű függőségek: A fenti jelölést tekintve, az R reláció minden olyan t és u sorpárjára, amelyek minden A-n megegyeznek, találhatunk R-ben olyan v sort amely megegyezik: 1. minden t-vel és minden u-val az A-kon 2. t-vel a B-ken, és 3. u-val az R minden olyan attribútumán, amely nincs az A-kban vagy B-kben. Attribútumhalmazok lezárása: (Általános szabály mely az összes szabályra következik) Legyen {A 1..A n } attribútumhalmaz, S pedig funkcionális függőségeknek egy halmaza. Az {A 1..A n } halmaz S-beli függőségek szerint vett lezárja azoknak a B attribútumoknak a halmaza amelyekre minden olyan reláció, amely eleget tesz az S beli függőségnek, eleget tesz A 1..A n B-nek. Normálformák BCNF Az anomáliák megszüntetésére. Az R reláció BCNF-ben van akkor és csak akkor, ha minden olyan esetben, ha az R-ben érvényes egy A 1.. A n B nem triviális függőség, akkor az {A 1..A n } halmaz R kulcsa kell hogy legyen. Más szavakkal minden nem triviális funkcionális függőség bal oldalának

tartalmaznia kell egy kulcsot. Felbontás:Két tulajdonság teljesül: A részhalmazok BCNF-ben lévő relációsémák. A felbontásban kapott reláció előfordulásaiból képesek legyünk pontosan visszaadni az eredetit. Először ellenőrízük h a felbontás BCNF-ben van-e ha igen akkor készen vagyunk, ha nem akkor: Legyen X Y egy BNCF-t sértő szabály az R 0 relációsémákban, ekkor kiszámoljuk X + és R 1 legyen egyenlő ezzel és X attribútumai legyen benne R 2 -ben és azok az attribútumok amik nincsenek X + - ban. Aztán határozzuk meg R 1 és R 2 függőségeit. Rekurzívan bontsuk fel R 1 és R 2.Addig folytatjuk ameddig nem lesz mindegyik relációsémánk BCNF-ben. 3NF Ez akkor hasznos amikor nincs BCNF-ben relációséma de nem akarjuk még egyszer felbontani. Az R reláció 3NF-ben van akkor és csak akkor ha valahányszor létezik R-ben A 1..A n B 1.. B m nem triviális függőség akkor: {A 1..A n } R szuper kulcsa vagy azokra az attribútumokra {B 1...B m } között amelyek nincsenek A-k között teljesül hogy egy kulcsnak az elemei. /*Kieg*/ 3NF-et szintetizáló algoritmus Egy reláció felbontása olyan relációk halmazává, amelyekre teljesülnek az alábbiak: A felbontásban szereplő relációk mindegyike 3NF-ben van A felbontásnak veszteségmentes összekapcsolása van A felbontásnak függőségmegőrző tulajdonsága van Harmadik normálformában lévő relációk előállítása veszteségmentes összekapcsolással és függőségmegőrzéssel Bement: Egy R reláció és az R-re vonatkozó funkcionális függőségek F halmaza. Kimenet: Az R felbontása relációk gyűjteményére, melyek mindegyike 3NF-ben van. A felbontás rendelkezik veszteségmentes összekapcsolással és függőségmegőrző tulajdonsággal. Eljárás: Hajtsuk végre a következő lépéseket: 1.Keressük megy F egy minimális bázisát, amit hívjunk G-nek. 2.A G-ben szereplő összes X A funckionális függőségre használjuk X A-t sémaként a felbontás egy relációjához. 3.Amennyiben a 2. lépésben kapott relációk attribútumhalmazának egyike sem szuperkulcs R-ben, adjunk még egy relációt az eredményhez, melynek sémája kulcs lesz R-ben. 4NF Ezzel a normálformával a többrétegű függőségek által okozott redundanciákat szüntetjük meg. Egy R reláció 4NF-ben van, ha valahányszor az A 1..A n B1..B m nem triviális függőség fennáll, akkor az {A 1..A n } szuperkulcs. Tehát 4NF valójában BCNF általánosítása. Felbontás: A felbontás teljesen analóg a BCNF-re való felbontással. Keresünk olyan nem triviális A 1..A n B 1..Bm többrétegű függőséget, amely megsérti a 4NF feltételt, azaz {A 1..A n } nem szuperkulcs. Megjegyezzük, hogy ez a többrétegű függőség vagy valódi funkcionális függőség, vagy a megfelelő A 1..A n ->B 1..B m funkcionális függőségből származik, mivel minden funkcionális

függőség egyben többrétegű függőség. Ekkor felbontjuk az R reláció sémáját két sémára: 1. Az A-k és a B-k 2. Az A-k és az R minden olyan attribútuma, amely nincs A-ban vagy B-ben. Így ugyanúgy mint a BCNF felbontásnál, minden felbontási lépésben egyre kevesebb attribútumból álló sémát kapunk, mint amelyből kiindultunk, így végül olyan sémákhoz jutunk, amelyeket már tovább nem kell felbontani, azaz 4NF-ben vannak. Kis kiegészítés azoknak akiknek felkeltette a tétel az érdeklődésüket! Normálformák közötti kapcsolat. A 4NF-ből következik a a BCNF, amiből következik a 3NF. A relcióelőfordulások halmazai közötti kapcsolata ha sorok eleget tesznek 4NF feltételnek, akkor biztos hogy eleget tesz a másik két normálforma feltételének is, és ha elehet tesz a BCNF feltételnek, akkor biztos hogy eleget tesz a 3NF-nek.A sémára feltett funkcionális függőségektől függ, hogy lehetnek-e olyan sorhalmazok, amelyek 3NF-ben vannak, de nincsenek BCNF-ben. Hasonlóan, bizonyos funkcionális és többértékű függőségek feltételezése esetén létezhetnek olyan BCNF sorhalmazok, amelyek nincsenek 4NF-ben.