E/K diagram átírása relációkra



Hasonló dokumentumok
Adatmodellezés, adatbázis-tervezés

Adatmodellezés. Az egyed-kapcsolat modell (EK-diagram) elemei (egyedek, attribútumok, kapcsolatok): attribútum attribútum kapcsolat

- Egyszer (atomi) adat: szám, string, dátum, logikai érték. - Egyed - létez dolog, amelyet tulajdonságokkal írunk le

ADATBÁZIS-KEZELÉS. Funkcionális függés, normál formák

9. 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 16.

Normalizálás. Definíció: Első normálforma (1NF): A reláció minden sorában pontosan egy elemi attribútum érték áll.

Adatbázis-kezelés. 7. SQL Táblák összekapcsolása

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

Magas szintő adatbázismodellek

Kérjük, hogy mielőtt elkezdené használni a Csavarhat webáruházat, gondosan olvassa végig ezt a segédletet.

Csoportosított adatok megjelenítése sorhalmaz függvények használatával

2012. tavaszi félév Vésı Tamás

Programozás I gyakorlat

KOVÁCS BÉLA, MATEMATIKA I.

Felhasználói Kézikönyv Kisbanki NetBOSS - IVR

Segítünk online ügyféllé válni Kisokos

Árverés kezelés ECP WEBSHOP BEÉPÜLŐ MODUL ÁRVERÉS KEZELŐ KIEGÉSZÍTÉS. v ECP WEBSHOP V1.8 WEBÁRUHÁZ MODULHOZ

Az egyed-kapcsolat modell (E/K)

Adatbázisok, adattárh

Osztály szint tagok. Krizsán Zoltán 1 [2012. március 12.] Objektumorientált programozás C# alapokon tananyag

Töltse ki értelemszerűen a vevő nevét, irányítószámát, település, utca házszám mezőket, valamint a partner adószáma mezőket.

Lineáris algebra gyakorlat

A Hozzárendelési feladat megoldása Magyar-módszerrel

MBLK12: Relációk és műveletek (levelező) (előadásvázlat) Maróti Miklós, Kátai-Urbán Kamilla

1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév

Vegyes tételek könyvelése felhasználói dokumentum Lezárva:

Hőszivattyú. Zöldparázs Kft

Számítógépes vírusok

SZÁMÍTÓGÉPES NYELVI ADATBÁZISOK

Áramlástechnikai gépek soros és párhuzamos üzeme, grafikus és numerikus megoldási módszerek (13. fejezet)

DLookup függvény 1. (5)

Relációs adatmodellezés

2011. március 9. Dr. Vincze Szilvia

Házi dolgozat. Minta a házi dolgozat formai és tartalmi követelményeihez. Készítette: (név+osztály) Iskola: (az iskola teljes neve)

E-ADÓ RENSZER HASZNÁLATI ÚTMUTATÓ

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

Fordítóprogramok Készítette: Nagy Krisztián

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Diszkrét matematika I., 11. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 22.

Tartalom. 1. fejezet Bevezetés: ismerkedés a mérleggel...7

I. 4.) Az ajánlatkéra más ajánlatkérak nevében folytatja-e le a közbeszerzési eljárást? nem X

Bank: minden tranzakciónál. Egyetemek: regisztráci. Emberi erőforr. források: alkalmazottak adatainak rögzr

Tájékoztató a szerződés módosításáról_munkaruházati termékek szállítása (5. rész)

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

Útmutató a vízumkérő lap kitöltéséhez

Szusza Ferenc labdarúgó sportlétesítmény fejlesztése

Tisztelt Szülők! Befizetési időszak: augusztus 3. szeptember 15. között. Az alaprendelésnél megszűnik az iskola visszáruzási joga.

G Szabályfelismerés feladatcsomag

ÚTMUTATÓ A KONTROLL ADATSZOLGÁLTATÁS ELKÉSZÍTÉSÉHEZ (2012-TŐL)

ingyenes tanulmány GOOGLE INSIGHTS FOR SEARCH

A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki A hirdetmény kézhezvételének dátuma KÉ nyilvántartási szám

Széchenyi István Egyetem Műszaki Tudományi Kar. A szakdolgozatok közös sablonja (a Kari Tanács i ülésén elfogadva)

A SZERZŐDÉS TELJESÍTÉSÉRE VONATKOZÓ INFORMÁCIÓK

Címzett: Markus Goddemeier Fax: +49 (0)

8. melléklet a 92/2011. (XII. 30.) NFM rendelethez A SZERZŐDÉS TELJESÍTÉSÉRE VONATKOZÓ INFORMÁCIÓK I. SZAKASZ: A SZERZŐDÉS ALANYAI

irányítószám: Ország: Magyarország

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Középiskolai felvételi eljárás tanév

Az éves statisztikai összegezés. Statisztikai összegezés az éves közbeszerzésekrıl a Kbt. IV. és VI. fejezete szerinti ajánlatkérık vonatkozásában

A fizetési mérleg alakulása a májusi adatok alapján

Az informatika oktatás téveszméi

[MECHANIKA- HAJLÍTÁS]

A fizetési mérleg alakulása a áprilisi adatok alapján

Adatgyőjtés, mérési alapok, a környezetgazdálkodás fontosabb mőszerei

Puskás Tivadar Távközlési Technikum

A döntő feladatai. valós számok!

beállítások a postafiók használatához

Beállítások CLASSBOOK-óratervező. Első belépés

Keresetlevél beterjesztő irat

SZAKÁLL SÁNDOR, ÁsVÁNY- És kőzettan ALAPJAI

BEVALLÁS lakás céljára szolgáló építményről, adatváltozásról

EU közösségi adószámok megerősítése

I. Internet Bank forint eseti átutalási megbízásokhoz használt import adatállomány szerkezete

Spiel der Türme TORNYOK JÁTÉKA

Belépési útmutató a MIAG weboldalra

Szállítási információk

MATEMATIKA HETI 3 ÓRA

Többfelhasználós adatbázis környezetek, tranzakciók, internetes megoldások

Conjoint-analízis példa (egyszerűsített)

PÉLDA(3): A társaság kölcsönadott a B társaságnak 1000 összeget szeptember 1- jén, 1 évre. A kamat mértéke 12 %, amely negyedévente esedékes.

[GVMGS11MNC] Gazdaságstatisztika

SZECSENYFELFALU KÖZSÉG ÖNKORMÁNYZATA KÉPVISELŐ - TESTÜLETE

MINTA. Fizetendô összeg: ,00 HUF. Telefonon: / ben: Interneten:

Analízis elo adások. Vajda István október 3. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

HENYIR felhasználói dokumentáció

Vodafone ReadyPay. Használati útmutató

Módosult A referencia-intézmények országos hálózatának kialakítása és felkészítése címő pályázatok dokumentációja

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

A táblázatkezelő felépítése

Keretszerződés költöztetési, szállítási feladatok ellátására a Pécsi Tudományegyetemen-2- AF módosítás

Párhuzamos programozás

Analízis elo adások. Vajda István szeptember 24. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

A besorolási rekord. Tóvári Judit Honlap:

MATEMATIKA ÍRÁSBELI VIZSGA május 3.

11. számú melléklet - FHB Bankszámlacsomagokhoz kapcsolódó Betéti bankkártyák egyéb díjai, jutalékai

Fazekas Mihály Fővárosi Gyakorló Általános Iskola és Gimnázium

Épületvillamosság laboratórium. Villámvédelemi felfogó-rendszer hatásosságának vizsgálata

KORREKCIÓZÁS FŐKÖNYVI FELADÁS UTÁN

TÁJÉKOZTATÓ A SZERZ DÉS MÓDOSÍTÁSÁRÓL I. SZAKASZ: A SZERZ DÉS ALANYAI I.1) AZ AJÁNLATKÉR KÉNT SZERZ D FÉL NEVE ÉS CÍME

Átírás:

E/K diagram átírása relációkra Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 4.5. E/K diagram átírása relációs modellé 4.6. Osztályhierarchia átalakítása relációkká A Tankönyvbıl nem szerepel a tananyagban: UML, ODL 1

Egy könyvtár adatmodellje 2

Példa-1: KÖNYV (könyvszám, szerzı, cím) OLVASÓ (olvasószám, név, lakcím) KÖLCSÖN (könyvszám, olvasószám, kivétel, visszahozás) 3

Összetett attribútumok leképezése Tegyük fel, hogy az OLVASÓ táblában a lakcím attribútumot (helység, utca, házszám) struktúraként szeretnénk kezelni. Relációs adatmodellben erre egyetlen lehetıség van: az OLVASÓ (olvasószám, név, lakcím) séma helyett a OLVASÓ (olvasószám, név, helység, utca, házszám) sémára térünk át. 4

Többértékő attribútumok leképezése ---1 Kérdés, hogy többszerzıs könyveket hogyan tartsunk nyilván az adatbázisban. 1. Megadás egyértékő attribútumként. A szerzı megadására szolgáló szövegmezıben felsoroljuk a szerzıket. Hátrányok: a szerzıket külön-külön nem tudjuk kezelni. sok szerzı esetleg nem fér el a megadott mezıben 5

Többértékő attribútumok leképezése --- 2 2. Megadás többértékő attribútumként. a) Sorok többszörözése. A KÖNYV táblában egy könyvhöz annyi sort veszünk fel, ahány szerzıje van: Könyvszám Szerzı Cím 1121 Ullman Adatbázisok 1121 Widom Adatbázisok 3655 Radó Világatlasz 2276 Karinthy Így írtok ti 1782 Jókai Aranyember A megfelelı relációséma: KÖNYV (könyvszám, szerzı, cím) A fenti megoldás hátránya, hogy a többszerzıs könyvek címét több példányban kell megadni, ami redundanciát jelent. 6

Többértékő attribútumok leképezése --- 3 2. Megadás többértékő attribútumként. b) új tábla felvétele. A KÖNYV (könyvszám, szerzı, cím) sémát az alábbi két sémával helyettesítjük: KÖNYV (könyvszám, cím) SZERZİ (könyvszám, szerzı) 7

Többértékő attribútumok leképezése --- 4 2. Megadás többértékő attribútumként. c) Sorszámozás. Ha a szerzık sorrendje nem közömbös, akkor a SZERZİ táblát egy sorszám mezıvel kell bıvíteni (emlékeztetünk rá, hogy a relációs adatmodell nem definiálja a rekordok sorrendjét): KÖNYV (könyvszám, cím) SZERZİ (könyvszám, sorszám, szerzı) 8

Kapcsolatok leképezése 1. változat: Ha egy olvasónak egyszerre csak egy könyvet adnak ki, akkor a kölcsönzés 1:1 kapcsolatot jelent. Ilyenkor a KÖLCSÖN sémában a könyvszám és az olvasószám egyaránt kulcs. Továbbá, a visszahozás attribútumra nincs szükségünk, mivel a könyv visszahozásával a könyv-olvasó kapcsolat megszőnik. Tehát, a KÖLCSÖN (könyvszám, olvasószám, kivétel) vagy a KÖLCSÖN (könyvszám, olvasószám, kivétel) sémát vehetjük fel a kapcsolathoz. A KÖLCSÖN sémát az azonos kulcsú sémába olvasztva a KÖNYV (könyvszám, szerzı, cím, olvasószám, kivétel) OLVASÓ (olvasószám, név, lakcím) vagy a KÖNYV (könyvszám, szerzı, cím) OLVASÓ (olvasószám, név, lakcím, könyvszám, kivétel) adatbázissémákat kapjuk. 9

Kapcsolatok leképezése 2. változat: Ha egy olvasó több könyvet is kikölcsönözhet, akkor a könyv-olvasó kapcsolat N:1 típusú. Ekkor a KÖLCSÖN sémában csak a könyvszám lehet kulcs, ezért a KÖLCSÖN sémát csak a KÖNYV sémába olvaszthatjuk: KÖNYV (könyvszám, szerzı, cím, olvasószám, kivétel) OLVASÓ (olvasószám, név, lakcím) 10

Kapcsolatok leképezése 3. változat: Ha az egyes könyvek korábbi kölcsönzéseit is nyilvántartjuk, akkor nem csak egy olvasóhoz tartozhat több könyv, hanem egy könyvhöz is több olvasó (N:M kapcsolat), sıt adott olvasó adott könyvet egymás után többször is kikölcsönözhet. Ezért a KÖLCSÖN sémában {könyvszám, kivétel} vagy {könyvszám, visszahozás} a kulcs, a KÖLCSÖN táblát most sem a KÖNYV, sem az OLVASÓ táblába nem tudjuk beolvasztani. Az adatbázisséma ezért a következı: KÖNYV (könyvszám, szerzı, cím) OLVASÓ (olvasószám, név, lakcím) KÖLCSÖN (könyvszám, olvasószám, kivétel, visszahozás) 11

Példa-2: E/K diagramra, leképezésre relációkra Modellezzük egy áruháznak, dolgozóinak, vevıinek és beszállítóinak rendszerét! Feltételezések: az áruház minden osztályát legfeljebb egy ember vezeti, minden dolgozó legfeljebb egy osztályon dolgozik, az áruházak osztályai felelısek az áruk beszerzéséért, minden szállító legfeljebb egyféle áron szállít egy árut, egy rendelést legfeljebb egy vevıhöz tartozhat, minden rendelésen egy cikkhez legfeljebb egy rendelt mennyiség tartozhat. 12

dolgozó az egy fınök dnév fizetés szállító dolgozik vezet szállít snév scím osztály beszerez cikk ár onév oszám cnév cszám tartalmaz mennyi rendelés rszám dátum felad vásárló vnév vcím egyenleg 13

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

E/K diagram átírása relációs adatbázistervre A transzformálás elıtt a tulajdonságokat átnevezhetjük, hogy a relációsémában ne szerepeljen kétszer ugyanaz az attribútum. Az az_egy kapcsolat esetén a speciális osztály saját attribútumaihoz hozzávesszük az általános osztály (szuper)kulcsát. Ha R(E1,E2) sok-egy kapcsolat, akkor R(K1,K2) relációsémának a K1 szuperkulcsa lesz. 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. 15

Az Áruház diagram átalakítása adatbázistervvé Az egyedosztályok átalakítása: dolgozó(dnév, fizetés) fönök(dnév) osztály(onév,oszám) szállító(snév,scím) cikk(cnév,cszám) rendelés(rszám,dátum) vásárló(vnév,vcím,egyenleg) A kapcsolatok átalakítása: dolgozik(dnév,oszám) Összesen 13 relációsémát kaptunk! vezet(dnév,oszám) beszerez(cszám,oszám) szállít(cszám,sznév,ár) tartalmaz(rszám,cszám,mennyi) felad(rszám,vnév) 16

Összevonások Két relációsémát összevonhatunk, ha az egyikben van idegen (szuper)kulcs a másikra nézve. E1(A1,,An,B1,,Bm) és E2(B1,,Bm,C1,,Cp) helyett E3(A1,,An,B1,,Bm,C1,,Cp) relációsémát vehetjük, ha B1,,Bm az E2 elsıdleges, vagy másodlagos (szuper)kulcsa. Az összevonás eredményét felhasználhatjuk újabb összevonásokban. 17

Összevonások eredménye dolgozó(dnév,fizetés,oszám) dolgozó+dolgozik összevonása osztály(onév,oszám,dnév) vezet+osztály+fınök összevonása szállító(snév,scím) cikk(cnév,cszám,oszám) cikk+beszerez összevonása rendelés(rszám,dátum,vnév) rendelés+felad összevonása vásárló(vnév,vcím,egyenleg) szállít(snév,cszám,ár) tartalmaz(rszám,cszám,mennyi) Összesen 8 relációsémát kaptunk! 18

Példa-3: Kapcsolat átírása relációkká név cím név gyártó Ivók Szereti Sörök férje 1 2 Cimbora neje Kedvenc Szereti(ivó, sör) Kedvenc(ivó, 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 célszerő átnevezni, például a szerepek alapján. Egyébként is (név,név) séma nem szerepelhetne. 19

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: Ivók(név, cím) és Kedvenc(ivó,sör) összevonható, és kapjuk az Ivó1(név,cím,kedvencSöre) sémát. 20

Példa-4: 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 21

Példa-5: Alosztály átírása relációkká név Sörök gyártó szín isa Alkoholmentes 22

Alosztályok átírása: három megközelítés 1. Objektumorientált stílusban: Egy reláció minden alosztályra, felsorolva az összes tulajdonságot, beleértve az örökölteket is. 2. 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. 3. 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. 23

Objektumorientált stílusú reprezentálás 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. 24

Nullértékek használatával 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ő. 25

E/K stílusú 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. 26

Példa-6: Alosztály átírása relációkká 27

Specializáló kapcsolatok leképezése --- 1 1. Minden altípushoz külön tábla felvétele, egy egyed csak egy táblában szerepel. Az altípusok öröklik a fıtípus attribútumait. (Objektumorientált stílusú reprezentálás) HELYISÉG (épület, ajtószám, név, alapterület) TANTEREM (épület, ajtószám, név, alapterület, férıhely, tábla, vetítı) GÉPTEREM (épület, ajtószám, név, alapterület, gépszám) IRODA (épület, ajtószám, név, alapterület, telefon, fax) DOLGOZÓ (adószám, név, lakcím, épület, ajtószám) Hátrányok: Kereséskor gyakran több táblát kell vizsgálni (ha például a D épület 803. sz. terem alapterületét keressük). Kombinált altípus (például számítógépes tanterem) csak új altípus felvételével kezelhetı. 28

Specializáló kapcsolatok leképezése --- 2 2. Minden altípushoz külön tábla felvétele, egy egyed több táblában is szerepelhet. A fıtípus táblájában minden egyed szerepel, és annyi altípuséban ahánynak megfelel. Az altípusok a fıtípustól csak a kulcs-attribútumokat öröklik. (E/K stílusú reprezentálás.) HELYISÉG (épület, ajtószám, név, alapterület) TANTEREM (épület, ajtószám, férıhely, tábla, vetítı) GÉPTEREM (épület, ajtószám, gépszám) IRODA (épület, ajtószám, telefon, fax) DOLGOZÓ (adószám, név, lakcím, épület, ajtószám) Hátrány: Itt is elıfordulhat, hogy több táblában kell keresni (például ha a tantermek nevére és férıhelyére vagyunk kíváncsiak). 29

Specializáló kapcsolatok leképezése --- 3 3. Egy közös tábla felvétele, az attribútumok uniójával. Az aktuálisan értékkel nem rendelkezı attribútumok NULL értékőek. (Reprezentálás nullértékekkel) HELYISÉG (épület, ajtószám, név, alapterület, férıhely, tábla, vetítı, gépszám, telefon, fax) DOLGOZÓ (adószám, név, lakcím, épület, ajtószám) Hátrányok: Az ilyen egyesített táblában általában sok NULL attribútumérték szerepel. Elveszíthetjük a típusinformációt (például ha a gépteremnél a gépszám nem ismert és ezért NULL, akkor a gépterem lényegében az egyéb helyiségek kategóriájába kerül). 30