sapientia - erdélyi magyar tudományegyetem ( emte ) csíkszereda

29
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda 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

Upload: sol

Post on 17-Jan-2016

34 views

Category:

Documents


0 download

DESCRIPTION

Sapientia - Erdélyi Magyar Tudományegyetem ( EMTE ) Csíkszereda. 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 á lyhie rarchia reprezentálása. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE)Csíkszereda

7. Előadás tartalmaA 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

Page 2: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

7.1 A relációs adatmodell

• Legelterjedtebb modell

• Egyszerű deklaratív nyelvvel rendelkezik az adatok kezelésére

• Értékorientált

2

Page 3: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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

3

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

Page 4: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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.

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

a.) Diákok(Név, SzületésiDátum, CsopKod)

b.) Könyvek(Szerző, Cím, Kiadó, KiadÉv)

Szerző Cím Kiadó KiadÉv

C.J.Date An Introduction to Database Systems

Addison-Wesley

1995

Paul Helman

The Science of Database IRWIN 19944

Page 5: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Séma: reláció neve és attribútumainak zárójelben való felsorolása

Film(cím, év, hossz, szalagfajta) ekvivalens, mert HALMAZ

Film(szalagfajta, év, cím, hossz)

Viszont mindíg kiválasztunk valamilyen “standard” sorrendet.

HALMAZ:

• Sorrend nem számít

• Nincs 2 egyforma eleme a halmaznak

5

Page 6: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

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, listaMinden attribútumhoz hozzátartozik egy értéktartomány.Cím=Karaktersor; évegész; hosszegész

műfaj{sci-fi, dráma, vígjáték} konstansok 6

Page 7: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

A relációk előfordulásaiA 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

Page 8: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

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

Page 9: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

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

Page 10: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

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

Page 11: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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

Filmek(Hossz, Cím, Év, Szalagfajta)

Filmek

Hossz Cím Év Szalagfajta

11

Page 12: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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 kellene legyen 12

Page 13: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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 egyesítése. 13

Page 14: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

CIM

ÉV NÉV

LAKCIM

FILMEK SZEREPLŐ SZINÉSZEK

HOSSZ

MŰFAJ

Szereplő(FilmCím, GYártÉv, SzínészNév)

14

Page 15: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Alkalmazottak (SzemSzám, Név, Fizetés)Részlegek (RészlegID, Név, Helység) Dolgozik(SzemSzám, RészlegID)

Alkalmazottak (SzemSzám, Név, Fizetés, ReszlegID)Részlegek (RészlegID, Név, Helység)

1

0..1

Alkalmazottak Részlegek

SzemSzám

Név

FizetésRészlegID

Név Helység

Dolgozik

1..M

15

Page 16: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

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

Page 17: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Lehet olyan alkalmazott, aki NEM tartozik egyik részleghez sem17

Page 18: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

ID Név Funkció

444 Miklós Ernő Igazgató

555 Bálint Lajos Lakatos

AlkID ReszlegID

555 A1

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

Page 19: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Ebben az esetben MINDEN alkalmazottnak tartoznia kell egy részleghez

19

Page 20: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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

Page 21: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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)

Kliensek

számlaszám

termékSzámlák

számlája

sorai

mennyiség

SorszámÁFA

Számlasorok

mértékegység

egységárDátum

1..M1..M

1

1

összeg

21

Page 22: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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

Page 23: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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

Page 24: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Filmek

hossz

fegyver

cím év műfaj

azegy

azegyazegy

azegy

Rajzfilmek Bűnűgyi filmek

Hangok

Bűnűgyi Rajzfilmek

szerep

24

Page 25: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

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

Page 26: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

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 rajzfilm26

Page 27: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

A személyek közötti szülői, házastársi kapcsolat modellezése

Személy

Gyerek Apa Anya

Gyereke

Apja

Anyja

Házastársak

111..M 1..M

27

Page 28: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

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

A relációba való átírás nem egyezik a rajzzal emiatt.28

Page 29: Sapientia -  Erdélyi Magyar Tudományegyetem  ( EMTE ) Csíkszereda

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Összefoglaló kérdések

1) Mi a relációs modell?

2) Mik a sémák?

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