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 A relációs adatmodell műveleti része (relációs algebra és kalkulus) Általános Informatikai Tsz. Dr. Kovács László.

Hasonló előadás


Az előadások a következő témára: "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ó."— 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 operandusai a relációkoperá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 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. rsztípusszín r1Fiatzöld r2Opelkék r6Mazdapiros r4Skodakék r9Ladapiros AUTÓ rsztípusszín r2Opelkék r6Mazdapiros r4Skodakék szelekciós feltétel: szín = ‘kék’ VAGY típus = ‘Mazda’

6 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. rsztípusszín r1Fiatzöld r2Opelkék r6Mazdapiros r4Skodakék r9Ladapiros AUTÓ projekciós mezőlista: típus, szín típusszín Fiatzöld Opelkék Mazdapiros Skodakék Ladapiros

7 Relációs algebra A szelekció és a projekció együttes alkalmazása: rsztípusszín r1Fiatzöld r2Opelkék r6Mazdapiros r4Skodakék r9Ladapiros AUTÓ rsz r2 r6 r4 r9 projekciós mezőlista: rsz szelekciós feltétel: szín = ‘kék’ VAGY szín = ‘piros’

8 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. rsztípusszín r1Fiatzöld r2Opelkék r5Fiatkék AUTÓ névkor Pali36 Anna29 EMBER rsztípusszínnévkor r1FiatzöldPali36 r2OpelkékPali36 r5FiatkékPali36 r1FiatzöldAnna29 r2OpelzöldAnna29 r5FiatkékAnna29

9 Relációs algebra A szelekciós join és a projekció összekapcsolása: rsztípustulaj r1Fiat1 r2Opel2 r5Fiat1 AUTÓ névkód Pali1 Anna2 Gabi4 Tomi3 EMBER rsztípustulajnévkód r1Fiat1Pali1 r2Opel2Anna2 r5Fiat1Pali1 feltétel: tulaj = kód projekció: rsz, név rsznév r1Pali r2Anna r5Pali

10 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. rsztípusekod r1Fiat1 r2Opel3 r5Fiat1 AUTÓ névekod Pali1 Anna2 Gabi3 EMBER rsztípusekódnév r1Fiat1Pali r2Opel3Gabi r5Fiat1Pali

11 Relációs algebra Unió Rekord előfordulás halmazok egyesítése. Névkod Anna1 Ilona3 Mária5 LÁNYOK névkod Pali11 Zsolt22 Gabi31 FIÚK Névkod Anna1 Ilona3 Mária5 Pali11 Zsolt22 Gabi31

12 Relációs algebra Metszet Közös rekord előfordulások meghatározása. Névkod Anna1 Ilona3 Mária5 LÁNYOK névkod Pali11 Anna1 Mária5 VERSENYZŐK Névkod Anna1 Mária5

13 Relációs algebra Osztás A Descartes-szorzat inverz művelete. névhobby Lacifoci Tibortenisz Jánosfoci Zoltánfutás Lacifutás Zoltánfoci Gábortenisz HOBBY hobby foci futás SPORTÁG Név Laci Zoltán

14 Relációs algebra Kiterjesztés Új mező hozzáadása a relációs sémához. rsztípusár r1Fiat250 r2Opel500 r5Fiat375 AUTÓ rsztípusárEuro r1Fiat2501 r2Opel5002 r5Fiat új mező: Euro = ár / 250

15 Relációs algebra Aggregáció Összesítő értékek képzése a teljes relációhoz. rsztípusár r1Fiat1200 r2Opel930 r6Mazda870 r4Skoda1500 r9Suzuki1400 r7Opel2570 r5Fiat850 r8Opel1000 AUTÓ COUNT(*) 8 aggregáció: COUNT(*)

16 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)}  szín=‘kék’ OR típus=‘Mazda’ (AUTO) rsztípusszín r1Fiatzöld r2Opelkék r6Mazdapiros r4Skodakék r9Ladapiros AUTÓ rsztípusszín r2Opelkék r6Mazdapiros r4Skodakék

17 Relációs algebra KL 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}  típus, szín (AUTO) rsztípusszín r1Fiatzöld r2Opelkék r6Mazdapiros r4Skodakék r9Ladapiros AUTÓ típusszín Fiatzöld Opelkék Mazdapiros Skodakék Ladapiros

18 Relációs algebra Műveletek kombinálása:  rsz (  szín=‘kék’ OR típus=‘Mazda’ (AUTO) ) rsztípusszín r1Fiatzöld r2Opelkék r6Mazdapiros r4Skodakék r9Ladapiros rsz r2 r6 r4 r9 AUTÓ

19 Relációs algebra Join: a két reláció rekordjainak párosait adja eredményként. jele: r 1  r 2 alap join (Descartes-szorzat): r 1  r 2 = {(t,s) | t  r 1, s  r 2 } rsztípusszín r1Fiatzöld r2Opelkék r5Fiatkék AUTÓ névkor Pali36 Anna29 EMBER rsztípusszínnévkor r1FiatzöldPali36 r2OpelkékPali36 r5FiatkékPali36 r1FiatzöldAnna29 r2OpelzöldAnna29 r5FiatkékAnna29 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: r 1  felt r 2 r 1  felt r 2 =  felt (r 1  r 2 ) Natural join: olyan szelekciós join, mely az azonos elnevezésű mezők értékegyezőségén alapszik. jele: r 1  = r 2 r 1  = r 2 =  ( R1 U R2) \ X (  r1.X = r2.X (r 1  r 2 )) 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: r 1  + felt r 2 típusai: - left outer join - right outer join - full outer join AB C G U AC L T P T1 +  T1.A = T2.A T2 T1T2 AC 1 3 T L AB C G U

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: r 1   felt r 2 típusai: - left semi join - right semi join AB C G U AC L T P T1  < T1.A = T2.A T2 T1T2 AB 1 3 C U r 1   felt r 2 =  R2 (r 1  felt r 2 )

23 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: r 1  r 2 Metszet: azonos sémájú relációk rekordhalmazának metszete. jele: r 1  r 2 Különbség: azonos sémájú relációk rekordhalmazának különbsége. jele: r 1 \ r 2

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: r 1  r 2 HOBBY  SPORTAG

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

27 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 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és aggregációs-lista ( r) Azon rekordok kerülnek egy csoportba, melyekre a csoport képzési kifejezése azonos értékű.  típus típus, avg(*) ( AUTO)

29 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 (  gyarto gyarto,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 A relációs adatmodell műveleti része (relációs algebra és kalkulus) Általános Informatikai Tsz. Dr. Kovács László."

Hasonló előadás


Google Hirdetések