Az egyed-kapcsolat modell (E/K)

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

Magas szintő adatbázismodellek

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

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

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 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 I. Jánosi-Rancz Katalin Tünde 327A 1-1

ADATMODELLEZÉS. Az egyed-kapcsolat modell

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

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

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

A relációs adatmodell

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

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

Adatbázis-kezelés. alapfogalmak

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

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

Adatbázis rendszerek Definíciók:

Adatmodellezés. 1. Fogalmi modell

TAJ. foglalkozás. gyógyszer

T Adatbázisok-adatmodellezés

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

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

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

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

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

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

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

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

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

Adatbázisok gyakorlat

Adatbázisok elmélete

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

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

ADATBÁZISOK. 3. gyakorlat E-K modell

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

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

Egyed-kapcsolat modell

Egyed-kapcsolat modell

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

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

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

Adatbázisok - 1. előadás

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

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

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

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

Adatbázis rendszerek 1. 4.Gy: ER modell

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

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

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

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

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

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

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

Bevezetés: az SQL-be

Adatbázis, adatbázis-kezelő

Csima Judit november 15.

ADATBÁZIS-KEZELÉS Demetrovics Katalin

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

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

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

Adatbázisok gyakorlat

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

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

Normalizálási feladatok megoldása

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

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

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

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

Az SQL adatbázisnyelv: DML

SSADM Dokumentáció Adatbázis Alapú Rendszerek

Csima Judit október 24.

Adatbáziskezelés alapjai. jegyzet

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

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

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

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

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

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

ADATBÁZIS-KEZELÉS. Modellek

a nyers adatokat relációs formátumúvá alakítja felkutatja és feloldja az adatelem meghatározásokban az esetleges pontatlanságot/bizonytalanságot

Adatbázisok. Gajdos Sándor

Az adatbáziskezelés alapjai

Adatbázis-kezelés alapjai 1. Ea: Infó Mátrix. Lehet, nem lehet

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.

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

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

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

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Adatbázisok-1 előadás

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

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

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

1. előadás Alapfogalmak Modellezés, a Bachman-féle fogalomrendszer, adatmodell,

Adatbáziskezelés 1 / 12

Objektum orientált programozás Bevezetés

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

Átírás:

Az egyed-kapcsolat modell (E/K) Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 4.1. Az egyed-kapcsolat (E/K) modell 4.2. Tervezési alapelvek 4.3. Megszorítások modellezése 4.4. Gyenge egyedhalmazok 1

Magas szintő adatbázismodellek 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? 2

Magas szintő adatbázismodellek Tervezési fázis A lehetıségeket értékelni, elképzeléseket egyeztetni A 3 szintő ANSI/SPARC architektúra Logikai (külsı, a felhasználói szemléletnek megfelel) Fogalmi (absztrakt, szintetizálja az összes felhasználói szemléletet) Fizikai (belsı, az adatbázis valamilyen fizikai adatstruktúrában letárolva a háttértárolón) 3

Az adatbázis-sématervezés lépései Relációs adatbázisok tervezésének elméletére késıbb a félév végén visszatérünk (Tk.3.fejezete) a feldolgozandó információ elemzése, az információk közti kapcsolatok meghatározása az eredmény ábrázolása (E/K diagram), adatbázisterv készítése (transzformációs lépés), adatbázisterv finomítása (összevonások), megszorítások modellezése, függıségek meghatározása, optimális adatbázisterv készítése, dekomponálás, normalizálás, az adatbázisterv megvalósítása 4

Egyed-kapcsolat modell elemei Egyed-kapcsolat modell E/K modell (Entity-relationship ER) alapfogalmak: Egyedhalmazok 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 5

Egyed-kapcsolat modell elemei 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 nem egyezik meg minden attribútumban (az összes tulajdonság szuperkulcs), minimális szuperkulcs = kulcs 6

Egyed-kapcsolat (E/K) diagram Egyedhalmazok, kapcsolatok, típusok, egyéb feltételezések ábrázolása. egyedhalmaz az elsıdleges kulcshoz tartozó tulajdonságokat aláhúzzuk. név gyártó Sörök 7

Egyed-kapcsolat modell elemei 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. 8

Példa: Kapcsolatok név cím név gyártó Bárok Árul Sörök A bárok söröket árulnak. engedély Jár Szeret Az ivók söröket szeretnek. név Ivók cím Az ivók bárokba járnak. 9

Kapcsolatok típusai K(E1,E2) bináris kapcsolat, sok-egy (n:1) K {(ei,ej)} alakú elıfordulásaiban nem szerepelhet egyszerre (e1,e2) és (e1,e2'), ha e2 és e2' különböznek, másképpen: K elıfordulásaiban minden E1-beli egyedhez legfeljebb 1 E2-beli egyed tartozhat, például: született(név,ország). E1 e2 E2 e1 e2' 10

Kapcsolatok típusai K(E1,E2) bináris kapcsolat, sok-sok (n:m), K {(ei,ej)} alakú elıfordulásai nincsenek korlátozva, elıfordulhat (de nem kötelezı, hogy elıforduljon) az ábrán látható helyzet, vagyis minden E1-beli egyedhez több E2-beli egyed tartozhat, és fordítva, minden E2- beli egyedhez több E1-beli egyed tartozhat, például: tanul(diák,nyelv). E1 e2' E2 e1 e1' e2 11

Kapcsolatok típusai K(E1,E2) bináris kapcsolat, egy-egy (1:1), K {(ei,ej)} alakú elıfordulásai egyszerre sok-egy és egy sok típusúak, vagyis minden E1-beli egyedhez legfeljebb egy E2-beli egyed tartozhat, és fordítva, minden E2-beli egyedhez legfeljebb egy E1-beli egyed tartozhat, nem kötelezıen szerepel minden egyed a kapcsolatban, például: házaspár(férfi,nı). E1 e2 E2 e1 e1' e2' 12

Példa: Két egyedhalmaz között több kapcsolat is lehet Ivók Szeret Sörök Kedvence 13

Példa: Egy egyedhalmaz önmagával is kapcsolódhat: Szerepek (Roles) házaspár A kapcsolat elıfordulása Férj Feleség Bob Ann Joe Sue férj feleség Ivók 14

Példa: 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. 15

Példa: 3-ágú kapcsolatra név cím név gyártó engedély Kocsmák Sörök Kedvencek Ivók Kedvencek kapcsolat helyett egyedhalmazt bevezetve ez a 3-ágú kapcsolat átírható 3db binér kapcsolatra név cím 16

Példa: Kapcsolatnak is lehet attribútuma Kocsmák Árul Sörök ár Az ár a kocsma és sör együttes függvénye, de egyiké sem külön. 17

Tervezés: Attribútum vagy egyedosztály? Kocsmák Árul Sörök Árak ár Olyan számokat (árakat) is lehetıségünk van tárolni, amely értékek még árként nem szerepelnek, de csak ezek a lehetséges árértékek. 18

ISA (az-egy) kapcsolat K(E1,E2) bináris kapcsolat, öröklıdési kapcsolat ("az egy", ISA), "a PC is a computer" = "a PC az egy számítógép", speciális egy-egy kapcsolat, K {(ei,ej)} alakú elıfordulásaiban az összes E1-beli egyed szerepel, például: az_egy(fınök,dolgozó). E1 e2 E2 e1 e1' e2' 19

Példa: Alosztályok és öröklıdés név Sörök gyártó isa szín Alkoholmentes 20

Példa: "Az egy" isa kapcsolatra 21

Példa: Kulcsok A név kulcsa a Sörök-nek név Sörök gyártó isa szín Alkoholmentes 22

Példa: összetett kulcsok tanszék szám idı terem Tárgyak Az elsıdlegesen kívül lehet más kulcs is: (idı, terem) is összetett kulcs. 23

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 kapcsolat. Dupla téglalap: gyenge egyedhalmaz. 24

Gyenge egyedhalmazok Csak a "kié" kapcsolaton keresztül különböztethetık meg a számítógépek. 25

Általánosítás A kapcsolatnak is lehetnek saját tulajdonságai K(E1,,Ep,A1,,Aq), ahol A1,,Aq tulajdonságok, például: index(diák,tárgy,jegy,dátum), ahol a jegy és dátum saját tulajdonság. Általánosított egy-sok többágú kapcsolat K(E1,,Ep) kapcsolat elıfordulásaiban nem szerepelhet egyszerre (e1,e2,,ep) és (e1',e2,,ep), ha e1 és e1' különböznek, vagyis minden (E2,,Ep)- beli p-1-eshez csak 1 E1-beli egyed tartozhat, hasonlóan értelmezhetı bármelyik p-1 egyedosztályra, például: szállít(szállító,áru,ár), ahol feltesszük, hogy egy szállító egy adott árut csak egyféle áron szállíthat 26

Szuperkulcsok, kulcsok, azonosítók Az egyedhalmaz szuperkulcsa egy azonosító, vagyis olyan tulajdonság-halmaz, amelyrıl feltehetı, hogy az egyedhalmaz elıfordulásaiban nem szerepel két különbözı egyed, amelyek ezeken a tulajdonságokon megegyeznek. Az összes tulajdonság mindig szuperkulcs. A minimális szuperkulcsot kulcsnak nevezzük. Az egyedhalmaz (szuper)kulcsai azonosításra használhatók. Több (szuper)kulcs is lehet. Ezek közül egyet kiválasztunk elsıdleges kulcsnak, a többi másodlagos (szuper)kulcs. Ha E1 egyedosztályban szereplı T1,,Tk tulajdonságok halmaza az E2 egyedosztály kulcsa, akkor azt mondjuk, hogy T1,,Tk idegen kulcsa az E1-nek az E2-re nézve, például: diák(etr_kód,név,anyja_neve,szül_idı,lakcím) egyedosztályban a név,anyja_neve,szül_idı idegen kulcs az ösztöndíjas(név,anyja_neve,szül_idı,év,ösztöndíj) egyedosztályra nézve. 27

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 egyedosztály: például a vizsgajegy osztály helyett jegy tulajdonságot használjunk. 28