adatbázis rendszerek - web.fmt.bme.huweb.fmt.bme.hu/subjects/adatbazis_r/7...

Post on 30-Apr-2018

219 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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