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



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

A relációs adatmodell

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

Adatbázisok gyakorlat

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

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

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

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR ( Adatbázisrendszerek) 12. 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.

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

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

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

Egyed-kapcsolat modell

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

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

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

T Adatbázisok-adatmodellezés

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

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

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

ADATBÁZIS-KEZELÉS Demetrovics Katalin

Magas szintő adatbázismodellek

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

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

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

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

ADATMODELLEZÉS. Az egyed-kapcsolat modell

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

A D A T B Á Z I S O K

Egyed-kapcsolat modell

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

Adatbázisok elmélete

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

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

Adatbázis rendszerek Definíciók:

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

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

Adatbázisok gyakorlat

A D A T B Á Z I S O K

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

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

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

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

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok.

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

Bevezetés: Relációs adatmodell

Adatbázis-kezelés. alapfogalmak

Az egyed-kapcsolat modell (E/K)

Adatmodellezés. 1. Fogalmi modell

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

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.

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.

Bevezetés: Relációs adatmodell

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

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

TAJ. foglalkozás. gyógyszer

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

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

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

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

Csima Judit október 24.

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

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

Adatmodellek. 2. rész

ADATBÁZISOK. 3. gyakorlat E-K modell

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

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

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

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

7. fejezet Kulcsok és idegen kulcsok

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

2.4. Egy algebrai lekérdező nyelv

Adatbáziskezelés. Indexek, normalizálás NZS 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

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

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

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

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

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

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

Lekérdezések az SQL SELECT utasítással

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

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

Adatbázisrendszerek Tervezése Közgazdászoknak Munkapéldány

Adatbázismodellek. 1. ábra Hierarchikus modell

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


Adatbázisok - 1. előadás

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

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ÁZIS-KEZELÉS FÉLÉVES FELADAT

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

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

2.4. Egy algebrai lekérdezo nyelv

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

SQL DDL-2 (aktív elemek) triggerek

Átírás:

7. Előadás tartalma A relációs adatmodell 7.1 A relációs adatmodell 7.2 Relációs adatbázisséma meghatározása 7.3 E/K diagram átírása relációs modellé 7.4 Osztályhierarchia reprezentálása 1

7.1 A relációs adatmodell Legelterjedtebb modell Egyszerű deklaratív nyelvvel rendelkezik az adatok kezelésére Értékorientált 2

A relációs modellben az adatok egyszerűen reprezentálhatók: kétdimenziós táblákban, u.n. Relációkban Attribútumok: a reláció fejrészében találhatók A reláció-attribútumok a reláció oszlopnevei Általában megadják az oszlopban szereplő adatok jelentését Az ábrán levő attribútumok: cím, év, hossz, műfaj Cím Év Hossz műfaj Csillagok háborúja 1977 124 sci-fi Elfújta a szél 1939 231 dráma Wayne világa 1992 95 vígjáték 3

A relációt a következőképpen jelöljük: R (A1, A2,..., An). A reláció nevét és a reláció attribútumainak a halmazát együtt relációsémának nevezzük. a.) Diákok(Név, SzületésiDátum, CsopKod) Név SzületésiDátum CsopKod Nagy Ödön 1975-DEC-13 512 Kiss Csaba 1971-APR-20 541 Papp József 1973-JAN-6 521 b.) Könyvek(Szerző, Cím, Kiadó, KiadÉv) Szerző Cím Kiadó KiadÉv C.J.Date An Introduction to Database Systems Paul Helman Addison- Wesley 1995 The Science of Database IRWIN 1994 4

Séma: reláció neve és attribútumainak zárójelben való felsorolása Film(cím, év, hossz, szalagfajta) Film(szalagfajta, év, cím, hossz) ekvivalens, mert HALMAZ Viszont mindíg kiválasztunk valamilyen standard sorrendet. HALMAZ: Sorrend nem számít Nincs 2 egyforma eleme a halmaznak 5

Sorok: a reláció azon sorai, amelyek különböznek az attribútumokból álló fejléc sorától (angolul tuple) (Csillagok háborúja, 1977, 124, színes) Sorok HALMAZ Komponens: Az oszlop és sor találkozása atomi komponens Értéktartományok: minden sor minden komponense atomi, azaz elemi tipusú (egész, karaktersor, dátum) NEM rekordszerkezet, halmaz, lista Minden attribútumhoz hozzátartozik egy értéktartomány. Cím=Karaktersor; év egész; hossz egész műfaj {sci-fi, dráma, vígjáték} konstansok 6

A relációk előfordulásai A relációk NEM állandóak, többször is változhatnak az idők során. A változások a relációk SORAIRA vonatkoznak általában, új sorok beszúrása (új számlák készítése, új filmek felvétele az adatbázisba) sorok módosítása (pontatlan vagy hiányos információk miatt) sorok törlése (túlhaladott, nem használható információk) SÉMA változtatása KÖLTSÉGES Új attribútum felvétele: Mivel töltsük ki a meglévő sorokban az attribútumok értékeit? 7

A relációs modell tulajdonságai: A tábla nem tartalmazhat két teljesen azonos sort Kulcs értelmezése: egy S attribútumhalmaz az R reláció kulcsa ha: a.) R relációnak nem lehet két sora, melynek értékei megegyeznek az S halmaz minden attribútumára. b.) S egyetlen valódi részhalmaza sem rendelkezik a) tulajdonsággal A táblázat sorainak, oszlopainak sorrendje lényegtelen A táblázat oszlopaira nevükkel hivatkozunk, tehát, két attribútumnak nem lehet ugyanaz a neve 8

Külső kulcs: Egy relációséma attribútumainak valamely részhalmaza külső kulcs (másnéven idegen kulcs, angolul foreign key), ha egy másik séma elsődleges kulcsára hivatkozik Jelölés: a külső kulcsot dőlt betűvel, vagy a hivatkozott kulcsra mutató nyíllal jelöljük Példa. A beszállítói nyilvántartás adatbázissémájából: SZÁMLA (számlaszám, ÁFA, dátum, beszállítókód, összeg) Beszállító (beszállítókód, név, cím) 9

7.2 Relációs adatbázisséma meghatározása Relációs adatbázissé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 A megszorítások a séma RÉSZE Relációs adatbázis séma meghatározása: egyed-kapcsolat diagram átírása relációsémává egy létező relációs adatbázis sémát normalizálás segítségével normál formára hozunk. 10

7.3 E/K diagram átírása relációs modellé Egyedhalmazok átírása: Szabály: az E-K modell minden egyedéhez felírunk egy relációsémát, amelynek neve az egyed neve, attribútumai az egyed attribútumai, kulcsa az egyed kulcs-attribútumai. A séma feletti adattábla minden egyes sora egy egyedpéldánynak felel meg Hossz Cím Év Szalagfajta Filmek Filmek(Hossz, Cím, Év, Szalagfajta) 11

Gyenge entitások leképezése: Szabály: 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 Szerződés(SzínészNév, StúdióNév, FilmCím, GyártÉv, Fizetés) A stúdiója kapcsolat is gyenge, a képen dupla vonal 12 kellene legyen

Kapcsolatok leképezése Általános szabály: 1. Vegyünk fel a kapcsolathoz egy új sémát, amelynek neve a kapcsolat neve, attribútumai pedig a kapcsolódó entitások kulcs attribútumai és a kapcsolat saját attribútumai. 2. Ha egy kapcsolat 1:n tipusú és hivatkozásépségi megszorításunk van az 1-es felén, akkor a kapcsolat NEM alakul át relációvá, hanem a kapcsolat n felén levő egyedhalmaz relációjába idegen kulcsként bevesszük a kapcsolat 1 felénél levő egyedhalmaz kulcs-attribútumait. Kulcsok: 1: n kapcsolat: n oldalon álló egyedhalmaz kulcsa (1:1 esetben tetszőleges) m:n kapcsolat: a résztvevő egyedosztályok kulcsainak 13 egyesítése.

ÉV NÉV CIM LAKCIM FILMEK SZEREPLŐ SZINÉSZEK HOSSZ MŰFAJ Szereplő(FilmCím, GYártÉv, SzínészNév) 14

Név SzemSzám Fizetés Név RészlegID Helység 1..M Alkalmazottak Dolgozik Részlegek 0..1 Alkalmazottak (SzemSzám, Név, Fizetés) Részlegek (RészlegID, Név, Helység) Dolgozik(SzemSzám, RészlegID) 1 Alkalmazottak (SzemSzám, Név, Fizetés, ReszlegID) Részlegek (RészlegID, Név, Helység) 15

Szabály: 1. Abban az esetben, ha 1 és 1..M kapcsolatunk van, a kapcsolat integrálható, egy idegen kulcs segítségével az 1..M felőli táblába. 2. Abban az esetben amikor 0..1 és 1..M kapcsolatunk van, a kapcsolatot nem integráljuk, hanem külön jelenítjük meg egy relációban. Így hivatkozás-épségi megszorításokat tehetünk be az egyedhalmazból keletkezett relációk és a kapcsolatból keletkezett relációk közé 3. Integrálható a 2-ik eset is, ha beviszünk egy olyan részleget, hogy pl. (X,nemrészleg, vállalat) 16

Lehet olyan alkalmazott, aki NEM tartozik egyik részleghez sem 17

ID Név Funkció 444 Miklós Ernő Igazgató 555 Bálint Lajos Lakatos AlkID 555 A1 ReszlegID RészlegID Megnevezés Helység A1 Lakatosműhely A épület B2 Csomagoló B épület Az igazgató, mivel nem tartozik egyik részleghez sem, nincs megfelelő sora a kapcsolat-táblában 18

Ebben az esetben MINDEN alkalmazottnak tartoznia kell egy részleghez 19

ID Nev Funkcio RészlegID 444 Miklós Ernő Igazgató X 555 Bálint Lajos Lakatos A1 RészlegID Megnevezés Helység A1 Lakatosműhely A épület B2 Csomagoló B épület X Nincsrészleg Mivel az igazgató nem tartozik egyik részleghez sem, viszont a hivatkozás-épség megkívánja, hogy tartozzon valahová, meghatározunk egy olyan részleget, hogy Nincsrészleg, vagy egyszerűen üresen hagyjuk 20

Kliens(Klienskód, név, cím, adószám, bank, bankszámla) Számla(számlaszám, ÁFA, dátum, összeg, klienskód) Számlasor(számlaszám, Sorszám, mértékegység, termék, egységár, mennyiség) számlaszám ÁFA Sorszám mértékegység Dátum Számlák 1..M számlája 1 sorai összeg Számlasorok 1..M egységár mennyiség termék 1 Kliensek 21

Specializáló kapcsolatok leképezése 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. 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) 22

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. 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) 3. Egy közös tábla felvétele, az attribútumok úniójával. Az aktuálisan értékkel nem rendelkező attribútumok NULL értékűek. HELYISÉG (épület, ajtószám, név, alapterület, férőhely, tábla, vetítő, gépszám, telefon, fax) 23

hossz cím év műfaj szerep Filmek Hangok azegy azegy fegyver Rajzfilmek Bűnűgyi filmek azegy azegy Bűnűgyi Rajzfilmek 24

Film(cím, év, hossz, műfaj) BűnűgyiFilm(cím, év, hossz, műfaj, fegyver) Rajzfilm(cím, év, hossz, műfaj) Hang(filmCím, gyártév, színésznév, szerep) BűnűgyiRajzfilm(cím, év, hossz, műfaj, fegyver) Egyedhalmazok összevonása nullérték használatával Film(cím, év, hossz, műfaj, fegyver, hang) Hang(filmCím, gyártév, színésznév, szerep) 25

Egy lehetséges megkülönböztetés NULL érték használatával Hang Fegyver Filmtipús NULL NULL Film NULL Érték Bűnűgyi film 0 NULL Néma rajzfilm 0 Érték Néma bűnűgyi rajzfilm 1 NULL Hangos rajzfilm 1 Érték Hangos bűnűgyi rajzfilm 26

A személyek közötti szülői, házastársi kapcsolat modellezése Gyereke Személy Gyerek Apa Anya 1..M 1..M 1 1 Apja Házastársak Anyja 27

A relációk felírása: csak kapcsolatokban különböznek a személyek. Személy(név, szüldátum,cím) Apja(apaNév,apaSzülD, gyereknév, gyerekszüld) Anyja(anyaNév,anyaSzülD, gyereknév, gyerekszüld) Házastárs(apaNév,apaSzülD, anyanév, anyaszüld) Gyereke(személyNév,szemSzülD, gyereknév, gyerekszüld) A házastársi kapcsolatban, ha egy bizonyos pillanatot veszünk, akkor 1:1 kapcsolat van, másképp 1..N az 1..M-hez 28 A relációba való átírás nem egyezik a rajzzal emiatt.

1) Mi a relációs modell? 2) Mik a sémák? Összefoglaló kérdések 3) Hogy történik az egyedhalmazok átírása relációkká? 4) Kapcsolatok átírása relációkká? 5) Osztályhierarchia reprezentálása a relációs modellben. 29