sapientia - erdélyi magyar tudományegyetem ( emte ) csíkszereda
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 PresentationTRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Lehet olyan alkalmazott, aki NEM tartozik egyik részleghez sem17
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
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
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)
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
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
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
Filmek
hossz
fegyver
cím év műfaj
azegy
azegyazegy
azegy
Rajzfilmek Bűnűgyi filmek
Hangok
Bűnűgyi Rajzfilmek
szerep
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
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
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
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
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