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

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

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

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

Tankönyv példák kidolgozása

Datalog: logikai alapú lekérdezı nyelv

Relációs algebra 2.rész

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

Datalog: logikai alapú lekérdezı nyelv

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

Logikai lekérdezı nyelv: Datalog Rekurzió a Datalogban és az SQL-ben

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

Adatbázisok 1. Rekurzió a Datalogban és SQL-99

Példák átírásokra: Relációs algebrai kifejezések, a kiértékelı fák átírása SQL lekérdezésekre

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

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

7.előadáshoz kieg.: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

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

Rekurzió a Datalogban és az SQL3-ban

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

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

5.3. Logika a relációkhoz

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

Adatbázisok elmélete

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

Relációs algebra 1.rész

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

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

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

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

Csima Judit szeptember 6.

Lekérdezések optimalizálása

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

4. Előadás Az SQL adatbázisnyelv

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

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

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

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

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

Sor és oszlopkalkulus

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

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

Bevezetés: az SQL-be

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

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

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

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ázis rendszerek 7. Matematikai rendszer amely foglal magában:

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

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

2.4. Egy algebrai lekérdező nyelv

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

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

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

Bevezetés: Relációs adatmodell

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Lekérdezések az SQL SELECT utasítással. Copyright 2004, Oracle. All rights reserved.

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

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

Bevezetés: Relációs adatmodell

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

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázis Rendszerek

Adatbázis, adatbázis-kezelő

Az SQL adatbázisnyelv: DML

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

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR ( Adatbázisrendszerek) 12. Előadás:

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

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

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

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

On The Number Of Slim Semimodular Lattices

Lekérdezések az SQL SELECT utasítással

Programok értelmezése

SQL DDL-1: táblák és megszorítások

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Adatbázisok gyakorlat

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

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

Elsőrendű logika. Mesterséges intelligencia március 28.

Adatbázisok elmélete

Adatbázis tartalmának módosítása

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

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

. Vegyük az R U 8 uniót, használjunk a leíráshoz két szabályt és n különbözo

Az adatbázisrendszerek világa

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

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

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

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

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

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

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

Adatbázisok II. rész

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

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

április 24. INFO Savaria április 24. INFO Savaria április 24. INFO Savaria

Bevezetés: Relációs adatmodell

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

Átírás:

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

Emlékeztetı: Biztonságos szabályok A rule is safe if: 1. Each distinguished variable, 2. Each variable in an arithmetic subgoal, and 3. Each variable in a negated subgoal, also appears in a nonnegated, relational subgoal, amivel az x korlátozott: pred(x, y, ) argumentuma (értéke a táblából) vagy x=c (konstans) vagy x=y (ahol y korlátozott) Safe rules prevent infinite results. 2

Példa: Nem biztonságos szabályokra Each of the following is unsafe and not allowed: 1. S(x) R(y) 2. S(x) R(y) AND x < y 3. S(x) R(y) AND NOT R(x) In each case, an infinity of x s can satisfy the rule, even if R is a finite relation. 3

Datalog kifejezı ereje Without recursion, Datalog can express all and only the queries of core relational algebra. The same as SQL select-from-where, without aggregation and grouping. But with recursion, Datalog can express more than these languages. 4

Relációs algebra és Datalog ---(1) Rel.algebrai mőveletek hogyan néznek ki Datalogban? Halmazmőveletek: T.f.h R(x 1,...,x n ), S(x 1,...,x n ) predikátumokhoz tartozó reláció R(A 1,...,A n ), S(A 1,...,A n ) R S metszetnek megfelelı szabály: Válasz(x 1,...,x n ) R(x 1,...,x n ) AND S(x 1,...,x n ) R-S különbségnek megfelelı szabály: Válasz(x 1,...,x n ) R(x 1,...,x n ) AND NOT S(x 1,...,x n ) R S unió mőveletet egyetlen szabállyal nem tudom felírni, mert a törzsben csak AND lehet, OR nem. Ehhez több szabályból álló Datalog program kell: Válasz(x1,...,xn) R(x1,...,xn) Válasz(x1,...,xn) S(x1,...,xn) 5

Relációs algebra és Datalog ---(2) Kiválasztás: σ x i θ (R) kifejezésnek megfelelı szabály : xj Válasz(x 1,...,x n ) R(x 1,...,x n ) AND x i θx j σ x i θ c(e1) kifejezésnek megfelelı szabály: Válasz(x 1,...,x n ) R(x 1,...,x n ) AND x i θc Vetítés: Π A (R) kifejezésnek megfelelı szabály: i1,...,aik Válasz(x,...,x i 1 ik ) R(x 1,...,x n ) Megjegyzés: név nélküli anonymus változók, amelyek csak egyszer szerepelnek és mindegy a nevük azt aláhúzás helyettesítheti. Például: HosszúFilm(c,é) Film(c,é,h,_,_,_) AND h 100 6

Relációs algebra és Datalog ---(3) Természetes összekapcsolás: Tegyük fel, hogy R(A 1,...,A n, C 1,, C k ) és S(B 1,...,B m, C 1,, C k ) R S kifejezésnek megfelelı szabály: Válasz(x 1,...,x n,y 1,...,y m, z 1,, z k ) R(x 1,...,x n, z 1,, z k ) AND S(y 1,...,y m, z 1,, z k ) A felírt szabályok biztonságosak. Minden Q relációs algebrai kifejezéshez van nem rekurzív, biztonságos, negációt is tartalmazó Datalog program, amelyben egy kitüntetett IDB predikátumhoz tartozó kifejezés ekvivalens a Q lekérdezéssel. A nem rekurzív, biztonságos, negációt is tartalmazó Datalog kifejezıerı tekintetében EKVIVALENS a relációs algebrával. 7

Példák relációs algebrai lekérdezésekre 1/5 A korábbi feladatokat relációs algebra kifejezésekre fejezzük ki relációs algebrában kifejezıfával majd ezt alakítsuk át biztonságos Datalog szabályokká! Példa: Adottak az alábbi relációs sémák feletti relációk Termék (gyártó, modell, típus) PC (modell, sebesség, memória, merevlemez, cd, ár) Laptop (modell, sebesség, memória, merevlemez, képernyı, ár) Nyomtató (modell, színes, típus, ár) Jelölje: T(gy, m, t) Megj.: a két típus attr.név PC(m, s, me, ml, ár) nem ugyanazt fejezi ki és L(m, s, me, ml, k, ár) így T Ny természetes Ny(m, sz, t, ár) összekapcsolásnál zőr 8

Példák relációs algebrai lekérdezésekre 2/5 a.) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? mod (σ s 3.00 (PC) b.) Mely gyártók készítenek legalább egy gigabájt mérető merevlemezzel rendelkezı laptopot? gy ( σ ml 100 (T L)) vagy ekv. gy (T (σ ml 100 (L)) c.) Adjuk meg a B gyártó által gyártott összes termék modellszámát és árát típustól függetlenül! három részbıl áll (Nyomtató táblánál vigyázni, uis term.összekapcsolásnál a típus attr. itt mást jelent!) m, ár (σ gy= B (T) PC) m, ár (σ gy= B (T) L) m, ár (σ gy= B (T) m, ár (Ny)) 9

Példák relációs algebrai lekérdezésekre 3/5 d.) Adjuk meg valamennyi színes lézernyomtató modellszámát: m (σ sz= i (Ny)) m (σ t= lézer (Ny)) elvégezhetı más módon is m (σ sz= i t= lézer (Ny)) = m (σ sz= i σ t= lézer (Ny)) = m (σ t= lézer σ sz= i (Ny)) e) Melyek azok a gyártók, amelyek laptopot árulnak, PC-t viszont nem? (ha laptop gyártó több pc-t gyárt, akkor az eredménytábla csökken, nem monoton mővelet: R - S) gy (σ t= laptop (T)) - gy (σ t= pc (T))! f) Melyek azok a merevlemezméretek, amelyek legalább két PC-ben megtalálhatók? (táblát önmagával szorozzuk) ml (σ ml=ml1 m m1 (PC ρ PC 1 (m1, s1, me1, ml1, ár1) PC)) 10

Példák relációs algebrai lekérdezésekre 4/5! g) Adjuk meg azokat a PC-modell párokat, amelyek ugyanolyan gyorsak és a memóriájuk is ugyanakkora. Egy pár csak egyszer jelenjen meg, azaz ha már szerepel az (i, j), akkor a (j, i) ne jelenjen meg. Jelölje ezt PC1 = m, m1 (σ s=s1 me=me1 m<m1 (PC ρ PC 1 (m1, s1, me1, ml1, ár1) PC))!! h) Melyek azok a gyártók, amelyek gyártanak legalább két, egymástól különbözı, legalább 2.80 gigahertzen mőködı számítógépet (PC-t vagy laptopot)? Vezessünk be munkatáblát (segédváltozót) a részkifejezéshez: Gyors = gy,m (T (σ s 2.8 (PC)) gy,m (T (σ seb 2.8 (L)) és ezzel: gy ( σ gy=gy1 m m1 (Gyors ρ Gy1 (gy 1, m1) (Gyors) ) 11

Példák relációs algebrai lekérdezésekre 5/5!! i) Melyik gyártó gyártja a leggyorsabb számítógépet (PC-t vagy laptopot)? Lásd elhagyás típusú lekérdezések Kiválasztjuk azokat a SZ-ket, amelyiknél van gyorsabb, ha ezt kivonjuk a SZ-ékbıl megkapjuk a leggyorsabbat: Lassú = m (σ s<s1 (SZ SZ1)) ahol SZ: pc vagy laptop Leggyorsabb: m (SZ) Lassú végül behelyettesítem!! j) Melyik gyártó gyárt legalább három, különbözı sebességő PC-t? mint legalább kettı, ott 2x itt 3x mellé!! k) Melyek azok a gyártók, amelyek pontosan három típusú PC-t forgalmaznak? legalább 3-ból - legalább 4-t kivonni 12 12

Mire érdemes felhívni a figyelmet? Relációs algebrai kifejezésfák átírása nemrekurzív biztonságos Datalogba. Mi a leggyakrabban elıforduló típus, amibıl építkezek? Lista (σ Felt (R S ) Ezt a komponenst támogatja legerısebben az SQL is: SELECT lista FROM táblák összekapcsolása WHERE felt Ez felel meg egy Datalog szabálynak, halmazmőveletek megadása több szabállyal 13

Következik Rekurzió Datalogban és az SQL-1999 szabvány WITH RECURSIVE 14