Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben 1.0 Bevezetés. A relációs adatmodell. 1.1 Relációs algebra 1.2 Műveletek a relációs modellben 1.2.1 Relációra vonatkozó megszorítások
1.2.2 Multihalmazon értelmezett műveletek 1.2.3 A relációs modell további kiterjesztései
1
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
1.0 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 Nagy Ödön Kiss Csaba Papp József
SzületésiDátum 1975-DEC-13 1971-APR-20 1973-JAN-6
CsopKod 512 541 521
b.) Könyvek(Szerző, Cím, Kiadó, KiadÉv) Szerző
Cím
Kiadó
C.J.Date
An Introduction Systems
to
Paul Helman
The Science of Database
KiadÉv
Database Addison-Wesley 1995 IRWIN
1994 4
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, műfaj) ekvivalens, mert HALMAZ Film(műfaj, é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, lista Minden attribútumhoz hozzátartozik egy értéktartomány. Cím=Karaktersor; évegész; hosszegész 6 műfaj{sci-fi, dráma, vígjáték} konstansok
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
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
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
1.0 Bevezetés A felhasználó legfontosabb problémája az adatbázis lekérdezése. Ezt mutatjuk be absztrakt szempontból A lekérdezési operátorokat használva. Algebrai formában =relációs algebra
Logikai formában = Datalog Lehet az SQL vagy a OQL nyelveket használni10
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
1.1 Relációs algebra A relációs algebra műveleteket négy osztályba soroljuk 1. A hagyományos halmazműveletek ( egyesítés, metszet, különbség) 2. Egyes részeket tartunk meg (kiválasztás, vetítés) 3. Relációk kombinálása ( Descartes-i szorzat, összekapcsolás) 4. Átnevezés 11
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
Relációkon értelmezet halmazműveletek R és S halmazok • RUS, egyesítés, az R ben vagy az S –ben vannak • R∩S, metszet, az R ben és a S ben vannak • R-S, különbség, az R ben van de az S ben nincs Alkalmazási feltételek: -R és S relációk sémája ugyanazokat az attribútomokat kell tartalmazza - az attribútumok sorrendje ugyanaz kell legyen 12
Név
Cím
Nem
születésnap
Carrie Fisher
123 Maple St., Hollywood
N
09/09/1999
Mark Hamill
456 Oak Rd., Brentwood
F
08/08/1988
Név
Cím
Nem
születésnap
Carrie Fisher
123 Maple St., Hollywood
N
09/09/1999
Harrison Ford 789 Palm Bv., Beverly H.
F
08/08/1988
Név
Cím
Nem
születésnap
Carrie Fisher
123 Maple St., Hollywood
N
09/09/1999
Mark Hamill
456 Oak Rd., Brentwood
F
08/08/1988
Harrison Ford
789 Palm Bv., Beverly H.
F
08/08/1988
R reláció
S reláció
RUS
13
Név
Cím
Nem
születésnap
Carrie Fisher
123 Maple St., Hollywood N
09/09/1999
Mark Hamill
456 Oak Rd., Brentwood
F
08/08/1988
Név
Cím
Nem
születésnap
Carrie Fisher
123 Maple St., Hollywood N
09/09/1999
Harrison Ford 789 Palm Bv., Beverly H.
F
08/08/1988
Név
Cím
Nem
születésnap
Carrie Fisher
123 Maple St., Hollywood N
09/09/1999
Név
Cím
Nem
születésnap
Mark Hamill
456 Oak Rd., Brentwood
F
08/08/1988
Név
Cím
Nem
születésnap
F
08/08/1988
Harrison Ford 789 Palm Bv., Beverly H.
R reláció
S reláció
R∩S
R\S
S\R 14
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
Kiválasztás és vetítés Kiválasztás: C(R) Példa: hossz>100 and studio=‘FOX’ (Film)
Vetítés : A1,A2,..An(R) Példa: cim,ev(Film) Descartes-i szorzat, összekapcsolás Descartes-i szorzat Az első elem a R ből a második az S ből
15
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda cím
év
Csillagok háborúja
hossz
műfaj
stúdiónév producerAzon
1977 124
sci-fi
Fox
12345
Rút kiskacsa
1991 104
dráma
Disney
67890
Wayne világa
1992 95
vígjáték
Paramount
99999
hossz>100 and stúdiónév=‘FOX’ (Film)
cím
év
hossz színes stúdiónév
Csillagok háborúja 1977 124
cím
év
Csillagok háborúja 1977
Rút kiskacsa
1991
Wayne világa
1992
sci-fi
Fox
producerAzon 12345
cím,év(R) 16
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda A
B
B
C
D
A
1
2
2
5
6
1
2
3
4
4
7
8
1
9
10
11
R S DESCARTES-i szorzat
R.B S.B
C
D
2
5
6
2
4
7
8
1
2
9
10
11
3
4
2
5
6
3
4
4
7
8
3
4
9
10
11
RXS
17
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
Természetes összekapcsolás: R S Az közös értékek a közös attributumokon R S r s
összekapcsolt sor Példa: A B 1 2 3 4
C 5 7
D 6 8
18
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda A
B
C
B
C
D
A
B
C
D
1
2
3
2
3
4
1
2
3
4
6
7
8
2
3
5
1
2
3
5
9
7
8
7
8
10
6
7
8
10
9
7
8
10
U
V U
V
Természetes összekapcsolás 2 közös attribútumon keresztül (B és C) 19
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Théta összekapcsolás R CS A
U.B U.C V.B V.C
D
A
B
C
B
C
D
1
2
3
2
3
4
1
2
3
2
3
4
1
2
3
2
3
5
1
2
3
7
8
10
6
7
8
2
3
4
6
7
8
2
3
5
6
7
8
7
8
10
9
7
8
2
3
4
9
7
8
2
3
5
9
7
8
7
8
10
6
7
8
2
3
5
9
7
8
7
8
10
U
V A
20
Lekérdezések műveletek segítségével Melyek a Fox stúdióban készült, legalább 100 perc hosszúságú filmek, és ezek mikor készültek? Példa: 1. Kiválasztjuk a hossz >=100 sorokat 2. Kiválasztjuk a studio=’FOX’ sorokat 3. Kiszámítjuk a (1) es (2) metszetét 4. Levetítjük a cím és év atribútumokra
cim, ev ∩
hossz>100 studio=‘FOX’
Relációs kifejezésfa film
film
21
Adott az adatbázis sémája, amelyik négy relációból áll: Termék(gyártó, modell, típus) PC(modell, sebesség, memória, merevlemez, cd, ár) Laptop(modell, sebesség, memória, merevlemez, képernyő, ár) Nyomtató(modell, színes, típus, ár) a) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? b) Mely gyártók készítenek legalább száz gigabájt méretű merevlemezzel rendelkező laptopot?
gyártó
modell
(sebesség>=3.00(PC))
(merevlemez>=100(Laptop
Termék))
22
c) Adjuk meg a B gyártó által gyártott összes termék modellszámát és árát, típustól függetlenül d) Adjuk meg valamennyi színes lézernyomtató modellszámát
d)
(gyártó=“B”(PC
modell,ár
Termék))
(gyártó=“B”(Laptop
modell,ár
(gyártó=“B”(Nyomtató
modell,ár
modell
Termék))
U U
Termék))
(színes=“igaz”AND tipus=“lézer”(Nyomtató)) 23