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

Hasonló dokumentumok
Az egyed-kapcsolat modell (E/K)

Magas szintő adatbázismodellek

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

Bevezetés: Relációs adatmodell

Bevezetés: Relációs adatmodell

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Bevezetés: az SQL-be

Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT

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

Bevezetés: Relációs adatmodell

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

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

Tervezés: Egyed-kapcsolat modell és az SQL DDL: táblák, nézetek

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

Információs rendszerek Adatbázis-kezelés

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

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

ADATMODELLEZÉS. Az egyed-kapcsolat modell

Adatbázis tartalmának módosítása

T Adatbázisok-adatmodellezés

SQL DDL-1: táblák és megszorítások

Lekérdezések az SQL-ben 1.rész

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

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

Adatbázisok gyakorlat

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

A relációs adatmodell

Relációs algebra 2.rész példák

Lekérdezések az SQL-ben 1.rész

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

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

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

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

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

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

Az SQL adatbázisnyelv: DML

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

Az adatbázisrendszerek világa

Adatbázisok - 1. előadás

Adatmodellezés. 1. Fogalmi modell

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

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

SQL DDL-2 (aktív elemek) triggerek

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

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

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ázis rendszerek. dr. Siki Zoltán

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ÁZIS-KEZELÉS Demetrovics Katalin

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

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

Informatikai alapismeretek Földtudományi BSC számára

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

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

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

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

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Egyed-kapcsolat modell

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

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

TAJ. foglalkozás. gyógyszer

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

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

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

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

Adatbázis-kezelés. alapfogalmak

Lekérdezések az SQL-ben 2.rész

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

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

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

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

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

Adatbázis, adatbázis-kezelő

Adatbázis rendszerek. 3. előadás Adatbázis tervezés

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése,

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

Adatbázisrendszerek BEVEZETÉS. A valós világban vannak dolgok, amelyek viselkednek, hatnak egymásra, kapcsolatban vannak. Ezek rendszert alkotnak.

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

Csima Judit szeptember 6.

Adatbázisok elmélete

Adatbázismodellek. 1. ábra Hierarchikus modell

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

Adatbázisok elmélete

Adatbázis tartalmának módosítása. SQL DML utasítások

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

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

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

Adatbázis rendszerek Definíciók:

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

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

Adatbázis rendszerek 2. előadás. Relációs algebra

Egyed-kapcsolat modell

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák

Tankönyv példák kidolgozása

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

Átírás:

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 1.ea: Adatmodellek Relációs modell és E/K diagram átírása Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján készültek, forrás: http://infolab.stanford.edu/~ullman/dscb.html 1

1.előadás: Adatmodellek témaköre Bevezetés/Előkészítés: Adatmodellezésre feladatok, E/K modell, E/K diagram leképezése relációs modellre http://sila.hajas.elte.hu/abea/01_adatb_hcs.pdf Tankönyv 1. fej. Adatbázisok alapfogalmak (később, 6ea) Gyakorlattal kezdünk, rövid tervezés után lekérdezések 2.1.-2.2. Adatmodellek, relációs modell 4.1.- 4.4. E/K-modell elemei 4.5.- 4.6. E/K-diagram átírása relációs modellé 1.gyakorlaton: SQL lekérdezések előkészítése: Adatmodellezésre példák, E/K diagram átalakítása relációkká, táblák létrehozása és feltöltése adatokkal. 2

Bevezető példa (reláció = tábla) Naponta találkozunk adatbázisokkal 1960-as évektől a korai DBMS: banki rendszerek, repülőgép-helyfoglalás, vállalati nyilvántartások Napi szinten: Google, Yahoo, Amazon.com, egyetemi tanulmányi rendszerek (ETR, Neptun) 1.példa: A jelentkezési adatok egyeztetésére táblázat (lásd papíron a jelenléti ív /Ez az első előadás példája) Reláció = tábla (a jelenléti ív) Séma = a reláció szerkezetének leírása (tábla fejléce) Előfordulás v. példány = a tábla sorai, adott időpontban a tábla aktuális tartalma dinamikusan változik (példában szereplő tábla tartalma a tantárgyfelvétel időszakában) 3

Bevezetés: Ki ismeri az SQL-t? Ki ismeri az SQL-t? Van-e különbség? R Tetszőleges táblát lekérdezve megegyezik-e az eredmény? (1) SELECT B FROM R WHERE A<10 OR A>=10; (2) SELECT B FROM R; A B 5 20 10 30 20 40 Itt mi a helyzet ezzel? (3) SELECT A FROM R, S WHERE R.B = S.B; (4) SELECT A FROM R WHERE B IN (SELECT B FROM S); 4

Mi az adatmodell? Az adatmodell a valóság fogalmainak, kapcsolatainak, tevékenységeinek magasabb szintű ábrázolása Kettős feladat: az adatmodell megadja, hogy a számítógép számára és a felhasználó számára hogy néznek ki adatok. Az adatmodell: adatok leírására szolgáló jelölés. Ez a leírás általában az alábbi három részből áll: 1. Az adat struktúrája (struktúrák, tömbök, rekordok, fizikai és fogalmi adatstruktúrák, hamarosan példákat is mutatunk) 2. Az adaton végezhető műveletek (lekérdezések,módosítások, feldolgozások legyenek megfogalmazhatók és hatékonyan legyenek implementálva) 3. Az adatokra tett megszorítások (milyen adatokat engedélyezünk, milyen megszorításokat teszünk?) 5

A fontosabb adatmodellek Hálós, hierarchikus adatmodell (gráf-orientált, fizikai szintű, ill. apa-fiú kapcsolatok gráfja, hatékony keresés) Relációs adatmodell (táblák rendszere, könnyen megfogalmazható műveletek), magában foglalja az objektumrelációs kiterjesztést is (strukturált típusok, metódusok), SQL/Object, SQL/CLI, SQL/PSM (PL/SQL) Objektum-orientált adatmodell (az adatbázis-kezelés funkcionalitásainak biztosítása érdekében gyakran relációs adatmodellre épül), ODMG: ODL és OQL Logikai adatmodell (szakértői rendszerek, tények és következtetési szabályok rendszere) Dokumentum típusú adatok, félig-strukturált adatmodell (XML-dokumentum), további modellek: gráf adatbázisok 6

Példa relációs adatmodellre Egy reláció sémája: Sör (név, ország). Az adatbázis sémája: Sör (név, ország), Söröző (név, város, tulaj), Felszolgál (sör, söröző, ár). attribútumok Sör név Soproni Kozel Dreher Felszolgál ország Magyar Cseh Német Söröző sör bár ár név város tulaj Makk 7-es Kozel Makk 7-es 320 Budapest Géza Lórúgás Győr Ica előfordulás sorok Dreher Makk 7-es 400 Soproni Lórúgás 280 7

Példa féligstrukturált adatra (XML) <?xml version="1.0" encoding="utf-8"?> <söröző típus="étterem"> <név>makk 7-es</név> <város>budapest</város> <tulaj>géza</tulaj> <telefon>+36-70-123-2345</telefon> <telefon>+36-70-123-2346</telefon> </söröző> <söröző típus="kocsma"> <név>lórúgás</név> <város>eger</város> <telefon>+36-30-451-1894</telefon> </söröző> </xml> 8

Relációs adatmodell története E.F. Codd 1970-ben publikált egy cikket A Relational Model of Data for Large Shared Data Banks Link: http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf amelyben azt javasolta, hogy az adatokat táblázatokban, relációkban tárolják. Az elméletére alapozva jött létre a relációs adatmodell, és erre épülve jöttek létre a relációs adatmodellen alapuló relációs adatbázis-kezelők. Relációs (objektum-relációs) adatbázis-kezelők például: ORACLE, INFORMIX, SYSBASE, INGRES, DB2, stb Adatbázisok-1 gyakorlaton ORACLE adatbázis-kezelő rendszert használunk. 9

Relációs adatmodell: relációs séma Adatok gyűjteményét kezeli (gyűjtemény azonosítása: név) A gyűjtemény - R reláció (tábla, táblázat) megadása A gyűjtemény milyen típusú adatokat gyűjt? adattípus: sor-típus. A sor-típus (egy n-es) megadása: <Attribútumnév 1 : értéktípus 1,, Attrnév n : értéktípus n > röviden <A 1,, A n > Relációséma: Relációnév (sortípus) (itt: kerek zárójelben!) vagyis R(Anév 1 : értéktípus 1,, Anév n : értéktípus n ) röviden R(A 1,, A n ) ill. U = {A 1,, A n } jelöléssel R(U) Megadjuk a relációsémát, oszlopneveket és típusukat. Milyen megszorításokat (pl. kulcs) tudunk megadni a sémán? (create table később lesz az SQL DDL-ről ea.) 10

Relációs adatmodell: előfordulás Mit jelent egy konkrét sor? sor <A 1 : érték 1,, A n : érték n > Reláció előfordulás (példány, instance) A sor-típusnak megfelelő véges sok sor (sorok halmaza). {t 1,...,t m } ahol t i (tuple, sor, rekord) i= 1,, m (véges sok) t i = <v i1,...,v in > (vagyis egy sor n db értékből áll) m - számosság (sorok száma) n - dimenzió (attribútumok száma) Értéktartományok: A reláció minden A j attribútumához tartozik egy dom(a j ) értéktartomány (adott értéktípusú értékek halmaza) (1normálforma feltétel: atomi típusú) v ij ebből a dom(a j ) tartományból veszi fel az értékét vagy speciális NULL érték (hiányzó érték) is lehet! 11

Logikai szinten: táblázatos szemléltetés A relációk táblákban jelennek meg. A tábláknak egyedi neve van. A relációk oszlopait az attribútumok címzik. A tábla sorait tetszőlegesen megcserélhetjük, sorok sorrendje lényegtelen (a halmazszemlélet miatt) Mivel attribútumok halmazáról van szó, a Példa 1 és Példa 2 relációk nevüktől eltekintve azonosak. Mivel sorok halmazáról van szó, a Példa 1 és Példa 3 relációk nevüktől eltekintve azonosak. Példa 1 Példa 2 A B C a b c d a a c b d Példa 3 A B C c b d d a a a b c B C A b c a a a d b d c Példa 4 A B C c b d c b d a b c Ebben a modellben Példa 4 nem reláció, de a valóságban megengedünk mutihalmazokat lásd később SQL 12

Magas szintű adatbázismodellek Vizsgáljuk meg azt a folyamatot, amikor egy új adatbázist létrehozunk, vegyük példaként a sörivós adatbázist. Az adatbázis-modellezés és implementálás eljárása Elgondolások Magas Relációs Relációs szintű terv adatbázis- ABKR séma Modellezés komplex valós világ leképezése, absztrakció Tervezési fázis: Milyen információkat kell tárolni? Mely információelemek kapcsolódnak egymáshoz? Milyen megszorításokat kell figyelembe venni? stb 13

Egyed-kapcsolat modell elemei Egyed-kapcsolat modell: E/K modell (Entity-relationship ER) alapfogalmak: Egyedhalmazok (absztrakt objektumok osztálya) Miről gyűjtünk adatokat? Mit tegyünk egy gyűjteménybe? - hasonlóság Hasonló egyedek összessége Attribútumok Megfigyelhető tulajdonságok, megfigyelt értékek Az egyedek tulajdonságait írják le Kapcsolatok Más egyedhalmazokkal való kapcsolatuk 14

E/K modell elemei: Egyedhalmazok E(A1,,An) egyedhalmaz séma: E az egyedhalmaz neve, A1,,An tulajdonságok, DOM(Ai) lehetséges értékek halmaza. például: tanár(név, tanszék). E(A1,,An) sémájú egyedhalmaz előfordulása: A konkrét egyedekből áll E = {e1,,em} egyedek (entitások) halmaza, ahol ei(k) DOM(Ak), semelyik két egyed sem egyezik meg minden attribútumban (léteznek és megkülönböztethetők) 15

E/K-diagram: Egyedhalmazok E/K diagram: séma-szinten grafikusan ábrázoljuk Egyedhalmazok: téglalap Tulajdonságok: ovális az elsődleges kulcshoz tartozó tulajdonságokat aláhúzzuk. név gyártó Sörök 16

E/K modell elemei: Kapcsolatok K(E1,,Ep) a kapcsolat sémája, K a kapcsolat neve, E1,,Ep egyedhalmazok sémái, p=2 bináris kapcsolat, p>2 többágú kapcsolat, például: tanít(tanár,tárgy). K(E1,,Ep) sémájú kapcsolat előfordulása: K = {(e1,,ep)} egyed p-esek halmaza, ahol ei Ei, a kapcsolat előfordulásaira tett megszorítások határozzák meg a kapcsolat típusát. 17

E/K-diagram: Kapcsolatok A kapcsolatok jele: rombusz név cím név gyártó engedély Söröző Felszolgál Sörök A sörözőkben söröket árulnak. Látogat Szeret A sörivók söröket szeretnek. név Sörivók cím A sörivók sörözőkbe járnak. 18

Kapcsolatok típusai: sok-egy, sok-sok (két egyedhalmaz között több kapcsolat is lehet) Sörivók Szeret Sörök Kedvence Dolgozók Dolgozik Osztály 19

férj Egy egyedhalmaz önmagával is kapcsolódhat: Szerepek (Roles) házaspár Sörivók A kapcsolat előfordulása Férj Feleség Bob Ann Joe Sue feleség Dolgozók egyedhalmaz is kapcsolódik önmagával: ki kinek a főnöke (sok-egy kapcsolat) 20

Példa: Többágú (3-ágú) kapcsolatra név cím név gyártó engedély Söröző Sörök Kedvencek Sörivók Kedvencek kapcsolat helyett egyedhalmazt bevezetve ez a 3-ágú kapcsolat átírható 3db binér kapcsolatra név cím 21

Kapcsolatnak is lehet attribútuma időpont Kurzus hirdetve Félév helyszín Az időpont és helyszín a Kurzus és Félév együttes függvénye, de egyiké sem külön. 22

Tervezési kérdés: Attribútum vagy egyedhalmaz? időpont Kurzus hirdetve Félév helyszín A helyszínt itt attribútum helyett egyedhalmazként adjuk meg terem 23

Alosztályok és öröklődés Speciális is-a (az-egy) kapcsolat név Sörök gyártó isa szín Alkoholmentes 24

Példa: is-a" (az-egy) kapcsolatra 25

Kulcs megszorítás jele: aláhúzás Példa egyszerű kulcsra: név a Sörök elsődleges kulcsa: név Sörök gyártó Példa összetett kulcsra: épület, ajtószám két-attribútumos elsődleges kulcsa a Helyiség-nek: épület ajtószám név alapterület Helyiség 26

Hivatkozási épség megszorítás jele a kerek végződés ) Gyártók Legkedveltebb Sörök Egy sör 0 vagy 1 gyártó legkedveltebb söre. Egy gyártónak pontosan egy legkedveltebb söre van. 27

Erős és gyenge egyedhalmaz név szám név Játékosok Játszik Csapatok A kerek végződés jelzi, hogy minden játékoshoz kötelezően tartozik egy csapat, amely az azonosításhoz használható. Dupla rombusz: sok-egy gyenge kapcsolat. Dupla téglalap: gyenge egyedhalmaz. 28

Erős és gyenge egyedhalmaz név név Fajok Tagja Nemzetség Tankönyv 4.21. példája: például az emberek a Homo sapiens fajhoz tartoznak, ahol Homo a nemzetség neve, a sapiens a faj neve (sajnos maguk a fajok nevei nem egyértelműek, két vagy több nemzettségben is lehet ugyanolyan fajnév). 29

Tervezési alapelvek valósághű modellezés: megfelelő tulajdonságok tartozzanak az egyedosztályokhoz, például a tanár neve ne a diák tulajdonságai közé tartozzon redundancia elkerülése: az index(etr_kód,lakcím,tárgy,dátum,jegy) rossz séma, mert a lakcím annyiszor ismétlődik, ahány vizsgajegye van a diáknak, helyette 2 sémát érdemes felvenni: hallgató(etr_kód,lakcím), vizsga(etr-kód,tárgy,dátum,jegy). egyszerűség: fölöslegesen ne vegyünk fel egyedosztályokat például a naptár(év,hónap,nap) helyett a megfelelő helyen inkább dátum tulajdonságot használjunk tulajdonság vagy egyedhalmaz: például a vizsgajegy osztály helyett jegy tulajdonságot használjunk. 30

E/K-diagram átírása relációkra Előtte: Relációs adatmodell (Tankönyv 2.1-2.2.) E/K-diagram átírása relációsémákra (Tk 4.5.-4.6.) Egyedhalmazok átírása relációkká E/K-kapcsolatok átírása relációkká Egyszerűsítés, összevonások Gyenge egyedhalmazok kezelése Osztályhierarchia átalakítása relációkká 31

E/K diagram átírása relációs adatbázistervre Mi minek felel meg: egyedhalmaz séma relációséma E(A1,,An) E(A1,,An) tulajdonságok attribútumok (szuper)kulcs (szuper)kulcs egyedhalmaz előfordulása reláció e egyed (e(a1),,e(an)) sor R(E1, Ep,A1,,Aq) R(K1,,Kp,A1,,Aq) kapcsolati séma, ahol relációséma, ahol Ei egyedhalmaz, Ki az Ei (szuper)kulcsa Aj saját tulajdonság E/K modell Relációs adatmodell 32

Példa: E/K diagram átírása relációkká Az egyedek és a kapcsolatok átírása: név cím név gyártó Sörivók Szeret Sörök Sörivók(név, cím) Sörök(név, gyártó) férje 1 2 Cimbora neje Kedvenc 0 Szeret(név, sör) Kedvenc(név, sör) Cimbora(név1, név2) Házaspár(férj, feleség) Házaspár A kapcsolatoknak megfelelő sémákban az oszlopokat átneveztük, például a szerepek alapján, (név,név) séma nem szerepelhetne. 33

Relációk összevonása Összevonhatunk 2 relációt, ha az egyik egy sok-egy kapcsolatnak megfelelő reláció, a másik pedig a sok oldalon álló egyedhalmaznak megfelelő reláció. Példa: Sörivók(név, cím) és Kedvenc(név,sör) összevonható, és kapjuk az Sörivó1(név,cím,kedvencSöre) sémát. Hasonlóan a Dolgozók táblába összevonható az Osztállyal illetve önmagával való kapcsolat 34

Példa Sörivók adatbázisséma Az előadások SQL lekérdezései az alábbi Sörivók adatbázissémán alapulnak (aláhúzás jelöli a kulcs attribútumokat) Sörök(név, gyártó) Sörözők(név, város, tulaj, engedély) Sörivók(név, város, tel) Szeret(név, sör) Felszolgál(söröző, sör, ár) Látogat(név, söröző) 35

Gyenge egyedhalmaz átírása név név jelszó Logins Hová Host gépek cím Beolvasztjuk a Logins relációba Hostgépek(hostNév, cím) Logins(loginNév, hostnév, jelszó) Hová(loginNév, hostnév, hostnév2) A logins kulcsa összetett: loginnév,hostnév Kétszer szerepelne az azonos értékű hostnév a Hová sémában 36

Alosztály átírására relációkká név Sörök gyártó szín isa Alkoholmentes 37

Alosztályok átírása: három megközelítés E/R stílusban: Egy reláció minden alosztályra, de az általános osztályból csak a kulcsokat vesszük hozzá a saját attribútumokhoz. Objektumorientált stílusban: Egy reláció minden alosztályra, felsorolva az összes tulajdonságot, beleértve az örökölteket is. Nullértékek használatával: Egyetlen reláció az öröklődésben résztvevő összes osztályra. Ha egy egyed nem rendelkezik egy alosztály speciális tulajdonságával, akkor ezt az attribútumot NULL értékkel töltjük majd ki. 38

E/K tipusú átalakítás ---1 név gyártó Bud Anheuser-Busch Summerbrew Pete s Sörök név szín Summerbrew világos Alkoholmentes Az olyan lekérdezésekre jó, hogy egy adott gyártó milyen söröket gyárt, beleértve az alkoholmenteseket is. 39

Objektumorientált megközelítés ---2 név Bud gyártó Anheuser-Busch Sörök név gyártó szín Summerbrew Pete s világos Alkoholmentes Az olyan lekérdezésekre jó, hogy egy adott gyártó milyen színű alkoholmentes söröket gyárt. 40

Nullértékek használatával ---3 név gyártó szín Bud Anheuser-Busch NULL Summerbrew Pete s világos Sörök Általában kevesebb hely elég a tárolásra, kivéve ha nagyon sok attribútum marad nullértékű. 41

Kérdés/Válasz Köszönöm a figyelmet! Kérdés/Válasz? Következő 2.előadáson: Lekérdezések kifejezése relációs algebrában és SQL SELECT utasítással. 1.gyakorlaton: Adatmodellezésre feladatok, példák E/K diagram felrajzolása és átalakítása relációs modellre. A gyakorlatra szóló modellezési feladatok megtalálhatóak itt az 1.előadás diasorozat végén. A gyakorlatokon megbeszéljük a demo adattáblák kialakításához milyen E/K modell áll a hátterében, lásd Oracle HR és SH (Sales History) séma tábláit. 42

Modellezési feladatok gyakorlatra Tankönyv 4.1.1. feladat. Tervezzünk egy bank részére adatbázist, amely tartalmazza az ügyfeleket és azok számláit. Az ügyfelekről tartsuk nyilván a nevüket, címüket, telefonszámukat és TAJszámukat. A számláknak legyen számlaszámuk, típusuk (pl. takarékbetét-számla, folyószámla stb.) és egyenlegük. Továbbá, meg kell jelölni azokat az ügyfeleket, akiknek van számlájuk. Adjuk meg az E/K diagramját ennek az adatbázisnak. Alkalmazzunk nyilakat a kapcsolatokban a multiplicitások jelölésére. 43

Modellezési feladatok gyakorlatra Tankönyv 4.1.3. feladat. Adjuk meg az E/K modelljét egy olyan adatbázisnak, amely csapatokat, játékosokat és azok szurkolóit tartja nyilván: Minden csapatról tároljuk a nevét, játékosait, csapatkapitányát (ő is egy játékos), mezük színét. Minden játékosnak legyen neve. Minden rajongóról tartsuk nyilván a nevét, kedvenc csapatát, kedvenc játékosát és kedvenc színét. Vigyázzunk, a színek halmaza nem lehet a csapatok egy attribútumának típusa. Hogyan lehet ezzel a megszorítással együtt megfelelő modellt készíteni? 44

Modellezési feladatok gyakorlatra Tankönyv 4.1.9. feladat. Tervezzünk adatbázist egy tanulmányi osztály számára. Ez az adatbázis tartalmazza a hallgatókat, oktatókat, tanszékeket és kurzusokat. Ezenkívül tartsuk nyilván, hogy a hallgatók milyen kurzusokat vettek fel, az adott kurzust mely oktató oktatja, a hallgatók jegyeit, a kurzusoknál az oktató munkáját segítő hallgatókat, egy adott kurzust mely tanszék ajánlotta, és minden olyan információt, ami a fentiek megvalósításához szükséges. Megjegyezzük, hogy ez a feladat nagy szabadságot enged a korábbiakhoz képest. Dönteni kell a kapcsolatok típusáról (sok-sok, sok-egy vagy egy-egy), az alkalmas típus megválasztásról, illetve arról, hogy milyen segédinformációkat használunk. 45

Feladatok: Alosztály átírása relációkká 46