Relációs algebra lekérdezések optimalizációja. Adatbázisok használata

Hasonló dokumentumok
Relációs algebra 1.rész alapok

Marton József BME-TMIT. Adatbázisok VITMAB november 11.

Lekérdezések optimalizálása

Relációs adatmodell. Adatbázisok használata

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Adatbázis rendszerek 2. előadás. Relációs algebra

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

Adatbázis rendszerek 2. előadás. Relációs algebra

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

RELÁCIÓS LEKÉRDEZÉSEK OPTIMALIZÁLÁSA. Dr. Gajdos Sándor november BME TMIT

RELÁCIÓS LEKÉRDEZÉSEK OPTIMALIZÁLÁSA. Marton József november BME TMIT

Lekérdezések feldolgozása és optimalizálása

Adatbázis rendszerek 7. Matematikai rendszer amely foglal magában:

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

4.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

Lekérdezések az SQL-ben 2.rész

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Adatbázis Rendszerek

Funkcionális függések lekérdezések feldolgozása, kifejezésfák

Tankönyv példák kidolgozása

Relációs algebra 2.rész példák

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Adatbázisok elmélete 4. előadás

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Databases 1. Relációs algebra és nemrekurzív Datalog

2.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Funkcionális függések lekérdezések feldolgozása, kifejezésfák

Algoritmusok Tervezése. Fuzzy rendszerek Dr. Bécsi Tamás

Redukciós műveletek. Projekció (vetítés): oszlopok kiválasztása. Jelölés: attribútumlista (tábla) Példa: Könyv

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Adatbázisok elmélete

Adatbázisok elmélete

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

Adatbázisok tavaszi félév Vizsgatételsor

4. előadás. Relációalgebra és relációkalkulusok. Adatbázisrendszerek előadás október 10.

Adatbázisrendszerek Tervezése Közgazdászoknak Munkapéldány

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

Adatbázisok elmélete 9. előadás

2.4. Egy algebrai lekérdező nyelv

~i 6.2. Több relációra vonatkozó lekérdezések

ADATBÁZIS RENDSZEREK. Attributum típusok, normalizálsá, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

Adatbázisok elmélete 4. előadás

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok

Relációs adatbázisok tervezése ---2

ADATBÁZIS RENDSZEREK. Attributum típusok, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

Csima Judit szeptember 6.

3.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Relációs algebra 1.rész

7. Gyakorlat A relációs adatmodell műveleti része

Adatbázisok elmélete 12. előadás

Adatbázis, adatbázis-kezelő

Adatbázis-kezelés. alapfogalmak

Adatbázisok elmélete 9. előadás

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: Szűcs Miklós - ME, ÁIT. 1.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Adatbázisműveletek és lekérdezésoptimalizálás

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok

Érettségi előkészítő emelt szint évf. Matematika. 11. évfolyam. Tematikai egység/fejlesztési cél

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

2.4. Egy algebrai lekérdezo nyelv

Adatbázisok elmélete 6. előadás

Sor és oszlopkalkulus

Adatbázisok elmélete 9. előadás

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Matematikai logika és halmazelmélet

Az áprilisi vizsga anyaga a fekete betűkkel írott szöveg! A zölddel írott rész az érettségi vizsgáig még megtanulandó anyag!

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Párhuzamosítás adatbáziskezelő rendszerekben

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

Adatbázisok elmélete 6. előadás

I. Gondolkodási módszerek: (6 óra) 1. Gondolkodási módszerek, a halmazelmélet elemei, a logika elemei. 1. Számfogalom, műveletek (4 óra)

Adatbázisok elmélete 6. előadás

Osztályozóvizsga követelményei

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Adatbázisok I A relációs algebra

2019/02/11 10:01 1/10 Logika

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

9. ÉVFOLYAM. Tájékozottság a racionális számkörben. Az azonosságok ismerete és alkalmazásuk. Számok abszolútértéke, normál alakja.

Magas szintű adatmodellek Egyed/kapcsolat modell I.

3. Egyenletek, egyenletrendszerek, egyenlőtlenségek

Átírás:

Relációs algebra lekérdezések optimalizációja Adatbázisok használata

Mi a cél? Moore-törvénye: (Gordon Moore) szerint az integrált áramkörök sok jellemzőjének fejlődése exponenciális, ezek az értékek 18 havonta duplázódnak. Ilyenek például: (i) processzorok sebességének és árának aránya, (ii) lemez egy bitre eső ára és a lemezen tárolható bájtok száma. Más paraméterek azonban sokkal lassabban fejlődnek. Ilyenek például: (i) központi memóriában milyen gyorsan lehet az adatokat elérni, (ii) az a sebesség, amellyel a lemez mozog. Emiatt egy-egy nagy adathalmazzal dolgozó algoritmus optimalizációjánál az a lényeges szempont, hogy a feladatot minél kevesebb adatmozgatással tudjunk megoldani a háttértároló és a központi memória között.

Számítógép rendszer sematikus ábrája

Egy lehetséges megközelítés Az adatbázisoknál az előbbiek nyilván úgy értendők, hogy szeretnénk minél kevesebb lemez olvasási és írási (I/O) műveletet végrehajtani egy-egy lekérdezés végrehajtása során. Az legegyszerűbb megközelítés, ha igyekszünk minél kisebb méretű relációkkal dolgozni. Az optimalizáció során relációs algebrai azonosságokat fogunk alkalmazni. Ezek segítségével egy lekérdezésből az eredetivel ekvivalens lekérdezést készítünk, amelynek kiszámítása az esetek többségében kevesebb I/O műveletet igényel majd. A q, q relációs algebrai lekérdezések (vagy tetszőleges lekérdezések) ekvivalensek, ha tetszőleges I előfordulás esetén q(i) = q (I) fennáll. Jelben: q q.

Egy példa A táblák legyenek: Film (cím, év, hossz) Szerepel (filmcím, év, színésznév) Ekkor a következő lekérdezés: cím (σ cím=filmcím F.év=Sz.év színésznév='edus' (F Sz)) ekvivalens a cím (σ cím=filmcím F.év=Sz.év (F (σ színésznév='edus' (Sz)))) lekérdezéssel. Emellett az utóbbi valószínűleg gyorsabban végrehajtható.

Descartes-szorzat és összekapcsolások Asszociativitás: (E 1 Θ E 2 ) Θ E 3 E 1 Θ (E 2 Θ E 3 ), ahol Θ {, } és [természetes összekapcsolás] (E 1 F1 E 2 ) F2 E 3 E 1 F1 (E 2 F2 E 3 ), ha attr(f1) attr(e1) attr(e2) és attr(f2) attr(e2) attr(e3) [θ összekapcsolás] Kommutativitás: E 1 Θ E 2 E 2 Θ E 1, ahol Θ {,, F }.

Projekció sorozat: Projekció és szelekció Π X (Π Y (E)) Π X (E), ha X Y. Kiválasztás és a feltételek konjunkciója: σ F1 F2 (E) σ F1 (σ F2 (E)). Kiválasztás és a feltételek diszjunkciója: σ F1 F2 (E) σ F1 (E) σ F2 (E). Kiválasztás elé projekció beillesztése: Π X (σ F (E)) Π X (σ F (Π Y (E))), ahol Y = attr(f) X.

Kiválasztás és Descartes-szorzat/összekapcsolás Kiválasztás és Descartes-szorzat, összekapcsolás felcserélése: σ F (E 1 Θ E 2 ) σ F (E 1 ) Θ E 2, ahol attr (F) attr (E 1 ) és Θ Є {, }. Általánosabban: σ F (E 1 Θ E 2 ) σ F1 (E 1 ) Θ σ F2 (E 2 ), ahol attr (F i ) attr (E i ) (i = (1, 2)) F = F 1 F 2 és Θ Є {, }. Ezekből levezethető: σ F (E 1 Θ E 2 ) σ F2 (σ F1 (E 1 ) Θ E 2 ), ahol attr (F 1 ) attr (E 1 ), F = F 1 F 2, de attr (F 2 ) attr (E i ) nem teljesül (i = (1, 2)), Θ Є {, }.

Projekció és Descartes-szorzat/összekapcsolás Projekció és Descartes-szorzat, összekapcsolás felcserélése: Π X (E 1 Θ E 2 ) Π Y (E 1 ) Θ Π Z (E 2 ), ahol X = Y Z, Y attr (E 1 ), Z attr (E 2 ) és Θ Є {, }.

Projekció/kiválasztás és halmazműveletek Kiválasztás és unió (különbség) felcserélése: σ F (E 1 Θ E 2 ) σ F (E 1 ) Θ σ F (E 2 ), ahol Θ {, }. Projekció unióval való felcserélése: Π X (E 1 E 2 ) Π X (E 1 ) Π X (E 2 ). Megjegyzés: nincs általános szabály a projekció különbséggel való felcserélésére. Kérdés: a metszettel mi a helyzet? [reláció séma]

Példa optimalizálásra A következő két feladathoz használt táblák: Személy (név, kor, város, ISBN) Könyv (cím, író, ISBN, ár) Kiad (k_cím, k_író, város, ország) Kik azok, akik 20 évesek, és moszkvai kiadású könyvet kölcsönöztek ki? Π N (σ Sz.ISBN=Kö.ISBN cím=k_cím író=k_író kor=20 K.város=Moszkva (Sz Kö K))

Lekérdezésfa Π név σ Sz.ISBN=Kö.ISBN cím=k_cím író=k_író kor=20 K.város=Moszkva Sz Kö K

Kiválasztások "lejjebb csúsztatása" Első lépésben a kiválasztások konjunkciós feltételeit daraboljuk szét elemi feltételekké a σ F1 F2 (E) σ F1 (σ F2 (E)) szabály segítségével. Ezek után alkalmazzuk a kiválasztás halmazműveletekkel illetve Descartes-szorzattal és a természetes összekapcsolással való felcserélésének szabályait. Azaz: igyekszünk a kiválasztásokat minél hamarabb végrehajtani, hiszen azok jelentősen csökkenthetik a feldolgozandó köztes relációk méretét. A Théta-összekapcsolást itt jobb, ha egy Descartes-szorzatra és egy azt követő kiválasztásra bontjuk. R F S σ F (R S).

Darabolás Π név σ Sz.ISBN=Kö.ISBN σ cím=k_cím író=k_író σ kor=20 σ K.város=Moszkva Sz Kö K

Letolás Π név σ Sz.ISBN=Kö.ISBN σkor=20 σ cím=k_cím író=k_író Sz Kö σ K.város=Moszkva K

Projekciók "beírása" Ennél a lépésnél igyekszünk csak azokat az oszlopokat megtartani a (köztes) relációkban, amelyekre később szükség lesz. Általában itt nem olyan nagy a nyereség. A projekciók végrehajtása viszont időt igényel, ezért meg kell gondolni, hogy tényleg végre akarjuk-e hajtani a vetítést. Az átalakításoknál értelemszerűen a projekciókra vonatkozó szabályokat használjuk.

Π név σ Sz.ISBN=Kö.ISBN Π név, ISBN Π Kö.ISBN σ kor=20 σ cím=k_cím író=k_író Sz Kö Π k_cim,k_író σ K.város=Moszkva K

Összekapcsolások Az utolsó lépésben L (σ C (R S)), σ C (R S) kifejezéseket helyettesítjük természetes összekapcsolással, Thétaösszekapcsolással úgy, hogy az eddigivel ekvivalens lekérdezést kapjunk.

Π név Π név, ISBN Π Kö.ISBN σ kor=20 Sz Kö cím=k_cím író=k_író Π k_cim,k_író σ K.város=Moszkva K

Mi történik, ha a diszjunkció is megjelenik? Kik azok, akik 1000 forintos könyvet vásároltak, és még nincsenek 40 évesek, vagy moszkvaiak, és orosz kiadású könyvet vettek? Π N (σ C ((ár=1000 kor<40) (Sz.város=Moszkva ország=orosz)) (Sz Kö K)). Itt C az Sz.ISBN = Kö.ISBN Kö.cím = K.k_cím Kö.író = K.k_író feltételt jelöli.

Megoldás I. Π név Π név Π név,isbn Π ISBN Π név,isbn cím=k_cím író=k_író σ kor<40 σ ár=1000 σ város=moszkva Π iró,cím Π k_író,k_cím Sz Kö Sz Kö σ ország=orosz K

Megoldás II. Π név σ (kor<40 ár=1000) (város=moszkva ország=orosz) σ kor<40 város=moszkva Sz Kö cím=k_cím író=k_író Π k_író,k_cím,ország K

Összegzés Ha tehát a kiválasztások feltételei diszjunkciót is tartalmaznak, a helyzet bonyolultabbá válik, és nem adható olyan egyértelmű optimalizációs algoritmus, mint konjunkciók esetén.

Kiválasztások feljebb csúsztatása A következő példa azt szemlélteti, amikor egy kiválasztást először felfelé kell csúsztatnunk, hogy aztán letolhassuk. A táblák: Film (cím, év, hossz) Szerepel (filmcím, év, színésznév) CREATE VIEW film04 AS (SELECT * FROM film WHERE év = 2004); SELECT színésznév FROM film04 f, Szerepel sz WHERE cím = filmcím AND f.év = sz.év;

Kezdeti lekérdezésfa színésznév σ cím=filmcím F.év=Sz.év σ év=2004 Sz F

Második lépés színésznév σ cím=filmcím F.év=Sz.év σ év=2004 F Sz

És az eredmény színésznév σ cím=filmcím F.év=Sz.év σ év=2004 F σ év=2004 Sz

Feladat A táblák legyenek: Film (cím, év, hossz) Szerepel (filmcím, év, színésznév) Színész (név, kor, város) Adjuk meg, hogy a nem budapesti, negyven évesnél idősebb színészek milyen filmekben játszottak 1998-ban. A lekérdezést optimalizáljuk.