A relációs adatmodell



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

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

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

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

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

Adatbázisok gyakorlat

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.

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

Az adatmodelleket többféleképpen is csoportosíthatjuk. Egyik csoportosítás:

Relációsémák létrehozása SQL nyelvben

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

TAJ. foglalkozás. gyógyszer

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

ADATBÁZIS-KEZELÉS Demetrovics Katalin

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

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

T Adatbázisok-adatmodellezés

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

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. 4. gyakorlat: Redundanciák, funkcionális függőségek

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

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

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

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

Bevezetés: Relációs adatmodell

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

Adatbázis-kezelés. alapfogalmak

Adatbázisok - 1. előadás

Az SQL lekérdeznyelv

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

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

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

Bevezetés: Relációs adatmodell

Az egyed-kapcsolat modell (E/K)

Adatbázis rendszerek Definíciók:

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

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

Adatmodellek. 2. rész

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

Egyed-kapcsolat modell

Adatbáziskezelés alapjai. jegyzet

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

Adatmodellezés. 1. Fogalmi modell

ADATMODELLEZÉS. Az egyed-kapcsolat modell

Adatbáziskezelés 1 / 12

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

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

Adatbázisok gyakorlat

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

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

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

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

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

Csima Judit október 24.

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

4. Előadás Az SQL adatbázisnyelv

Adatbázis, adatbázis-kezelő

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

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

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

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

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

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

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

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.

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

Az adatbáziskezelés alapjai

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

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

Adatbázisok elmélete

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)

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

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

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Bevezetés: az SQL-be

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

Gazdasági folyamatok térbeli elemzése. 5. elıadás

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

Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai

A D A T B Á Z I S O K

A TANTÁRGY ADATLAPJA

Magas szintő adatbázismodellek

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

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

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

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

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

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

A hierarchikus adatbázis struktúra jellemzői

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

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

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

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

Egyed-kapcsolat modell

Adatbázisok elmélete

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

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Átírás:

A relációs adatmodell E. Codd vezette be: 1970 A Relational Model of Data for Large Shared Data Banks. Communications of ACM, 13(6). 377-387. 1982 Relational Databases: A Practical Foundation for Productivity. Communication of ACM, 109-117. legelterjedtebb adatmodell napjainkban népszerőségét annak köszönheti, hogy nagyon egyszerő deklaratív nyelvvel rendelkezik az adatok kezelésére, illetve lekérdezésére. értékorientált, ez ahhoz vezet, hogy a relációkon értelmezett mőveletek eredményei szintén relációk.

A relációs adatmodell értelmezése Legyenek D,, D, K D halmazok. 1 2 n R egy reláció a D,, D, K D halmazokon, ha 1 2 n R D D K D 1 2 n Relációs adatmodell szempontjából D i az A i attribútum értékeinek tartománya (doméniuma). D i lehet egész számok halmaza, karaktersorok halmaza, valós számok halmaza stb. n a reláció foka.

Egy ilyen relációt táblázatban ábrázolhatunk: R A 1... A j... A n r 1 a 11... a 1j... a 1n M r i a i1... a ij... a in M r m a m1... a mj... a mn ahol a ij D j. a táblázat sorai a reláció elemei. a tábla megnevezést is használják a reláció helyett.

Jelöljés: R (A 1, A 2,..., A n ). A reláció nevét és a reláció attribútumainak a halmazát együtt relációsémának nevezzük. példa: Diákok (BeiktSzám, Név, SzületésiDátum, CsopKod) reláció: BeiktSzám Név SzületésiDátum CsopKod 67908 Nagy Ödön 1975-DEC-13 512 68799 Kiss Csaba 1971-APR-20 541 68820 Papp József 1973-JAN-6 521

példa: Könyvek (ISBN, Szerzı, Cím, Kiadó, KiadÉv) reláció: ISBN Szerzı Cím Kiadó KiadÉv 35463526 C. J. Date An Introduction to Database Addison- 2005 Systems Wesley 45344534 Paul Helman The Science of Database IRWIN 1994

A relációs adatmodell tulajdonságai 1. A tábla nem tartalmazhat két teljesen azonos sort, azaz két sor legalább egy attribútum konkrét értékében el kell hogy térjen egymástól. 2. Kulcs értelmezése: egy S attribútumhalmaz az R reláció kulcsa, ha: R relációnak nem lehet két sora, melynek értékei megegyeznek az S halmaz minden attribútumára. S egyetlen valódi részhalmaza sem rendelkezik a) tulajdonsággal. Példa: Diákok esetén BeiktSzám. több attribútum is lehet, amelyek értéke egyedi minden egyes elıfordulásra nézve, akkor több kulcsjelöltrıl beszélhetünk; kulcsjelöltek közül egyet elsıdleges kulcsnak kell kijelölni.

ha nincs olyan tulajdonság, amelynek értéke egyedi lenne, akkor több tulajdonság értéke együtt fogja jelenteni az elsıdleges (összetett) kulcsot. Az 1. tulajdonság mindig kell legyen elsıdleges kulcs, ha más nem, a teljes sor mindig egyedi. Elsıdleges kulcs értéke soha nem lehet null vagy üres. 3. A táblázat sorainak a sorrendje lényegtelen. 4. A táblázat oszlopaira vagyis az attribútumokra a nevükkel hivatkozunk, tehát két attribútumnak nem lehet ugyanaz a neve. 5. A táblázat oszlopainak a sorrendje lényegtelen.

Relációs adatbázis séma meghatározása Relációs adatbázis séma: az adatbázist alkotó relációk sémájának az összessége. A relációkban tárolt konkrét értékek alkotják a relációs adatbázist. Egy helyes relációs adatbázis sémát több módszerrel is kaphatunk: az egyed/kapcsolat diagramot átírjuk relációsémákká, egy létezı relációs adatbázis sémát normalizálás segítségével normál formára hozzuk, Object Definition Language segítségével megtervezett objektum-orientált adatbázis szerkezetet átírunk relációsémákká UML

Az egyed/kapcsolat diagramok átírása relációs modellé 1. Egyedhalmaz reláció. (egyedhalmaz attribútumai a reláció attribútumai lesznek) 2. Kapcsolat reláció (kulcsok attribútumok) 3. Közös kulcsú relációk összevonása.

2. Kapcsolat reláció (kulcsok attribútumok) Legyen egy kapcsolat az E 1, E 2,..., E m egyedhalmazok között. Legyenek K 1, K 2,..., K m az E 1, E 2,..., E m kulcs attribútumai, ahol K. i E i Relációs modell relációnak attribútumai a K 1, K 2,..., K m lesz. Ha a kapcsolatokhoz attribútumokat rendeltünk az E/K diagramon, a relációs modell relációjában a kulcsok mellett a kapcsolat attribútumai is szerepelnek.

3. Közös kulcsú relációk összevonása: Ha két relációnak van egy közös kulcsjelöltje, a két relációt összevonjuk és helyettesítjük egy relációval. Elınyök: kevesebb helyet foglal a reláció, a lekérdezések hamarabb megválaszolhatók, nincsenek annyira szétdarabolva az összetartozó adatok.

példa: nagykereskedı cég egyszerősített adatbázisa. 1. Egyedhalmaz reláció. Az egyedhalmazok kulcsai a relációk kulcsai lesznek, és ezt aláhúzással jelöljük a relációs modell relációi esetében is. (1) Alkalmazottak (SzemSzám, Név, Fizetés) (2) Managerek (SzemSzám) (3) Részlegek (RészlegID, Név, Helység) (4) Szállítók (SzállID, Név, Helység, UtcaSzám) (5) ÁruCsoportok (CsopID, Név) (6) Áruk (ÁruID, Név, MértEgys, MennyRakt) (7) Vevık (VevıID, Név, Helység, UtcaSzám, Mérleg) (8) Szerzıdések (SzerzıdID, Dátum, Részletek) (9) Tételek (TételID, Dátum)

2. Kapcsolat reláció (kulcsok attribútumok) (10) Dolgozik(SzemSzám, RészlegID) (11) Irányít (SzemSzám, RészlegID) (12) Árul (CsopID, RészlegID) (13) Tartozik (CsopID, ÁruID) (14) Szállít (SzállID, ÁruID, Ár) (15) Elhelyez (VevıID, SzerzıdID) (16) Tartalmaz (SzerzıdID, TételID) (17) Szerepel (TételID, ÁruID, RendMenny, SzállMenny)

nagyon fontos, hogy a kapcsolatokból kapott relációk kulcs attribútumait helyesen határozzuk meg egy relációnak több kulcsjelöltje is lehet, a tervezı dönti el, hogy melyiket választja. Ha a kapcsolat bináris (E 1 és E 2 egyedhalmazok között) E 1 nek K 1 a kulcsa, E 2 nek K 2 a kulcsa,

Irányelvként elfogadhatjuk a következıket: 1:1 típusú kapcsolatok esetén lehet a K 1 vagy a K 2 is kulcsjelölt. Példa: a Managerek és Részlegek egyedhalmazok közötti Irányít kapcsolat esetén a SzemSzám és a RészlegID is lehet kulcs. 1: n típusú kapcsolat E 1 és E 2 (itt az n) között, akkor a kapcsolatnak megfelelı reláció kulcsjelöltje a K 2. Példa: a Részlegek és Alkalmazottak egyedhalmazok között a Dolgozik kapcsolat 1: n típusú, a Dolgozik relációnak a relációs adatmodellben a kulcsa a SzemSzám. n: m típusú kapcsolat áll fenn E 1 és E 2 egyedhalmazok között, akkor a kapcsolatnak megfelelı relációnak kulcsjelöltje összetett kulcs lesz, a K 1 és a K 2 egyesítése. Példa: a Szállítók és Áruk közötti Szállít kapcsolat n: m típusú, így a kulcs összetett, SzállID és ÁruID együtt.

az E/K az_egy specializáló kapcsolataihoz nem készítünk relációkat, az általános egyedhalmazhoz egy olyan relációt készítünk, amelynek a sémája tartalmazza az egyedhalmaz attribútumait. minden alosztályban megismételjük az általános egyedhalmaz kulcsát. tehát a specializáló kapcsolatokat burkolt formában az a tény fejezi ki, hogy a kapcsolódó egyedeknek ugyanazok a kulcsértékei. Példa: a Managerek reláció fogja azon alkalmazottak személyi számait tárolni, akik managerek. A személyi számukat tároljuk, biztosít minket arról, hogy a managerek is alkalmazottak, megtaláljuk az Alkalmazottak relációban a személyi szám segítségével.

3. Közös kulcsú relációk összevonása: Alkalmazottak és Dolgozik közös kulcsa SzemSzám, az Alkalmazottak relációt kiegészítjuk a RészlegID-al. Alkalmazottak (SzemSzám, Név, Fizetés, RészlegID) Hasonlóan: ÁruCsoportok (CsopID, Név, RészlegID) Áruk (ÁruID, Név, MértEgys, MennyRakt, CsopID) Szerzıdések (SzerzıdID, Dátum, Részletek, VevıID) Tételek (TételID, Dátum, SzerzıdID)

Részlegek és Irányít közös kulcsa a RészlegID, a Részlegek relációt kiegészítjük a managere személyi számával, átkereszteljük ManSzemSzám-á Részlegek (RészlegID, Név, Helység, ManSzemSzám) Kérdés: - ha az egyik részlegnek épp nincs managere a ManSzemSzám attribútumnak nullértéket használunk. A NULL érték nem 0 (zéró), nem üres karaktersor, hanem egy speciális érték.

Az összetett kulcsú Szállít és Szerepel nem vonható össze más relációkkal, mivel ezek m: n típusú kapcsolatokat modellálnak. Az összevont relációkon kívül még megmaradt relációk ahhoz, hogy az adatbázisséma teljes legyen a közös kulcsú relációk összevonása után: Managerek (SzemSzám) Szállítók (SzállID, Név, Helység, UtcaSzám) Vevık (VevıID, Név, Helység, UtcaSzám, Mérleg) Szállít (SzállID, ÁruID, Ár) Szerepel (TételID, ÁruID, RendMenny, SzállMenny) A Managerek relációt esetleg elhagyhatnánk, ha nincs olyan managerünk, aki nem irányít részleget. Ha minden manager irányít egy részleget, akkor megtaláljuk ıket a Részlegek relációban.