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

Hasonló dokumentumok
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. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

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

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

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

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

Adatbázisok gyakorlat

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

ADATBÁZISOK E-K MODELLBŐL RELÁCIÓS MODELL. Debrenti Attila

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

Adatmodellezés. 1. Fogalmi modell

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

Kidolgozott példák. E-K diagram. Tánc egyednek csak egyetlen attribútuma van. Most a megoldás úgy is helyes lenne,

Adatbázis-kezelés. alapfogalmak

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

ADATBÁZISOK. Normalizálás

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

ADATMODELLEZÉS. Az egyed-kapcsolat modell

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

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

Adatbázis, adatbázis-kezelő

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

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

T Adatbázisok-adatmodellezés

Normalizálási feladatok megoldása

ADATBÁZIS-KEZELÉS Demetrovics Katalin

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

A relációs adatmodell

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

Az egyed-kapcsolat modell (E/K)

Adatmodellezés, alapfogalmak. Vassányi István

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

Adatbázisok. Követelmények. Előadó honlapján:

ADATBÁZISOK. 3. gyakorlat E-K modell

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

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

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

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

Adatbázis rendszerek Definíciók:

A D A T B Á Z I S O K

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

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Gazdasági informatika II (SZIE GTK GVAM 1. évfolyam) 2009/2010. tanév 2. félév

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

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

Adatmodellek. 2. rész

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

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

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.

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

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

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

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

A D A T B Á Z I S O K

Adatbáziskezelés 1 / 12

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

Magas szintő adatbázismodellek

Adatbázis-kezelés az Excel 2013-ban

TAJ. foglalkozás. gyógyszer

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

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

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

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Gazdasági informatika vizsga kérdések

Adatbázisok elmélete

ADATBÁZIS-KEZELÉS. Modellek

Adatbázis alapú rendszerek

8. előadás. Az ER modell. Jelölések, az ER séma leképezése relációs sémára. Adatbázisrendszerek előadás november 14.

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

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

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

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

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

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

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

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

d Nem a konkrét adatokkal, azok előfordulásaival, kapcsolatokkal (egyedtípus, tulajdonságtípus,

Adatbázis használat I. 1. gyakorlat

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

Adatbázisrendszerek 7. előadás: Az ER modell március 20.

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

Egyed-kapcsolat modell

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

Adatmodell elemei. Adatmodellezés. Adatobjektum. Kutya adatobjektum, mint tábla

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

Programozás I gyakorlat

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


SSADM Dokumentáció Adatbázis Alapú Rendszerek

Adatbázis-kezelés - Relációs adatbázisok adatszerkezetének tervezése, megvalósítása

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

Adatbázis rendszerek I

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

ADATBÁZIS RENDSZEREK. Adatbázis tervezés. Krausz Nikol, Medve András, Molnár Bence

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Relációk. 1. Descartes-szorzat. 2. Relációk

Csima Judit október 24.

Bevezetés: Relációs adatmodell

Átírás:

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

Elérhet ség Web: http://www.inf.u szeged.hu/~mkatona E-mail: mkatona@inf.u-szeged.hu Fogadóóra: Kedd 15 16 Árpád tér 2. 221-es szoba 2016. október 1. Adatbázisok 2 / 42

A mai gyakorlat anyaga E-K modell E-K modellb l relációs adatbázisséma Funkcionális függés, redundancia Normalizálás (2NF, 3NF) 2016. október 1. Adatbázisok 3 / 42

Adatmodellezés Az adatbázis-alapú rendszerek tervezésének alapvet része Az adatmodellezés legtöbbször két fázisú: Egyed-kapcsolat diagram Relációs adatmodell 2016. október 1. Adatbázisok 4 / 42

E-K modell A valós világ jelenségeit egyedekkel, tulajdonságokkal és kapcsolatokkal leíró modell Adatok típusai: Egyszer (atomi) adat: szám, string, dátum, logikai érték Összetett adat: struktúra, halmaz, lista vagy ezek kombinációi NULL (NEM ekvivalens a null értékkel) E-K diagram részei: Egyed - létez dolog, amelyet tulajdonságokkal írunk le 2016. október 1. Adatbázisok 5 / 42

E-K diagram további elemei Kapcsolat - két egyed közötti viszony Attribútum - valamilyen típusú adat, amely jellemz az egyedre Kulcs - az attribútumok azon legsz kebb részhalmaza, amelyek egyértelm en azonosítják az egyedet 2016. október 1. Adatbázisok 6 / 42

E-K diagram további elemei Összetett attribútum - maga is több attribútumból áll Többérték attribútum lehet, pl. szerz k - aktuális értéke halmaz vagy lista 2016. október 1. Adatbázisok 7 / 42

Kapcsolatok típusai Bináris kapcsolatok 1:1 - minden egyedhez legfeljebb egy másik egyed tartozhat 1:N - minden egyedhez több egyed tartozhat N:M - több egyedhez több másik fajta egyed tartozhat 2016. október 1. Adatbázisok 8 / 42

Kapcsolatok típusai Sokágú kapcsolat - kett nél több egyed között (helyettesíthet több kétágú kapcsolattal is, de így sokkal kifejez bb) 2016. október 1. Adatbázisok 9 / 42

Önmagával kapcsolatban álló egyed El fordulhat, hogy egy egyed önmagával áll kapcsolatban (pl. munkahelyi hierarchia modellezése) Ez a modell nem zárja ki a körkörös hivatkozásokat A kapcsolat típusa lehet 1:1, 1:N és N:M is 2016. október 1. Adatbázisok 10 / 42

Gyenge egyed Az attribútumai nem határozzák meg egyértelm en (A kapcsolataival együtt viszont már egyértelm en meghatározott lesz) A meghatározó kapcsolat az, ami azonosítja 2016. október 1. Adatbázisok 11 / 42

Specializáló kapcsolatok Ha valamilyen általános egyed altípusait szeretnénk modellezni Alakzat - kör, négyzet, háromszög Járm - vízi, légi, szárazföldi Helyiség - tanterem, gépterem, iroda Az altípusok öröklik a f típus attribútumait, de lehetnek saját attribútumaik is 2016. október 1. Adatbázisok 12 / 42

Feladat - Nemzetközi táncverseny Olyan relációs adatbázist szeretnénk létrehozni, amely egy nemzetközi táncversenyen résztvev csoportok adatait tartalmazza. Tároljuk a csoport nevét, nemzetiségét, a csoport átlagéletkorát és a verseny folyamán elért pontszámot. E mellett tároljuk a bemutatott tánc nevét, valamint a zenére vonatkozó adatokat, azaz a zene m faját, a szám címét és el adóját. Feltételezzük, hogy: 1 egyféle táncot több csoport is táncolhat, 2 egy csoport több táncot is el adhat, 3 a versenyen nincs kikötés a táncra vonatkozóan, így bármilyen táncot be lehet mutatni, 4 a zenét egyértelm en azonosítja a címe, azaz nincs két azonos cím szám, 5 egy csoportban csak azonos nemzetiség ek táncolnak. A tánc m faja, valamint a csoportok nemzetisége csak meghatározott értékeket vehet fel 2016. október 1. Adatbázisok 13 / 42

Megoldás I. 2016. október 1. Adatbázisok 14 / 42

Megoldás II. 2016. október 1. Adatbázisok 15 / 42

Feladat - Orvosi betegnyilvántartó rendszer Készítsünk EK-diagramot egy háziorvosi betegnyilvántartó rendszerhez! Az orvosok elvárásainak megfelel en az adatbázisnak tartalmaznia kell a betegek személyi adatait, gyógyszerérzékenységüket, az egyes vizsgálatok id pontjait és a felírt gyógyszereket. Feltételezzük, hogy: 1 egy vizsgálaton több betegség is diagnosztizálható, 2 egy betegségre több gyógyszer is felírható, 3 egy-egy páciens több gyógyszerre is lehet érzékeny, 4 egy vizsgálatot a dátum és a vizsgálat kódja határoz meg egyértelm en. 2016. október 1. Adatbázisok 16 / 42

Megoldás 2016. október 1. Adatbázisok 17 / 42

Az adatbázisok szolgáltatásai 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 Eszközök az adatok biztonsági mentésére, vissza- és helyreállítására Nagy mennyiség adat hatékony kezelése Nagyszámú felhasználó kiszolgálása 2016. október 1. Adatbázisok 18 / 42

A relációs adatmodell Az egyedeket, tulajdonságokat és kapcsolatokat egyaránt táblázatok, ún. adattáblák segítségével adja meg Az adattábla sorokból és oszlopokból áll. Egy sorát rekordnak nevezzük, amely annyi mez b l áll, ahány oszlopa van a táblának 2016. október 1. Adatbázisok 19 / 42

A relációs adatbázisséma Minden adattáblához tartozik egy relációséma, amely annak szerkezetét írja le R(A 1,..., A n ), ahol R relációséma, és A 1,..., A n attribútumok Az attribútumok egy részhalmaza lehet kulcs, ezeket aláhúzással jelöljük Az el z példa sémája: Vev (Vev kód, Vev név, Vev cím) 2016. október 1. Adatbázisok 20 / 42

Kulcsok Egy relációséma attribútumainak egy olyan, minimális elemszámú részhalmaza, amely az adott séma feletti tetsz leges tábla bármely két sorában különbözik A kulcs egyértelm en azonosítja a tábla egy sorát Egy táblához több kulcs is tartozhat! (Ezek közül egyet kiválasztunk, és ez lesz az els dleges kulcs.) Ami nem kulcs, az másodlagos attribútum 2016. október 1. Adatbázisok 21 / 42

Kulcsok A kulcs egyértelm en azonosítja az egyedet Küls kulcs: az attribútumok azon részhalmaza, amely egy másik adatbázisséma els dleges kulcsára való hivatkozás Jelölése szaggatott vonallal aláhúzva Az EK-modellben megismert kapcsolatok a relációs modellben küls kulcsok formájában jelennek meg Összes egyedet és kapcsolatot átírtuk relációsémákra, és meghatároztuk a kulcsokat és küls kulcsokat relációs adatbázisséma 2016. október 1. Adatbázisok 22 / 42

E-K diagramból relációséma - egyedek leképezése Minden egyednek létrehozunk egy relációsémát Kulcs: az egyed kulcsattribútuma Könyv(Könyvszám, Szerz, Cím) Olvasó(Olvasószám, Név, Lakcím) 2016. október 1. Adatbázisok 23 / 42

E-K diagramból relációséma - gyenge egyedek leképezése A gyenge entitás relációsémáját b víteni kell a meghatározó kapcsolat(ok)ban szerepl egyed(ek) kulcsával Tulajdonos(Személyiszám, Név, Lakcím) Számítógép(Processzor, Memória, Merevlemez, Személyiszám) 2016. október 1. Adatbázisok 24 / 42

E-K diagramból relációséma - összetett attribútumok leképezése Szétbontjuk (az elemeivel helyettesítjük) Tfh. Lakcím attribútum (Helység, Utca, Házszám) struktúra Ekkor: Olvasó(Olvasószám, Név, Lakcím) helyett Olvasó(Olvasószám, Név, Helység, Utca, Házszám) 2016. október 1. Adatbázisok 25 / 42

E-K diagramból relációséma - többérték attribútumok leképezése Pl. ha egy könyvnek több szerz je van 1 Megadás egyérték attribútumként (az értéknél vessz kkel felsoroljuk a szerz ket) Hátrány, hogy a szerz ket nem tudjuk külön-külön kezelni, valamint sok szerz nem fér el a megadott mez ben 2 Sorok többszörözése (annyi sort veszünk fel egy könyvhöz, ahány szerz je van) 3 Új tábla felvétele Könyv(Könyvszám, Szerz, Cím) helyett Könyv(Könyvszám, cím) Szerz (Könyvszám, Név) 2016. október 1. Adatbázisok 26 / 42

E-K diagramból relációséma - kapcsolatok leképezése Új séma felvétele Neve a kapcsolat neve Attribútumai a a kapcsolódó entitások kulcs attribútumai, valamint a kapcsolat saját attribútumai Ha ezen séma kulcsa megegyezik valamely egyed kulcsával, akkor a kapcsolat és az egyed sémája összevonható 2016. október 1. Adatbázisok 27 / 42

E-K diagramból relációséma - bináris kapcsolatok Bináris kapcsolatok leképezése: 1:1 kapcsolat esetén kiválasztjuk a kapcsolatban részt vev két entitást egyikét (bármelyiket) a kiválasztott entitás sémájába új attribútumként felvesszük a másik entitás kulcs attribútumait, valamint a kapcsolat attribútumait 1:N kapcsolat esetén Az "N" oldali entitás sémájába új attribútumként felvesszük a másik entitás kulcs attribútumait, valamint a a kapcsolat attribútumait N:M kapcsolat esetén új sémát veszünk fel, amelynek attribútumai a kapcsolódó entitások kulcs attribútumai, valamint a kapcsolat saját attribútumai 2016. október 1. Adatbázisok 28 / 42

EK diagram - Taxi 2016. október 1. Adatbázisok 29 / 42

Relációs adatbázisséma - Taxi Sof r(sof r_id, név, igazolvány_szám, jogosítvány_szám, jogosítvány_lejárat, irsz, város, utca, résztvev i_státusz) Állandós(sof r_id, munkaid ) Beugró(sof r_id, ráérés) Járm (rendszám, típus, márka, megtett_km, szín, fér hely, sof r_id) Üzemanyag(ár, típus, rendszám, üzem_azon) Fuvar(cél_cím, indul_cím, indul_dátumid, útvonal_hossza, útvonal_ideje, sof r_id, rendszám, tarifa_azonosító) Tarifa(tarifa_azonosító, tarifa_neve, km_ára) 2016. október 1. Adatbázisok 30 / 42

Funkcionális függ ség Legyen R(A 1,..., A n ) egy relációséma, P, Q {A 1,..., A n }. P- t l funkcionálisan függ Q (jelölés: P Q), ha bármely R feletti T tábla esetében valahányszor két sor megegyezik P-n, akkor megegyezik Q-n is Pl. {EHA} {Név, Lakcím} 2016. október 1. Adatbázisok 31 / 42

Redundancia Ugyanaz az adat több helyen jelenik meg (egyszeri tárolás elegend lenne) Redundáns a következ sémának megfelel adattábla is: KÖNYV(könyvszám, szerz, cím, kiadás, m faj, oldalak száma) 2016. október 1. Adatbázisok 32 / 42

1NF - Els normálforma Egy relációséma 1NF-ben van, ha az attribútumok értéktartománya egyszer (atomi) adatokból áll (nem tartalmat pl. listát vagy struktúrát) A struktúrákat elemeivel helyettesítjük - pl: lakcím A listákat külön sémába vesszük fel B vítjük a tartalmazó séma kulcsával a tartalmazó sémából teljesen eltávolítjuk a listát 2016. október 1. Adatbázisok 33 / 42

Feladat Adott az alábbi struktúra: számla(számlaszám, dátum, vev kód, vev név, vev cím, sorok) A sorok mez a számlán szerepl sorokat jelzi Egy sor felépítése a következ : (árukód, árunév, egységár, mennyiség) Egy sort az árukód egyértelm en azonosít 2016. október 1. Adatbázisok 34 / 42

Feladat - Relációsémák és táblák számla(számlaszám, dátum, vev kód, vev név, vev cím) sorok(számlaszám, árukód, árunév, egységár, mennyiség) 2016. október 1. Adatbázisok 35 / 42

2NF - Második normálforma Egy relációséma 2NF-ben van, ha minden másodlagos attribútum teljesen függ bármely kulcstól Másodlagos: nem része egyik kulcsnak sem Kulcstól teljesen függ: csak az egész kulcstól függ, azaz a részhalmazaitól nem Példa: VIZSGATELJESÍTÉS(kurzuskód, kurzusnév, dátum, jegy) A jegy teljesen függ a kulcstól, de a kurzus neve már nem, mert az csak a kurzuskódtól függ 2016. október 1. Adatbázisok 36 / 42

2NF-re hozás Eredeti séma: sorok(számlaszám, árukód, árunév, egységár, mennyiség) Kulcs: {számlaszám, árukód} Függ ség: {árukód} {árunév} 2016. október 1. Adatbázisok 37 / 42

2NF Eredeti séma: sorok(számlaszám, árukód, árunév, egységár, mennyiség) Felbontás az {árukód} {árunév} függ ség mentén: sorok(számlaszám, árukód, egységár, mennyiség) áruk(árukód, árunév) 2016. október 1. Adatbázisok 38 / 42

3NF - Harmadik normálforma Egy relációséma 3NF-ben van, ha minden másodlagos attribútuma közvetlenül függ bármely kulcstól (A B C) Ha K kulcs, és K B C, ahol C az összes B-t l függ másodlagos attribútum, akkor a sémát felbontjuk a B C függ ség szerint R(A) sémát az alábbi sémákkal helyettesítjük: R1(B C) - ami a második függ ségben részt vesz R2(A - C) - a B-t l függ dolgokat kivéve 2016. október 1. Adatbázisok 39 / 42

3NF-re hozás Eredeti séma: számla(számlaszám, dátum, vev kód, vev név, vev cím) Kulcs: {számlaszám} Tranzitív függés: {számlaszám} {vev kód} {vev név, vev cím} 2016. október 1. Adatbázisok 40 / 42

3NF Eredeti séma: számla(számlaszám, dátum, vev kód, vev név, vev cím) Felbontás a {vev kód} {vev név, vev cím} függ ség mentén: számla(számlaszám, dátum, vev kód) vev k(vev kód, vev név, vev cím) 2016. október 1. Adatbázisok 41 / 42

1. feladat Az R(A, B, C, D, E, F ) relációsémában az E attribútum az E 1, E 2, E 3 attribútumokból tev dik össze, és az alábbi funkcionális függ ségeket feltételezzük: 1 B DEF 2 E 2 E 1 Határozzuk meg a séma kulcsát, és hozzuk a sémát 1NF, 2NF, 3NF alakra! 2016. október 1. Adatbázisok 42 / 42