adatbázis rendszerek - web.fmt.bme.huweb.fmt.bme.hu/subjects/adatbazis_r/7...
Post on 30-Apr-2018
219 Views
Preview:
TRANSCRIPT
11
Adatbázis Rendszerek
Budapesti Műszaki és Gazdaságtudományi Egyetem
Fotogrammetria és Térinformatika Tanszék
2010
Dr. Alhusain Othman
oalhusain@gmail.com
2
7. Relációs algebra
7.1. Bevezetés7.2. Klasszikus- és relációs- algebra 7.3. A relációs adatmodell műveleti része7.4. Relációs algebrai műveletek csoportjai
7.4.1. Mag Műveletek:7.4.1.1. Halmaz műveletek
- Unió- Metszet- Különbség
7.4.1.2. Sor/Oszlop műveletek- Vetítés- Kiválasztás- Descartes szorzat- Természetes összekapcsolás
7.4.1.3. Más műveletek7.4.2. Kiegészítő műveletek7.4.3. Relációs műveletek összegezve
7.5. Relációs algebra multi-halmazokon7.6. Aggregációs operátorok7.7. Csoportosítási operátorok
3
7. Relációs algebra
7.1. Bevezetés:
A felhasználás során nagyon fontos hogy, a különböző felhasználók tudják módosítni és lekérdezni az adatbázis tartalmát.
Az adatbázis tehát attól lesz „élő”, hogy csatlakozik hozzá egy funkciócsoport, amely lehetővé teszi a különböző műveletek elvégzését.
A relációs adatmodell műveleti része ezen dinamikusadatkezelő és adatlekérdező lehetőségeket foglalja magába.
4
7. Relációs algebra
7.2. Klasszikus- és relációs- algebra:
7.2.1. Klasszikus algebra:
Matematikai rendszer amely foglal magában:
Operandusok: változok vagy értékek amelyekből uj értékeket lehet generálni.
Operatorok: Szimbólumok amelyek jelölik eljárásokat új értékek generálására adott régi értékekből.
Pld.
1 + 5 = 6
5
7. Relációs algebra
7.2. Klasszikus- és relációs- algebra:
7.2.2. Relációs algebra:
Egy fajta algebra amelyben az operandusok relációk (táblák) vagy változók amelyek relációkat (táblákat) képviselik.
Az operatorok a relációs algebrában ügy vannak tervezve hogy képesek végrehajtani legtöbb szükséges műveletet a relációkon.
• Az eredményezett egy fajta algebrát amely használható „kereső nyelv”-ként az adatbázisban.
6
7. Relációs algebra
7.3. A relációs adatmodell műveleti része:
7.1.1. Algebrai művelet:
A relációs algebrai műveletek mindegyike minden esetben relációkon értelmezett.
Algebrai műveletek biztos elméleti alapokon nyugszik, melyet összefoglalóan relációs algebrának neveznek.
Általában az algebrai (lekérdező) műveletek nem változtatják meg az operandusként megadott relációkat (táblák), csak olvassák azokat, majd az eredményt leteszik egy új, önálló eredmény relációba.
Ez azt jelenti, hogy bemenő operandusai a relációk (táblák) lehetnek, melyekkel az alábbi műveletek végezhetők:
adatok lekérdezése
adatok módosítása
adatok felvitele Adatkezelő
adatok törlése
7
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.1. Halmaz műveletek:
Műveletek amelyek szükségeltetik azonos relációs séma
minden két (vagy több) operandusokban.
Unió,
Metszet,
Különbség.
8
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.2. Sor/oszlop műveletek:
Kiválasztás: Rekordok kiválasztásara.
Vetítés: Oszlopok kiválasztásara.
Produktum és Összekapcsolás: Relációk kombinálására.
9
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.3. Más műveletek:
Átnevezés: Relációk és attribútumok át nevezésére.
Kiterjesztés:
Csoportosítás:
10
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.4. Mag műveletek összegezve:
Halmaz Műveletek Sor/oszlop Műveletek
Más Műveletek
- unió- metszet
- különbség
- osztás
- szelekció- projekció- Join , egyesítés
- kiterjesztés
- csoportosítás
- átnevezések
11
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.2. Kiegészítő műveletek:
12
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:7.4.3. Relációs műveletek összegezve:
A relációs algebra műveletei közül az első három játssza a legnagyobb szerepet, mivel ezek a műveletek fordulnak elő a leggyakrabban a lekérdezések során.
A szelekciós műveletek a relációban szereplő rekord előfordulások egy részhalmazának az előállításra szolgál. A kiválasztott részhalmazba csak azok a rekord előfordulások kerülnek bele, melyek kielégítik a szelekciós feltételt.
A szelekció elvégzéséhez tehát meg kell adni egy relációt és egy feltételt, a feltételnek olyannak kell kennie, hogy a reláció minden rekordjára kiértékelhető legyen, s egy logikai értéket adjon vissza, azon rekordok, melyekre a feltétel igaz értékű lesz, bekerülnek az eredményrelációba.
Úgyis mondhatnánk, hogy a szelekció a tábla néhány sorát adja meg eredményként.
13
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.1. Halmaz műveletek:
Mindkét reláció sémájának ugyanazon attribútumokat kell tartalmaznia.
Azonos, de más néven szereplő attribútumokat át kell nevezni.
Oszlopokat azonos sorrendűre kell rendezni.
14
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.1. Halmaz műveletek:
R VezNév KerNév Szül
Kovács József 1967
Nagy Mária 1967
S VezNév KerNév Szül
Nagy Mária 1967
Szabó Géza 1977
15
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.1. Halmaz műveletek:
Unió:
R S: R-ben és S-ben szereplő sorok összessége.
Mindkettőben szereplő sor csak egyszer szerepel az eredményben.
R S VezNév KerNév Szül
Kovács József 1967
Nagy Mária 1967
Szabó Géza 1977
16
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.1. Halmaz műveletek:
Metszet:
R S: R-ben és S-ben egyaránt szereplő sorok.
R S VezNév KerNév Szül
Nagy Mária 1967
17
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.1. Halmaz műveletek:
Különbség:
R – S: Azon sorok, amelyek szerepelnek R-ben, de nincsenek S-ben
R – S S – R !
R – S VezNév KerNév Szül
Kovács József 1967
18
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.2. Sor/oszlop műveletek:
Vetités:
Új reláció létrehozása, a régi reláció bizonyos oszlopaiból.
VezNév, Szül(R): De! : Szül(R):
VezNév Szül
Kovács 1967
Nagy 1967
Szül
1967
19
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.2. Sor/oszlop műveletek:
Kiválasztás:
Új reláció létrehozása, a régi reláció bizonyos soraiból
Sorok kiválasztása feltétel alapján
Szül>1970(S):
VezNév KerNév Szül
Szabó Géza 1977
20
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.2. Sor/oszlop műveletek:
Descartes szorzat:
R S: új reláció létrehozása, amely sémája az R és S
sémájának egyesítése, sorai R és S sorainak kombinációja
Azonos nevű attribútumok esetén átnevezés
1 2
3 4
X Y
5 6
7 8
Y Z
5 6
7 8
S.Y Z
5 6
7 8
1 2
X R.Y
3 4
1 2
3 4
21
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.2. Sor/oszlop műveletek:
Összekapcsolás: Theta
Új reláció, ahol a megegyező attribútumok alapján táblákat kapcsolunk össze.
R3 := R1 JOINC R2
Hajtson végre a produktum R1 * R2.
Utána kell alkalmazni egy „kiválasztási” műveletet az eredményre.
C bár milyen logikai feltétel lehet.
=<
22
7. Relációs algebra
Öszekapcsolás: Theta
Elad( kocsma, sör, ár ) Kocsmák( név, cím )Joe’s Bud 2.50 Joe’s Maple St.Joe’s Miller 2.75 Sue’sRiver Rd.Sue’s Bud 2.50Sue’s Coors 3.00
KocsmaInfo := Elad JOIN Elad.kocsma = Kocsmák.név Kocsmák
BarInfo(kocsma, sör, ár, név, cím )Joe’s Bud 2.50 Joe’s Maple St.Joe’s Miller 2.75 Joe’s Maple St.Sue’s Bud 2.50 Sue’s River Rd.Sue’s Coors 3.00 Sue’s River Rd.
23
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.2. Sor/oszlop műveletek:
Összekapcsolás: Természetes
Gyakori összekapcsolás amely két reláció kapcsol össze, azzal hogy:
– Egyenlíti az azonos nevű attribútumokat.
– Vetíteni egy másolat ebből a kiegyenlített attributumokat.
– Jelölése: R3 :=R1 JOIN R2
24
7. Relációs algebra
Összekapcsolás: Természetes
Elad( kocsma, sör, ár ) Kocsmák(kocsma, cím )Joe’s Bud 2.50 Joe’s Maple St.Joe’s Miller 2.75 Sue’s River Rd.Sue’s Bud 2.50Sue’s Coors 3.00
KocsmaInfo := Elad JOIN KocsmákA Kocsmák.név-ból kellet létrehozni Kocsmák.kocsma hogy biztosítjuk a természetes „join” mükődését.
KocsmaInfo( kocsma, sör, ár, cím )Joe’s Bud 2.50 Maple St.Joe’s Milller 2.75 Maple St.Sue’s Bud 2.50 River Rd.Sue’s Coors 3.00 River Rd.
25
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.3. Más műveletek:
Mező attribútum átnevezés:
Az „átnevezés” RENAME operator rendel új sémát a relációhoz
Formája R1(A1, …., An):=R2
Ezzel a reláció R1 (A1, ….An) attributumai az R2 relációből veszi az értékük.
26
7. Relációs algebra
7.4. Relációs algebrai műveletek csoportjai:
7.4.1. Mag (eredeti) relációs algebrai műveletek:
7.4.1.3. Más műveletek:
Mező attribútum átnevezés: Kocsmák(név, cím )Joe’s Maple St.Sue’s River Rd.
R( kocsma, cím )Joe’s Maple St.Sue’s River Rd.
R(kocsma, cím) := Kocsmák
27
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon):
A Táska (vagy multhalmaz ) hasonlít a szokásos halmazra, ezzel a feltétellel hogy az elemek ismétlődhatnak.
pld: {4,2,4,6} egy táska (multihalmaz).
és : {4,2,3} is táska (multihalmaz) de egyben halmaz is.
Az SQL nagyon alkalmazható a táskára (a multihalmazokra).
Egyes műveletek (pld. Vetítés ) hatékonyabb a táskákra mint a halmazokra.
Műveletek mint a kiválasztás, a kivetítés, a produktom, és az összekapcsolás mind alkalmazható a táskákra.
28
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon):
R( A, B )1 25 61 2
SELECTA+B<5 (R) = A B1 21 2
29
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon):
R( A, B )1 25 61 2
PROJECTA (R) = A151
30
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Produktum
R( A, B ) S( B, C )1 2 3 45 6 7 81 2
R * S = A R.B S.B C1 2 3 41 2 7 85 6 3 45 6 7 81 2 3 41 2 7 8
31
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Theta join
R( A, B ) S( B, C )1 2 3 45 6 7 81 2
R JOIN R.B<S.B S = A R.B S.B C1 2 3 41 2 7 85 6 7 81 2 3 41 2 7 8
32
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Unió
Az elem szerepel az uniós táskában ahányszor szerepel mind a kettő táskában.
Pld.: {4,2,1} UNION {1,1,2,3,1} = {1,1,1,1,2,2,3,4}
33
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Metszet
Az elem szerepel a metszet táskában annyiszor mint a minimális szereplése az egyik táskában.
Pld.: {4,2,1} INTER {1,1,2,3,1} = {1,2}
{1,2,1,1} INTER {1,2,1,3} = {1,1,2}.
34
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Különbözet
Az elem szerepel az (A-B) különbözet táskában annyiszor mint ahányszor szerepel az A táskában mínusz ahányszor szerepel a B táskában.
Pld.: {1,2,1,1} - {1,2,3} = {1,2}
35
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Duplázás elimináció
Formája: R1 := DELTA(R2).
R1 Tartalmáz egy másolatot minden rekordból amely szerepel R2 ban egy vagy többször.
R = ( A B )1 23 41 2
DELTA(R) = A B1 23 4
36
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Metszet
Az elem szerepel a metszet táskában annyiszor mint a minimális szereplése az egyik táskában.
Pld.: {4,2,1} INTER {1,1,2,3,1} = {1,2}
{1,2,1,1} INTER {1,2,1,3} = {1,1,2}.
37
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Metszet
Az elem szerepel a metszet táskában annyiszor mint a minimális szereplése az egyik táskában.
Pld.: {4,2,1} INTER {1,1,2,3,1} = {1,2}
{1,2,1,1} INTER {1,2,1,3} = {1,1,2}.
38
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Szortirozás
Formája: R1 := TAUL (R2).
L lista az R2 nek attributmai egy csoportja
R1 a rekordoknak a listája tárolva először az első L-es attribútum alapján, utána a második L-es attribútum alapján, és igy tovább.
Véletlenszerűen szét bontja a kapcsolatokat.
TAU az egyetlen operator amelynek az eredménye nem halmaz sem táska.
39
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Szortirozás
R = ( A B )1 23 45 2
TAUB (R) = [(5,2), (1,2), (3,4)]
40
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Kiterjesztett vetítés
A PROJ operator felhasználásával lehet engedni a lista L hogy tartalmaz véletlen kifejezések az attribútumokat felhasználva.
– Matematikai attribútumokat alkalmazhatók (A+B).
– Duplikált előfordulása ugyan az egy attribútum megengedett.
41
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Kiterjesztett vetítés
R = ( A B )1 23 4
PROJA+B,A,A (R) = A+B A1 A23 1 17 3 3
42
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Külső összekapcsolás
Ha a cél összekapcsolni R és S relációk C keresztül (RJOINC S).
Az R-nek a rekordja amelynek nincs S-es rekord amellyel tud vele kapcsolni „Logos” rekordnak nevezik.
Ugyanaz S esetén.
Az Outerjoin tartja a „logos” rekordok kiegészítve őket egy Null-val a kapcsolási eredmény számításnál.
43
7. Relációs algebra
7.5. Relációs algebra multi-halmazokon (táskákon): Külső összekapcsolás
R = ( A B ) S = ( B C )1 2 2 34 5 6 7
(1,2) joins with (2,3), but the other two tuplesare dangling.
R OUTERJOIN S = A B C1 2 34 5 NULLNULL 6 7
44
7. Relációs algebra
7.6. Aggregációs operatorok:
Aggregációs operatorok nem minősülnek reláció algebrának.
Igy csak alkalmazhatók (egész) oszlopokra produkálva egyetlen egy eredményt.
A legfontosabbak: Sum (összegezni), Avg (átlagolni), Count (számolni), Min (minimális érték), Max )maximális érték).
R = ( A B )1 33 43 2
SUM(A) = 7COUNT(A) = 3MAX(B) = 4AVG(B) = 3
45
7. Relációs algebra
7.7. Csoportosítási operatorok:
Formája: R1 := GAMMAL (R2). L elemek lista amely:
Vagy egyedi csoportosítási attribútumok
Vagy aggregáció operator Agg(A) ahol A egy attribútum.
Csoportosíts R az összes attribútum lista alapján L-ben.
Avagy alkot egy csoport minden érték listának ezeknek az attribútumoknak R-ben.
Minden csoport kell számolni az AGG(A) minden aggregáció az L listán.
Az eredmény fog tartalmazni egy rekord minden csoportnak:
A csoportosítási attribútumok
Az csoportjuk aggregációk
46
7. Relációs algebra
7.7. Csoportosítási operatorok:
GAMMAA,B,AVG(C) (R) = ??R = ( A B C )
1 2 34 5 61 2 5
Előszor, csoportosítj R A és B alapján:
A B C1 2 31 2 54 5 6
Másodszor, C átlagolása minden csoportban:
A B AVG(C)1 2 44 5 6
top related