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

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

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

Egyed-kapcsolat modell

Adatbázisok elmélete

Egyed-kapcsolat modell

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

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

Adatbázisok elmélete

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

Csima Judit szeptember 6.

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

Az egyed-kapcsolat modell (E/K)

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

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

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

A relációs adatmodell

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

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

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

ügyfél. Adatbázisok elmélete 2. előadás. Korai modellek. Adatbáziskezelő rendszerek története. Első rendszerek

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

Adatbázisok gyakorlat

T Adatbázisok-adatmodellezés

Adatbázis-kezelés. alapfogalmak

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

Adatbázisok - 1. előadás

1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai

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

ADATMODELLEZÉS. Az egyed-kapcsolat modell

ADATBÁZISOK ELMÉLETE 2. ELŐADÁS 1/26 Adatbáziskezelő rendszerek története Ősei a file-kezelők; ezek nem teljesítik ugyan azokat az elvárásokat, amiket

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

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

Adatbázis rendszerek Definíciók:

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

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

Adatbázismodellek. 1. ábra Hierarchikus modell

ADATBÁZIS-KEZELÉS Demetrovics Katalin

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

Csima Judit október 24.

Bevezetés: Relációs adatmodell

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

Adatmodellezés. 1. Fogalmi modell

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

2014. szeptember 24. és 26. Dr. Vincze Szilvia

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

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

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ázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

ADATBÁZIS-KEZELÉS. Modellek

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

Adatbázis rendszerek 7. Matematikai rendszer amely foglal magában:

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

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

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

Relációs algebra lekérdezések optimalizációja. Adatbázisok használata

Adatbázis rendszerek. dr. Siki Zoltán

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

Adatbázisok elmélete

7. Gyakorlat A relációs adatmodell műveleti része

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.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

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

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

Bevezetés: Relációs adatmodell

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

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ázis rendszerek. 4. előadás Redundancia, normalizálás

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

ADATBÁZIS RENDSZEREK. Attributum típusok, normalizálsá, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

Adatbázis Rendszerek

Csima Judit szeptember 6.

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

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

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

ADATBÁZISOK. 3. gyakorlat E-K modell

Adatbázis, adatbázis-kezelő

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

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

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

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.

Adatigények. Koncepcionális séma (magas szintű modell) Logikai séma (alacsony szintű modell) Belső séma (fizikai szerkezet, hozzáférési módok)

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

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

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

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

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

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

Adatmodellek komponensei

Sor és oszlopkalkulus

Nagy Gábor compalg.inf.elte.hu/ nagy

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

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

Csima Judit november 15.

Objektum orientált programozás Bevezetés

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

ADATBÁZIS RENDSZEREK. Attributum típusok, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

Átírás:

Adatbázisok elmélete 4. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 1/24 Megszorítások megadása ODL-ben 1. Kulcs: lehet egy vagy több kulcs

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 1/24 Megszorítások megadása ODL-ben 1. Kulcs: lehet egy vagy több kulcs egy kulcs állhat egy vagy több attribútumból

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 1/24 Megszorítások megadása ODL-ben 1. Kulcs: lehet egy vagy több kulcs egy kulcs állhat egy vagy több attribútumból Megadása formailag: interface <Osztálynév> (Kulcsinfók){... } ahol a Kulcsinfók = key(s) K 1,..., K n ahol K i egy kulcsleírás, ami <attribútumnév>, ha a kulcs egy attribútumból áll vagy (< at tr 1 >,..., < at tr n >), ha a kulcs több attribútumos.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 1/24 Megszorítások megadása ODL-ben 1. Kulcs: lehet egy vagy több kulcs egy kulcs állhat egy vagy több attribútumból Megadása formailag: interface <Osztálynév> (Kulcsinfók){... } ahol a Kulcsinfók = key(s) K 1,..., K n ahol K i egy kulcsleírás, ami <attribútumnév>, ha a kulcs egy attribútumból áll vagy (< at tr 1 >,..., < at tr n >), ha a kulcs több attribútumos. Például: interface Film (key (cím, év)) {... } itt egy darab kulcs van, ami két attribútumból áll, ezek együtt azonosítanak egy objektumot

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 1/24 Megszorítások megadása ODL-ben 1. Kulcs: lehet egy vagy több kulcs egy kulcs állhat egy vagy több attribútumból Megadása formailag: interface <Osztálynév> (Kulcsinfók){... } ahol a Kulcsinfók = key(s) K 1,..., K n ahol K i egy kulcsleírás, ami <attribútumnév>, ha a kulcs egy attribútumból áll vagy (< at tr 1 >,..., < at tr n >), ha a kulcs több attribútumos. Például: interface Film (key (cím, év)) {... } itt egy darab kulcs van, ami két attribútumból áll, ezek együtt azonosítanak egy objektumot interface Dolgozó (key dolgozóid, tbszám) {... } itt két egy-attribútumos kulcs van, mindegyik külön-külön azonosít

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 2/24 interface Ügyfél (key szemszám) { attribute string név; attribute string lakcím; attribute int telefonszám; attribute int szemszám; relationship Set<Számla> számlái; inverse Számla::tulajdonosai; }; Korábbi példa

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 2/24 Korábbi példa interface Ügyfél (key szemszám) { attribute string név; attribute string lakcím; attribute int telefonszám; attribute int szemszám; relationship Set<Számla> számlái; inverse Számla::tulajdonosai; }; interface Számla (key számlaszám) { attribute int számlaszám; attribute string típus; attribute int egyenleg; relationship Set<Ügyfél> tulajdonosai; inverse Ügyfél::számlái; };

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 3/24 Megszorítások megadása ODL-ben 2. Egyértékűség az ODL-ben: Kulcs-szerű megszorítás jól leírható (lásd előbb)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 3/24 Megszorítások megadása ODL-ben 2. Egyértékűség az ODL-ben: Kulcs-szerű megszorítás jól leírható (lásd előbb) Az attribútumok és a kapcsolatok többességének szabályozására: a kollekcióoperátorok használata/nem használata. Így előírható, hogy egy attribútum/kapcsolat csak egy értéket vehessen fel.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 3/24 Megszorítások megadása ODL-ben 2. Egyértékűség az ODL-ben: Kulcs-szerű megszorítás jól leírható (lásd előbb) Az attribútumok és a kapcsolatok többességének szabályozására: a kollekcióoperátorok használata/nem használata. Így előírható, hogy egy attribútum/kapcsolat csak egy értéket vehessen fel. Egyértékűséget kétféleképpen is lehet érteni: legfeljebb egy értéken vehessen fel valami (ekkor esetleg állhat NULL-érték is bizonyos helyeken, ami jelentheti azt, hogy nincs megfelelő érték, vagy hogy van, de nem ismert), pontosan egyet vehessen fel (pl. kulcsattribútum nem lehet NULL). Hogy melyik megközelítés van, az rendszerfüggő.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 3/24 Megszorítások megadása ODL-ben 2. Egyértékűség az ODL-ben: Kulcs-szerű megszorítás jól leírható (lásd előbb) Az attribútumok és a kapcsolatok többességének szabályozására: a kollekcióoperátorok használata/nem használata. Így előírható, hogy egy attribútum/kapcsolat csak egy értéket vehessen fel. Egyértékűséget kétféleképpen is lehet érteni: legfeljebb egy értéken vehessen fel valami (ekkor esetleg állhat NULL-érték is bizonyos helyeken, ami jelentheti azt, hogy nincs megfelelő érték, vagy hogy van, de nem ismert), pontosan egyet vehessen fel (pl. kulcsattribútum nem lehet NULL). Hogy melyik megközelítés van, az rendszerfüggő. A NULL érték megjelenítésére eszközök az ODL-ben: értelmezési tartományon kívüli érték (film hossza -1),

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 3/24 Megszorítások megadása ODL-ben 2. Egyértékűség az ODL-ben: Kulcs-szerű megszorítás jól leírható (lásd előbb) Az attribútumok és a kapcsolatok többességének szabályozására: a kollekcióoperátorok használata/nem használata. Így előírható, hogy egy attribútum/kapcsolat csak egy értéket vehessen fel. Egyértékűséget kétféleképpen is lehet érteni: legfeljebb egy értéken vehessen fel valami (ekkor esetleg állhat NULL-érték is bizonyos helyeken, ami jelentheti azt, hogy nincs megfelelő érték, vagy hogy van, de nem ismert), pontosan egyet vehessen fel (pl. kulcsattribútum nem lehet NULL). Hogy melyik megközelítés van, az rendszerfüggő. A NULL érték megjelenítésére eszközök az ODL-ben: értelmezési tartományon kívüli érték (film hossza -1), felsorolástípusnál külön megadva (enum szalagfajta {ff, sz, null}).

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 4/24 3. Hivatkozási épség: Cél, hogy ha valahol van valamire hivatkozás, akkor az létezzen is. Pl. ha a Filmnél van mutató egy Stúdióra, mint gyártóra, akkor legyen olyan stúdió a Stúdió osztályban.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 4/24 3. Hivatkozási épség: Cél, hogy ha valahol van valamire hivatkozás, akkor az létezzen is. Pl. ha a Filmnél van mutató egy Stúdióra, mint gyártóra, akkor legyen olyan stúdió a Stúdió osztályban. Erre figyelni bonyolult: ne lehessen úgy filmet felvenni, hogy nincs hozzá stúdió

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 4/24 3. Hivatkozási épség: Cél, hogy ha valahol van valamire hivatkozás, akkor az létezzen is. Pl. ha a Filmnél van mutató egy Stúdióra, mint gyártóra, akkor legyen olyan stúdió a Stúdió osztályban. Erre figyelni bonyolult: ne lehessen úgy filmet felvenni, hogy nincs hozzá stúdió ne lehessen ész nélkül stúdiót törölni

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 4/24 3. Hivatkozási épség: Cél, hogy ha valahol van valamire hivatkozás, akkor az létezzen is. Pl. ha a Filmnél van mutató egy Stúdióra, mint gyártóra, akkor legyen olyan stúdió a Stúdió osztályban. Erre figyelni bonyolult: ne lehessen úgy filmet felvenni, hogy nincs hozzá stúdió ne lehessen ész nélkül stúdiót törölni Az ODL az egész hivatkozási épség kérdést a megvalósítás szintjére tolja át.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 4/24 3. Hivatkozási épség: Cél, hogy ha valahol van valamire hivatkozás, akkor az létezzen is. Pl. ha a Filmnél van mutató egy Stúdióra, mint gyártóra, akkor legyen olyan stúdió a Stúdió osztályban. Erre figyelni bonyolult: ne lehessen úgy filmet felvenni, hogy nincs hozzá stúdió ne lehessen ész nélkül stúdiót törölni Az ODL az egész hivatkozási épség kérdést a megvalósítás szintjére tolja át. 4. Értelmezési tartomány megszorítása és egyéb megkötések: Az értelmezési tartomány megszorítására a típusok vannak, további szűkítést nem támogat. A kapcsolat fokát lehet korlátozni az Array kollekcióoperátor használatával (Array<Színész, 10> esetén csak 10 színészt tartunk nyilván).

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 5/24 Megszorítások E/K modellben 1. Kulcsok: egy kulcsot aláhúzással jelölünk (a kulcsba tartozó attribútumokat aláhúzzuk), a többi kulcsot az ábrán nem lehet jelölni, ezeket szövegesen mellékeljük.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 5/24 Megszorítások E/K modellben 1. Kulcsok: egy kulcsot aláhúzással jelölünk (a kulcsba tartozó attribútumokat aláhúzzuk), a többi kulcsot az ábrán nem lehet jelölni, ezeket szövegesen mellékeljük. CÍM TELSZÁM SZÁMA NÉV ÜGYFELEK SZÁMLÁJA SZÁMLÁK TÍPUSA SZEMSZÁM EGYENLEG 2. Egyértékűség: egyszerű attribútumok használata = minden attribútum egyértékű az E/K modellben (általában lehet NULL-érték is, ha mégsem, akkor írásban jelezhető)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 5/24 Megszorítások E/K modellben 1. Kulcsok: egy kulcsot aláhúzással jelölünk (a kulcsba tartozó attribútumokat aláhúzzuk), a többi kulcsot az ábrán nem lehet jelölni, ezeket szövegesen mellékeljük. CÍM TELSZÁM SZÁMA NÉV ÜGYFELEK SZÁMLÁJA SZÁMLÁK TÍPUSA SZEMSZÁM EGYENLEG 2. Egyértékűség: egyszerű attribútumok használata = minden attribútum egyértékű az E/K modellben (általában lehet NULL-érték is, ha mégsem, akkor írásban jelezhető) kapcsolatnál: nyilakkal jelezhető, ha valamerre egy a kapcsolat

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 6/24 3. Hivatkozási épség: lehet a rajzon jelezni, ha egy kapcsolatnál azt szeretnénk, hogy pontosan egy egyed tartozzon egy kiválasztott egyedhez. Ilyenkor kerek nyilat használunk: Film gyárt Stúdió Ebben az esetben minden filmhez pontosan egy stúdiónak kell tartoznia.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 6/24 3. Hivatkozási épség: lehet a rajzon jelezni, ha egy kapcsolatnál azt szeretnénk, hogy pontosan egy egyed tartozzon egy kiválasztott egyedhez. Ilyenkor kerek nyilat használunk: Film gyárt Stúdió Ebben az esetben minden filmhez pontosan egy stúdiónak kell tartoznia. 4. Értelmezési tartományra vonatkozó megkötések és egyéb megszorítások: Értelmezési tartomány: típussal.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 6/24 3. Hivatkozási épség: lehet a rajzon jelezni, ha egy kapcsolatnál azt szeretnénk, hogy pontosan egy egyed tartozzon egy kiválasztott egyedhez. Ilyenkor kerek nyilat használunk: Film gyárt Stúdió Ebben az esetben minden filmhez pontosan egy stúdiónak kell tartoznia. 4. Értelmezési tartományra vonatkozó megkötések és egyéb megszorítások: Értelmezési tartomány: típussal. Egyéb: kapcsolat fokát lehet itt is korlátozni, pl: Film szerepel <10 Színész Ekkor egy filmhez 10-nél kevesebb színészt rendelünk.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 7/24 Gyenge egyedhalmazok Az E/K modell sajátossága. Egy egyedhalmaz akkor gyenge egyedhalmaz, ha az egyedeit nem azonosítják az attribútumai, csak a kapcsolatokkal együtt. (ODL-nél nincs ez a dolog, mert ott az egyedi OID mindig azonosít.)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 7/24 Gyenge egyedhalmazok Az E/K modell sajátossága. Egy egyedhalmaz akkor gyenge egyedhalmaz, ha az egyedeit nem azonosítják az attribútumai, csak a kapcsolatokkal együtt. (ODL-nél nincs ez a dolog, mert ott az egyedi OID mindig azonosít.) Jelölés: dupla téglalap az egyedhalmaznak és dupla rombusz azoknak a kapcsolatoknak, amiken keresztül megy az azonosítás.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 7/24 Gyenge egyedhalmazok Az E/K modell sajátossága. Egy egyedhalmaz akkor gyenge egyedhalmaz, ha az egyedeit nem azonosítják az attribútumai, csak a kapcsolatokkal együtt. (ODL-nél nincs ez a dolog, mert ott az egyedi OID mindig azonosít.) Jelölés: dupla téglalap az egyedhalmaznak és dupla rombusz azoknak a kapcsolatoknak, amiken keresztül megy az azonosítás. A gyenge egyedhalmaznál az aláhúzott attribútumok belekerülnek a gyenge egyedhalmaz kulcsába, de még más attribútumok is hozzájönnek ehhez: azok, amik a duplarombuszos kapcsolat(ok) végén álló egyedhalmaz(ok) kulcsai.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 8/24 Példák: 1. Amikor a többágú kapcsolatot binárissá írtuk át, akkor olyan egyedhalmaz keletkezik (a kapcsolatból), aminek általában nincs is attribútuma, ezért ennek az egyedhalmaznak az egyedeit csak a kapcsolatokon át lehet azonosítani.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 8/24 Példák: 1. Amikor a többágú kapcsolatot binárissá írtuk át, akkor olyan egyedhalmaz keletkezik (a kapcsolatból), aminek általában nincs is attribútuma, ezért ennek az egyedhalmaznak az egyedeit csak a kapcsolatokon át lehet azonosítani. A filmes példa esetén a Szerződés egyedhalmaz egyedeit a kapcsolódó egyedhalmazok (Film, Színész, Stúdió) kulcsattribútumai azonosítják: film címe, gyártási éve, színész neve, stúdió neve. Ha ezek adottak, akkor már csak egy szerződés lehet, ami ezekre vonatkozik.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 8/24 Példák: 1. Amikor a többágú kapcsolatot binárissá írtuk át, akkor olyan egyedhalmaz keletkezik (a kapcsolatból), aminek általában nincs is attribútuma, ezért ennek az egyedhalmaznak az egyedeit csak a kapcsolatokon át lehet azonosítani. A filmes példa esetén a Szerződés egyedhalmaz egyedeit a kapcsolódó egyedhalmazok (Film, Színész, Stúdió) kulcsattribútumai azonosítják: film címe, gyártási éve, színész neve, stúdió neve. Ha ezek adottak, akkor már csak egy szerződés lehet, ami ezekre vonatkozik. Szerzõdés Film Stúdió név cím hossz év Színész név

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 9/24 2. Ebben a példában a csoport neve még önmagában nem kulcs (sok cégnél lehet pl. HR csoport), sőt a címmel együtt sem feltétlenül azonosít egy csoportot, de ha a kapcsolaton keresztül a céget is bevesszük az azonosításba, úgy már egyértelmű lesz, hogy melyik csoportról beszélünk. név név Csoport Része Cég cím cím

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 10/24 Követelmények az azonosító kapcsolatra A gyenge egyedhalmaz kulcsában benne lehetnek saját attribútumai (mint az előbb a Csoport neve) és biztosan vannak benne olyan attribútumok, amiket duplarombuszos kapcsolat(ok)on keresztül szerez.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 10/24 Követelmények az azonosító kapcsolatra A gyenge egyedhalmaz kulcsában benne lehetnek saját attribútumai (mint az előbb a Csoport neve) és biztosan vannak benne olyan attribútumok, amiket duplarombuszos kapcsolat(ok)on keresztül szerez. Követelmények ezekre a kapcsolatokra: 1. Ha az E gyenge egyedhalmaz kulcsattribútumot szerez egy F egyedhalmaztól az R kapcsolaton át, akkor R legyen több-egy E-ből F-be. (Így egy E-belihez egyértelműen tartozik egy F-beli).

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 10/24 Követelmények az azonosító kapcsolatra A gyenge egyedhalmaz kulcsában benne lehetnek saját attribútumai (mint az előbb a Csoport neve) és biztosan vannak benne olyan attribútumok, amiket duplarombuszos kapcsolat(ok)on keresztül szerez. Követelmények ezekre a kapcsolatokra: 1. Ha az E gyenge egyedhalmaz kulcsattribútumot szerez egy F egyedhalmaztól az R kapcsolaton át, akkor R legyen több-egy E-ből F-be. (Így egy E-belihez egyértelműen tartozik egy F-beli). 2. Egy attribútum pontosan akkor kerül bele az E gyenge egyedhalmaz kulcsába, ha benne van az F egyedhalmaz kulcsában is. Megjegyzés: természetesen F is lehet gyenge egyedhalmaz.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 11/24 Példa Tervezzen E/K diagrammot egy egyetemi nyilvántartáshoz, ahol hallgatókat és az általuk szerzett jegyeket tartjuk nyilván. Vegyünk három egyedhalmazt: hallgató, kurzus, kurzusfelvétel (ez utóbbi kapcsoló egyedhalmaz a hallgatók és kurzusok között, ennél reprezantáljuk a kapott érdemjegyet is). Adjuk meg ezt E/K diagrammal, jelöljük a gyenge egyedhalmazokat és a kulcsokat is.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 11/24 Példa Tervezzen E/K diagrammot egy egyetemi nyilvántartáshoz, ahol hallgatókat és az általuk szerzett jegyeket tartjuk nyilván. Vegyünk három egyedhalmazt: hallgató, kurzus, kurzusfelvétel (ez utóbbi kapcsoló egyedhalmaz a hallgatók és kurzusok között, ennél reprezantáljuk a kapott érdemjegyet is). Adjuk meg ezt E/K diagrammal, jelöljük a gyenge egyedhalmazokat és a kulcsokat is. Neptun kód név érdemjegy tárgykód tárgycím Hallgató Hallg k Kurzus felvétel Kurzus k Kurzus félév oktató

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 11/24 Példa Tervezzen E/K diagrammot egy egyetemi nyilvántartáshoz, ahol hallgatókat és az általuk szerzett jegyeket tartjuk nyilván. Vegyünk három egyedhalmazt: hallgató, kurzus, kurzusfelvétel (ez utóbbi kapcsoló egyedhalmaz a hallgatók és kurzusok között, ennél reprezantáljuk a kapott érdemjegyet is). Adjuk meg ezt E/K diagrammal, jelöljük a gyenge egyedhalmazokat és a kulcsokat is. Neptun kód név érdemjegy tárgykód tárgycím Hallgató Hallg k Kurzus felvétel Kurzus k Kurzus félév oktató Döntsük el, hogy az érdemjegy része-e a kurzusfelvételt reprezentáló egyedhalmaz kulcsának?

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 11/24 Példa Tervezzen E/K diagrammot egy egyetemi nyilvántartáshoz, ahol hallgatókat és az általuk szerzett jegyeket tartjuk nyilván. Vegyünk három egyedhalmazt: hallgató, kurzus, kurzusfelvétel (ez utóbbi kapcsoló egyedhalmaz a hallgatók és kurzusok között, ennél reprezantáljuk a kapott érdemjegyet is). Adjuk meg ezt E/K diagrammal, jelöljük a gyenge egyedhalmazokat és a kulcsokat is. Neptun kód név érdemjegy tárgykód tárgycím Hallgató Hallg k Kurzus felvétel Kurzus k Kurzus félév oktató Döntsük el, hogy az érdemjegy része-e a kurzusfelvételt reprezentáló egyedhalmaz kulcsának? Az érdemjegy nem része a kurzusfelvétel egyedhalmaz kulcsának, ezen egyedhalmaz kulcsa a két kapcsolaton keresztül jön: a hallgatótól a neptun-kód, a tárgytól meg a tárgykód és a félév.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 12/24 Példa Tervezzen E/K diagrammot a következőre és jelölje a rajzon a kulcsokat és a gyenge egyedhalmazokat: Egyedhalmazok: Kurzusok, Tanszékek. Egy kurzust egy tanszék hirdet meg, de azt csak egy számmal azonosítja. Különböző tanszékek adhatják ugyanazt a számot a kurzusuknak, de egy tanszék tárgyai mind különböző számot kapnak.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 12/24 Példa Tervezzen E/K diagrammot a következőre és jelölje a rajzon a kulcsokat és a gyenge egyedhalmazokat: Egyedhalmazok: Kurzusok, Tanszékek. Egy kurzust egy tanszék hirdet meg, de azt csak egy számmal azonosítja. Különböző tanszékek adhatják ugyanazt a számot a kurzusuknak, de egy tanszék tárgyai mind különböző számot kapnak. szám név Kurzus Hirdeti Tanszék

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 13/24 Példa Tervezzen E/K diagrammot a következőre és jelölje a rajzon a kulcsokat és a gyenge egyedhalmazokat: Egyedhalmazok: Ligák, Csapatok, Játékosok. A Ligák nevei egyediek, a Csapatoké egy ligán belül különbözik, de különböző ligán belül lehetnek azonos nevű csapatok. Egy csapaton belül nincsenek azonos kódszámú játékosok, de különböző csapatokban lehetnek ilyenek.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 13/24 Példa Tervezzen E/K diagrammot a következőre és jelölje a rajzon a kulcsokat és a gyenge egyedhalmazokat: Egyedhalmazok: Ligák, Csapatok, Játékosok. A Ligák nevei egyediek, a Csapatoké egy ligán belül különbözik, de különböző ligán belül lehetnek azonos nevű csapatok. Egy csapaton belül nincsenek azonos kódszámú játékosok, de különböző csapatokban lehetnek ilyenek. kódszám név név Játékos játszik Csapat Ligában Liga

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 14/24 Miért vannak gyenge egyedhalmazok? Maguktól keletkeznek, amikor többágú kapcsolatot írunk át binárissá.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 14/24 Miért vannak gyenge egyedhalmazok? Maguktól keletkeznek, amikor többágú kapcsolatot írunk át binárissá. A redundancia elkerülése céljából. (Minek a cég nevét minden csoportnál külön felvenni, elég ha egyszer felírjuk és a kapcsolatból derítjük ki.)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 14/24 Miért vannak gyenge egyedhalmazok? Maguktól keletkeznek, amikor többágú kapcsolatot írunk át binárissá. A redundancia elkerülése céljából. (Minek a cég nevét minden csoportnál külön felvenni, elég ha egyszer felírjuk és a kapcsolatból derítjük ki.) A redundancia elkerülése nem csak az E/K modellben fontos, ez minden megközelítésben lényeges, hisz a redundancia bajok forrása.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 14/24 Miért vannak gyenge egyedhalmazok? Maguktól keletkeznek, amikor többágú kapcsolatot írunk át binárissá. A redundancia elkerülése céljából. (Minek a cég nevét minden csoportnál külön felvenni, elég ha egyszer felírjuk és a kapcsolatból derítjük ki.) A redundancia elkerülése nem csak az E/K modellben fontos, ez minden megközelítésben lényeges, hisz a redundancia bajok forrása. Nehéz konzisztens állapotban tartani a DB-t, ha ugyanaz az infó ezer helyen van beírva.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 14/24 Miért vannak gyenge egyedhalmazok? Maguktól keletkeznek, amikor többágú kapcsolatot írunk át binárissá. A redundancia elkerülése céljából. (Minek a cég nevét minden csoportnál külön felvenni, elég ha egyszer felírjuk és a kapcsolatból derítjük ki.) A redundancia elkerülése nem csak az E/K modellben fontos, ez minden megközelítésben lényeges, hisz a redundancia bajok forrása. Nehéz konzisztens állapotban tartani a DB-t, ha ugyanaz az infó ezer helyen van beírva. Nem lesz elég egyszerű a séma, nehéz lesz átlátni, hogy mi az ami ugyanaz, csak sokszor tároljuk és mi valóban más infó.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 14/24 Miért vannak gyenge egyedhalmazok? Maguktól keletkeznek, amikor többágú kapcsolatot írunk át binárissá. A redundancia elkerülése céljából. (Minek a cég nevét minden csoportnál külön felvenni, elég ha egyszer felírjuk és a kapcsolatból derítjük ki.) A redundancia elkerülése nem csak az E/K modellben fontos, ez minden megközelítésben lényeges, hisz a redundancia bajok forrása. Nehéz konzisztens állapotban tartani a DB-t, ha ugyanaz az infó ezer helyen van beírva. Nem lesz elég egyszerű a séma, nehéz lesz átlátni, hogy mi az ami ugyanaz, csak sokszor tároljuk és mi valóban más infó. Helyprobléma (ez egyre kevésbé van).

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 14/24 Miért vannak gyenge egyedhalmazok? Maguktól keletkeznek, amikor többágú kapcsolatot írunk át binárissá. A redundancia elkerülése céljából. (Minek a cég nevét minden csoportnál külön felvenni, elég ha egyszer felírjuk és a kapcsolatból derítjük ki.) A redundancia elkerülése nem csak az E/K modellben fontos, ez minden megközelítésben lényeges, hisz a redundancia bajok forrása. Nehéz konzisztens állapotban tartani a DB-t, ha ugyanaz az infó ezer helyen van beírva. Nem lesz elég egyszerű a séma, nehéz lesz átlátni, hogy mi az ami ugyanaz, csak sokszor tároljuk és mi valóban más infó. Helyprobléma (ez egyre kevésbé van). Ezek miatt törekszünk a redundancia kiküszöbölésére, de persze nem kell mindent kiirtani, hisz a világ is redundáns.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 15/24 Tervezési alapelvek 1. Valósághű modellezés: megragadni a lényeget, megfelelő adatelemeket választani, megfelelő kapcsolatokat (természetesek legyenek, de néha kellenek mesterséges, technikai egyedhalmazok, osztályok is).

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 15/24 Tervezési alapelvek 1. Valósághű modellezés: megragadni a lényeget, megfelelő adatelemeket választani, megfelelő kapcsolatokat (természetesek legyenek, de néha kellenek mesterséges, technikai egyedhalmazok, osztályok is). 2. Redundancia kerülése: észszerű mértékben. Ezt majd a relációs modell nagyon jól megoldja, de azért már a tervezéskor is jó erre figyelni.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 15/24 Tervezési alapelvek 1. Valósághű modellezés: megragadni a lényeget, megfelelő adatelemeket választani, megfelelő kapcsolatokat (természetesek legyenek, de néha kellenek mesterséges, technikai egyedhalmazok, osztályok is). 2. Redundancia kerülése: észszerű mértékben. Ezt majd a relációs modell nagyon jól megoldja, de azért már a tervezéskor is jó erre figyelni. 3. Egyszerűség: csak az legyen a sémában, aminek lennie kell, minél egyszerűbb szerkezetben.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 15/24 Tervezési alapelvek 1. Valósághű modellezés: megragadni a lényeget, megfelelő adatelemeket választani, megfelelő kapcsolatokat (természetesek legyenek, de néha kellenek mesterséges, technikai egyedhalmazok, osztályok is). 2. Redundancia kerülése: észszerű mértékben. Ezt majd a relációs modell nagyon jól megoldja, de azért már a tervezéskor is jó erre figyelni. 3. Egyszerűség: csak az legyen a sémában, aminek lennie kell, minél egyszerűbb szerkezetben. 4. Megfelelő (típusú, összetettségű) adatelemek választása: jól döntsünk, hogy mi legyen attribútum, mi inkább kapcsolat, illetve esetleg külön osztály/egyedhalmaz. Az attribútumot egyszerűbb implementálni, de néha átláthatóbb egy külön egyedhalmaz.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 15/24 Tervezési alapelvek 1. Valósághű modellezés: megragadni a lényeget, megfelelő adatelemeket választani, megfelelő kapcsolatokat (természetesek legyenek, de néha kellenek mesterséges, technikai egyedhalmazok, osztályok is). 2. Redundancia kerülése: észszerű mértékben. Ezt majd a relációs modell nagyon jól megoldja, de azért már a tervezéskor is jó erre figyelni. 3. Egyszerűség: csak az legyen a sémában, aminek lennie kell, minél egyszerűbb szerkezetben. 4. Megfelelő (típusú, összetettségű) adatelemek választása: jól döntsünk, hogy mi legyen attribútum, mi inkább kapcsolat, illetve esetleg külön osztály/egyedhalmaz. Az attribútumot egyszerűbb implementálni, de néha átláthatóbb egy külön egyedhalmaz. Általános elvek: ha egy egyedhalmaznak csak egy attibútuma lenne = nem érdemes külön venni, ha összetettebb, akkor legyen külön.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 15/24 Tervezési alapelvek 1. Valósághű modellezés: megragadni a lényeget, megfelelő adatelemeket választani, megfelelő kapcsolatokat (természetesek legyenek, de néha kellenek mesterséges, technikai egyedhalmazok, osztályok is). 2. Redundancia kerülése: észszerű mértékben. Ezt majd a relációs modell nagyon jól megoldja, de azért már a tervezéskor is jó erre figyelni. 3. Egyszerűség: csak az legyen a sémában, aminek lennie kell, minél egyszerűbb szerkezetben. 4. Megfelelő (típusú, összetettségű) adatelemek választása: jól döntsünk, hogy mi legyen attribútum, mi inkább kapcsolat, illetve esetleg külön osztály/egyedhalmaz. Az attribútumot egyszerűbb implementálni, de néha átláthatóbb egy külön egyedhalmaz. Általános elvek: ha egy egyedhalmaznak csak egy attibútuma lenne = nem érdemes külön venni, ha összetettebb, akkor legyen külön. ha egy infót magában nem akarunk megőrizni, csak valamihez kapcsoltan = lehet csak attribútum (pl. ha a stúdiók csak annyiban érdekelnek minket, hogy melyik filmet ki gyártja, akkor nem kell külön Stúdió egyedhalmaz)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 15/24 Tervezési alapelvek 1. Valósághű modellezés: megragadni a lényeget, megfelelő adatelemeket választani, megfelelő kapcsolatokat (természetesek legyenek, de néha kellenek mesterséges, technikai egyedhalmazok, osztályok is). 2. Redundancia kerülése: észszerű mértékben. Ezt majd a relációs modell nagyon jól megoldja, de azért már a tervezéskor is jó erre figyelni. 3. Egyszerűség: csak az legyen a sémában, aminek lennie kell, minél egyszerűbb szerkezetben. 4. Megfelelő (típusú, összetettségű) adatelemek választása: jól döntsünk, hogy mi legyen attribútum, mi inkább kapcsolat, illetve esetleg külön osztály/egyedhalmaz. Az attribútumot egyszerűbb implementálni, de néha átláthatóbb egy külön egyedhalmaz. Általános elvek: ha egy egyedhalmaznak csak egy attibútuma lenne = nem érdemes külön venni, ha összetettebb, akkor legyen külön. ha egy infót magában nem akarunk megőrizni, csak valamihez kapcsoltan = lehet csak attribútum (pl. ha a stúdiók csak annyiban érdekelnek minket, hogy melyik filmet ki gyártja, akkor nem kell külön Stúdió egyedhalmaz) Ez mind a modellezéskor dől el, aszerint, hogy milyen sémát akarunk.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 16/24 Régebbi adatmodellek Hálós adatmodell: szemléletében hasonlít az objektumosra, de itt sokkal jobban közelíti a terv a fizkai megvalósítást (pl. az attribútumok megadásánal rögtön rendelkezünk a tárolás módjáról is). Lekérdezés, módosítás csak a tárolás pontos ismeretében lehetséges = nehézkesebb mint a relációs modell használata.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 16/24 Régebbi adatmodellek Hálós adatmodell: szemléletében hasonlít az objektumosra, de itt sokkal jobban közelíti a terv a fizkai megvalósítást (pl. az attribútumok megadásánal rögtön rendelkezünk a tárolás módjáról is). Lekérdezés, módosítás csak a tárolás pontos ismeretében lehetséges = nehézkesebb mint a relációs modell használata. Hierarchikus adatmodell: az első, korai rendszerek hierarchikussága miatt szervesen alakult ki. Akkor jó, ha az adatok, vagy a tárolás hierarchikus szerkezetű. Itt is ismerni kell a fizikai megvalósítást a kérdezéshez/módosításhoz.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 17/24 Relációs adatmodell Jelenleg ez a legelterjedtebb, szinte minden DBMS ezen az elven működik. Ennek okai: jól lehet benne modellezni, a modell után pedig könnyű a konkrét sémát megvalósítani

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 17/24 Relációs adatmodell Jelenleg ez a legelterjedtebb, szinte minden DBMS ezen az elven működik. Ennek okai: jól lehet benne modellezni, a modell után pedig könnyű a konkrét sémát megvalósítani nem kell ismerni a fizikai megvalósítást a lekérdezéshez, módosításhoz

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 17/24 Relációs adatmodell Jelenleg ez a legelterjedtebb, szinte minden DBMS ezen az elven működik. Ennek okai: jól lehet benne modellezni, a modell után pedig könnyű a konkrét sémát megvalósítani nem kell ismerni a fizikai megvalósítást a lekérdezéshez, módosításhoz a logikai tervezésnek nagy, szép matematikai eszköztára van, ami segíti az egyszerű séma létrehozását

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 18/24 Relációs adatmodell Mit fogunk róla tanulni?

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 18/24 Relációs adatmodell Mit fogunk róla tanulni? 1. elvi keret (alapfogalmak, alapműveletek)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 18/24 Relációs adatmodell Mit fogunk róla tanulni? 1. elvi keret (alapfogalmak, alapműveletek) 2. konkrét nyelvek (ISBL, QBE, QUELL, SQL, sémadefinícióra, adatmódosításra és lekérdezésre)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 18/24 Relációs adatmodell Mit fogunk róla tanulni? 1. elvi keret (alapfogalmak, alapműveletek) 2. konkrét nyelvek (ISBL, QBE, QUELL, SQL, sémadefinícióra, adatmódosításra és lekérdezésre) 3. tervezés (minél jobb séma kialakítása, matematikai elmélet)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 18/24 Relációs adatmodell Mit fogunk róla tanulni? 1. elvi keret (alapfogalmak, alapműveletek) 2. konkrét nyelvek (ISBL, QBE, QUELL, SQL, sémadefinícióra, adatmódosításra és lekérdezésre) 3. tervezés (minél jobb séma kialakítása, matematikai elmélet) Egyetlen alapfogalom (nincs külön egyedhalmaz és kapcsolat): reláció.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 19/24 A reláció definíciója 1. Gondolhatunk rá úgy, mint egy síkbeli táblázatra: R 1 A 1 A 2 1 y 1 z 3 y R 2 A 1 A 2 2 y 1 z Itt R 1 a reláció neve, A 1 és A 2 az attribútumok nevei, a sorok pedig a reláció elemei. Az oszlopokban levő értékek az attribútumokhoz tartozó értékkészletből kerülnek ki.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 20/24 2. Tekinthetjük egy Descartes-szorzat részhalmazának is a relációt: A 1, A 2,..., A n tetszőleges halmazok (attribútumok) R A 1 A n = Minden sor csak egyszer szerepel

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 20/24 2. Tekinthetjük egy Descartes-szorzat részhalmazának is a relációt: A 1, A 2,..., A n tetszőleges halmazok (attribútumok) = Minden sor csak egyszer szerepel = a sorok sorrendje lényegtelen. R A 1 A n

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 20/24 2. Tekinthetjük egy Descartes-szorzat részhalmazának is a relációt: A 1, A 2,..., A n tetszőleges halmazok (attribútumok) = Minden sor csak egyszer szerepel = a sorok sorrendje lényegtelen. Példa: A 1 = {1, 2, 3}, A 2 = {x, y, z} R A 1 A n

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 20/24 2. Tekinthetjük egy Descartes-szorzat részhalmazának is a relációt: A 1, A 2,..., A n tetszőleges halmazok (attribútumok) = Minden sor csak egyszer szerepel = a sorok sorrendje lényegtelen. Példa: A 1 = {1, 2, 3}, A 2 = {x, y, z} R 1 = {{1, y}, {1, z}, {3, z}} R A 1 A n

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 20/24 2. Tekinthetjük egy Descartes-szorzat részhalmazának is a relációt: A 1, A 2,..., A n tetszőleges halmazok (attribútumok) = Minden sor csak egyszer szerepel = a sorok sorrendje lényegtelen. Példa: A 1 = {1, 2, 3}, A 2 = {x, y, z} R 1 = {{1, y}, {1, z}, {3, z}} R 2 = {{2, y}, {1, z}} R A 1 A n

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 20/24 2. Tekinthetjük egy Descartes-szorzat részhalmazának is a relációt: A 1, A 2,..., A n tetszőleges halmazok (attribútumok) = Minden sor csak egyszer szerepel = a sorok sorrendje lényegtelen. Példa: A 1 = {1, 2, 3}, A 2 = {x, y, z} R 1 = {{1, y}, {1, z}, {3, z}} R 2 = {{2, y}, {1, z}} R A 1 A n De R elemeit tekinthetjük halmazoknak is, nem rendezett n-eseknek.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 20/24 2. Tekinthetjük egy Descartes-szorzat részhalmazának is a relációt: A 1, A 2,..., A n tetszőleges halmazok (attribútumok) = Minden sor csak egyszer szerepel = a sorok sorrendje lényegtelen. Példa: A 1 = {1, 2, 3}, A 2 = {x, y, z} R 1 = {{1, y}, {1, z}, {3, z}} R 2 = {{2, y}, {1, z}} R A 1 A n De R elemeit tekinthetjük halmazoknak is, nem rendezett n-eseknek. Ekkor az attribútumok sorrendje is mindegy.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete}

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete} Egy R reláció ilyen függvények halmaza.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete} Egy R reláció ilyen függvények halmaza. Így tényleg nem számít a sorrend, se a sorok között, se az attribútumok között.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete} Egy R reláció ilyen függvények halmaza. Így tényleg nem számít a sorrend, se a sorok között, se az attribútumok között. Nincs két azonos sor.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete} Egy R reláció ilyen függvények halmaza. Így tényleg nem számít a sorrend, se a sorok között, se az attribútumok között. Nincs két azonos sor. Például: R 1 -ben: 1. sor: A 1 1; A 2 y;

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete} Egy R reláció ilyen függvények halmaza. Így tényleg nem számít a sorrend, se a sorok között, se az attribútumok között. Nincs két azonos sor. Például: R 1 -ben: 1. sor: A 1 1; A 2 y; Jelölés: Definíció. Relációs séma: R(A 1,..., A n ), ahol R a reláció neve, az A i -k pedig az attribútumok nevei.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete} Egy R reláció ilyen függvények halmaza. Így tényleg nem számít a sorrend, se a sorok között, se az attribútumok között. Nincs két azonos sor. Például: R 1 -ben: 1. sor: A 1 1; A 2 y; Jelölés: Definíció. Relációs séma: R(A 1,..., A n ), ahol R a reláció neve, az A i -k pedig az attribútumok nevei. Például: Személy(Vezetéknév, Keresztnév, Neme, Végzettsége)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 21/24 3. Gondolhatunk egy relációra úgy is, mint függvények halmazára: Definíció. Egy sor = egy függvény: s : {attribútumok} {attr. értékkészlete} Egy R reláció ilyen függvények halmaza. Így tényleg nem számít a sorrend, se a sorok között, se az attribútumok között. Nincs két azonos sor. Például: R 1 -ben: 1. sor: A 1 1; A 2 y; Jelölés: Definíció. Relációs séma: R(A 1,..., A n ), ahol R a reláció neve, az A i -k pedig az attribútumok nevei. Például: Személy(Vezetéknév, Keresztnév, Neme, Végzettsége) Gyakorlatban azért mégis rögzítünk egy sorrendet, azt, amelyikben felsoroljuk az attribútumokat.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 22/24 Relációs modell Edgar F. Codd, (1932 ) 1970-es cikk: A Relational Model of Data for Large Shared Data Banks

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 22/24 Relációs modell Edgar F. Codd, (1932 ) 1970-es cikk: A Relational Model of Data for Large Shared Data Banks Teljes adatmodell: nem csak azt mondja meg hogyan írok le, hanem vannak műveletek is.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 22/24 Relációs modell Edgar F. Codd, (1932 ) 1970-es cikk: A Relational Model of Data for Large Shared Data Banks Teljes adatmodell: nem csak azt mondja meg hogyan írok le, hanem vannak műveletek is. Ezeket a műveleteket relációkra alkalmazhatom és így újabb relációkat kapok majd.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 23/24 A relációs algebra alapműveletei Halmazműveletek (bármilyen halmazra mennének) unió: különbség: \ szorzat:

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 23/24 A relációs algebra alapműveletei Halmazműveletek (bármilyen halmazra mennének) unió: különbség: \ szorzat: Relációs műveletek (ezek már kihasználják, hogy itt relációkról van szó) vetítés, projekció: π kiválasztás, szelekció: σ

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 23/24 A relációs algebra alapműveletei Halmazműveletek (bármilyen halmazra mennének) unió: különbség: \ szorzat: Relációs műveletek (ezek már kihasználják, hogy itt relációkról van szó) vetítés, projekció: π kiválasztás, szelekció: σ Ezek mind tiszta műveletek: reláció reláció

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 23/24 A relációs algebra alapműveletei Halmazműveletek (bármilyen halmazra mennének) unió: különbség: \ szorzat: Relációs műveletek (ezek már kihasználják, hogy itt relációkról van szó) vetítés, projekció: π kiválasztás, szelekció: σ Ezek mind tiszta műveletek: reláció reláció = gond nélkül egymásba ágyazhatók

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 24/24 Műveletek Unió R, S relációk = R S = sorai vagy R vagy S sorai

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 24/24 Műveletek Unió R, S relációk = R S = sorai vagy R vagy S sorai Azonos sorok csak egyszer szerepeljenek.

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 24/24 Műveletek Unió R, S relációk = R S = sorai vagy R vagy S sorai Azonos sorok csak egyszer szerepeljenek. (Gyakorlatban néha lehetnek azonos sorok.)

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 24/24 Műveletek Unió R, S relációk = R S = sorai vagy R vagy S sorai Azonos sorok csak egyszer szerepeljenek. (Gyakorlatban néha lehetnek azonos sorok.) csak akkor alkalmazható, ha R és S oszlopszáma egyenlő

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 24/24 Műveletek Unió R, S relációk = R S = sorai vagy R vagy S sorai Azonos sorok csak egyszer szerepeljenek. (Gyakorlatban néha lehetnek azonos sorok.) csak akkor alkalmazható, ha R és S oszlopszáma egyenlő nem feltétlenül örököl típusokat vagy attribútum neveket

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 24/24 Műveletek Unió R, S relációk = R S = sorai vagy R vagy S sorai Azonos sorok csak egyszer szerepeljenek. (Gyakorlatban néha lehetnek azonos sorok.) csak akkor alkalmazható, ha R és S oszlopszáma egyenlő nem feltétlenül örököl típusokat vagy attribútum neveket Példa: R A B a a a c b a S A C a a a d a c b b

ADATBÁZISOK ELMÉLETE 4. ELŐADÁS 24/24 Műveletek Unió R, S relációk = R S = sorai vagy R vagy S sorai Azonos sorok csak egyszer szerepeljenek. (Gyakorlatban néha lehetnek azonos sorok.) csak akkor alkalmazható, ha R és S oszlopszáma egyenlő nem feltétlenül örököl típusokat vagy attribútum neveket Példa: R A B a a a c b a S A C a a a d a c b b R S A (R S) 2 a a a c b a a d b b