Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adatbázis rendszerek I

Hasonló előadás


Az előadások a következő témára: "Adatbázis rendszerek I"— Előadás másolata:

1 Adatbázis rendszerek I
A relációs adatmodell műveleti része (relációs algebra és kalkulus) Általános Informatikai Tsz. Dr. Kovács László

2 Relációs algebra A struktúra felépítése után következhet az adatok felvitele, módosítása, lekérdezése. Az adatmodell műveleti része definiálja a rendelkezésre álló operátorokat. Műveletek típusai: - adatdefiniáló (DDL) - adatkezelő (DML) - lekérdező (DQL) - vezérlő (DCL) Cél: legyen rugalmasabb, egyszerűbb, hatékonyabb mint a hálós modell műveleti része. Típusai: - relációs algebra - relációs kalkulus

3 Relációs algebra Relációs algebra operandusai a relációk operátorai zártak a reláció halmazra A műveletek operandusai és eredményük is relációk, azaz azonos típusú rekordok halmaza. Fő erőssége és különlegessége a lekérdezési rész. Egy és két operandusú operátorok léteznek, a lekérdezési műveletek láncolhatók. Descriptív, az eredmény relációhoz vezető műveletsor lépéseit kell megadni a lekérdezés megfogalmazásánál.

4 } } Relációs algebra A relációs algebra műveletei: szelekció projekció
kiterjesztés aggregáció csoportképzés join metszet különbség unió osztás } egy operandusú } két operandusú

5 A szelekció eredmény halmazába csak azok a rekord előfordulások
Relációs algebra Szelekció A szelekció eredmény halmazába csak azok a rekord előfordulások kerülnek bele, melyek kielégítik a megadott feltételt. AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz típus szín r2 Opel kék r6 Mazda piros r4 Skoda szelekciós feltétel: szín = ‘kék’ VAGY típus = ‘Mazda’

6 A projekció eredmény halmazába csak a megadott mezők értékei
Relációs algebra Projekció A projekció eredmény halmazába csak a megadott mezők értékei kerülnek át az alapreláció minden egyes rekord előfordulásából. AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada típus szín Fiat zöld Opel kék Mazda piros Skoda Lada projekciós mezőlista: típus, szín

7 A szelekció és a projekció együttes alkalmazása:
Relációs algebra A szelekció és a projekció együttes alkalmazása: szelekciós feltétel: szín = ‘kék’ VAGY szín = ‘piros’ AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz r2 r6 r4 r9 projekciós mezőlista: rsz

8 Alap join (összekapcsolás, Descartes-szorzat)
Relációs algebra Alap join (összekapcsolás, Descartes-szorzat) Rekord előfordulások összes lehetséges párosítása adja meg az eredményrelációt. AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r5 rsz típus szín név kor r1 Fiat zöld Pali 36 r2 Opel kék r5 Anna 29 EMBER név kor Pali 36 Anna 29

9 A szelekciós join és a projekció összekapcsolása:
Relációs algebra A szelekciós join és a projekció összekapcsolása: AUTÓ rsz típus tulaj r1 Fiat 1 r2 Opel 2 r5 rsz típus tulaj név kód r1 Fiat 1 Pali r2 Opel 2 Anna r5 EMBER feltétel: tulaj = kód projekció: rsz, név név kód Pali 1 Anna 2 Gabi 4 Tomi 3 rsz név r1 Pali r2 Anna r5

10 Natural join (természetes összekapcsolás)
Relációs algebra Natural join (természetes összekapcsolás) Az illeszkedési feltétel az azonos elnevezésű mezők értékegyezősége. AUTÓ rsz típus ekod r1 Fiat 1 r2 Opel 3 r5 rsz típus ekód név r1 Fiat 1 Pali r2 Opel 3 Gabi r5 EMBER név ekod Pali 1 Anna 2 Gabi 3

11 Rekord előfordulás halmazok egyesítése.
Relációs algebra Unió Rekord előfordulás halmazok egyesítése. LÁNYOK Név kod Anna 1 Ilona 3 Mária 5 Név kod Anna 1 Ilona 3 Mária 5 Pali 11 Zsolt 22 Gabi 31 FIÚK név kod Pali 11 Zsolt 22 Gabi 31

12 Közös rekord előfordulások meghatározása.
Relációs algebra Metszet Közös rekord előfordulások meghatározása. LÁNYOK Név kod Anna 1 Ilona 3 Mária 5 Név kod Anna 1 Mária 5 VERSENYZŐK név kod Pali 11 Anna 1 Mária 5

13 A Descartes-szorzat inverz művelete.
Relációs algebra Osztás A Descartes-szorzat inverz művelete. HOBBY név hobby Laci foci Tibor tenisz János Zoltán futás Gábor Név Laci Zoltán SPORTÁG hobby foci futás

14 Új mező hozzáadása a relációs sémához.
Relációs algebra Kiterjesztés Új mező hozzáadása a relációs sémához. AUTÓ rsz típus ár r1 Fiat 250 r2 Opel 500 r5 375 rsz típus ár Euro r1 Fiat 250 1 r2 Opel 500 2 r5 375 1.5 új mező: Euro = ár / 250

15 Összesítő értékek képzése a teljes relációhoz.
Relációs algebra Aggregáció Összesítő értékek képzése a teljes relációhoz. AUTÓ rsz típus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 2570 r5 850 r8 1000 COUNT(*) 8 aggregáció: COUNT(*)

16 Szelekció: a megadott feltételnek eleget tévő rekordok kerülnek
Relációs algebra Szelekció: a megadott feltételnek eleget tévő rekordok kerülnek át az eredmény relációba. jele: felt(r) X Y(r) = { t  r | t(X)  t(Y)} AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz típus szín r2 Opel kék r6 Mazda piros r4 Skoda szín=‘kék’ OR típus=‘Mazda’ (AUTO)

17  típus, szín (AUTO) Relációs algebra
Projekció: csak a kijelölt mezők kerülnek át az eredmény relációba. jele: mlista(r)  X (r) = {t(X)  r | t  r} AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada típus szín Fiat zöld Opel kék Mazda piros Skoda Lada  típus, szín (AUTO) KL

18 Műveletek kombinálása:
Relációs algebra Műveletek kombinálása: AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz r2 r6 r4 r9  rsz (szín=‘kék’ OR típus=‘Mazda’ (AUTO) )

19 Join: a két reláció rekordjainak párosait adja eredményként.
Relációs algebra Join: a két reláció rekordjainak párosait adja eredményként. jele: r1  r2 alap join (Descartes-szorzat): r1  r2 = {(t,s) | t  r1 , s  r2} AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r5 rsz típus szín név kor r1 Fiat zöld Pali 36 r2 Opel kék r5 Anna 29 EMBER név kor Pali 36 Anna 29 AUTÓ  EMBER

20 Relációs algebra Szelekciós join: a két reláció rekordpárosaiból a feltételnek eleget tévő párosokat adja eredményként. jele: r1 felt r2 r1  felt r2 = felt(r1  r2 ) Natural join: olyan szelekciós join, mely az azonos elnevezésű mezők értékegyezőségén alapszik. jele: r1 = r2 r1  = r2 =  (R1 U R2) \ X(r1.X = r2.X (r1  r2 )) ritkán implementált

21 Relációs algebra Outer join: olyan szelekciós join, melyben az illeszkedő pár nélküli rekordok is bekerülnek az eredmény halmazba (üres étékekkel kiegészítve). jele: r1 +felt r2 típusai: - left outer join - right outer join - full outer join T1 +T1.A = T2.A T2 T1 T2 A B A C A B A C 1 C 3 L 1 C 1 T 2 G 1 T 2 G 3 U 5 P 3 U 3 L

22 Relációs algebra Semi join: olyan szelekciós join, melyben az illeszkedő párokból csak a megadott oldal mezői szerepelnek. jele: r1 felt r2 r1 felt r2 =  R2(r1 felt r2) típusai: - left semi join - right semi join T1 <T1.A = T2.A T2 T1 T2 A B A C A B 1 C 3 L 1 C 2 G 1 T 3 U 3 U 5 P

23 ar/100(AUTO) Relációs algebra
Kiterjesztés: a reláció kibővítése származtatott mezőkkel. jele: mlista(r) Az új mező értékének a többi mező értékéből kell meghatározódnia. ar/100(AUTO)

24 Relációs algebra Unió: azonos sémájú relációk rekordhalmazának egyesítése. jele: r1  r2 Metszet: azonos sémájú relációk rekordhalmazának metszete. jele: r1  r2 Különbség: azonos sémájú relációk rekordhalmazának különbsége. jele: r1 \ r2

25 Relációs algebra Osztás: a Descartes szorzat inverze, azon legnagyobb reláció, melynek Descartes szorzata r2-vel benne van r1-ben. jele: r1  r2 HOBBY  SPORTAG

26 Relációs algebra Osztás levezetése az alapműveletekből: r1 / r2 = {t | t  R1\R2(r1) , t  r2  r1} r1 / r2 = R1\R2 (r1) \ R1\R2((R1\R2(r1)  r2) \r1) Megjegyzés: - jelentése a ‘minden’ kvantorhoz kapcsolódik; - ritkán implementált.

27 count(*) (AUTO) Relációs algebra
Aggregáció: a relációból összesítő rekordot állít elő. jele: aggregációs-lista (r) aggregációs függvények: SUM(mez.kif) AVG(mez.kif) COUNT(mez.kif) MAX(mez.kif) MIN(mez.kif) count(*) (AUTO)

28 típustípus, avg(*) (AUTO)
Relációs algebra Csoportképzés és aggregáció: a reláció rekordjait csoportokba rendezi, s minden csoportra egy összesítő rekordot állít elő. jele: csoportképzési kifejezésaggregációs-lista (r) Azon rekordok kerülnek egy csoportba, melyekre a csoport képzési kifejezése azonos értékű. típustípus, avg(*) (AUTO)

29 gyarto(count(*)>5 (gyartogyarto,count(*)( fajta=3 (BOROK))))
Relációs algebra Mintapélda: BOROK(kod, nev, gyarto, fajta, ar) VEVO(vkod, nev, cim) RENDELES(vevo, bor, mennyiseg,datum) 1. Azon vevők, akik rendeltek Bikavért: nev(borok.kod = rendeles.bor AND rendeles.vevo = vevo.vkod AND borok.nev = ‘Bikaver’ (BOROK  RENDELES  VEVO)) 2. Melyik gyártó termel 5-nél több 3-as típusú bort: gyarto(count(*)>5 (gyartogyarto,count(*)( fajta=3 (BOROK))))

30 Relációs algebra Speciális szelekciós operátorok:  : tartalmaz  : nem tartalmaz  : minden kvantor  : létezik kvantor A szelekciós feltételben is szerepelhet relációs algebrai kifejezés. 3. Az átlagnál drágább borok darabszáma: count(*)( ar> (BOROK)) (avg(ar)(BOROK))


Letölteni ppt "Adatbázis rendszerek I"

Hasonló előadás


Google Hirdetések