Relációs algebra 2.rész



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

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

Tankönyv példák kidolgozása

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

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

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

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

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

Relációs algebra 1.rész

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

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: március 20.

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

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

Datalog: logikai alapú lekérdezı nyelv

Lekérdezések optimalizálása

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

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

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

Tranzakciók az SQL-ben

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

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

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

Megoldás Digitális technika I. (vimia102) 3. gyakorlat: Kombinációs hálózatok minimalizálása, hazárdok, a realizálás kérdései

Laborjegyzıkönyv javítási tájékoztató. Kiegészítések a leggyakoribb hibák értelmezéséhez

Megoldások, megoldás ötletek (Jensen-egyenlőtlenség)

Adatbázisok biztonsága

Statisztikai szoftverek Molnár Gábor József

KOVÁCS BÉLA, MATEMATIKA I.

Adatbázisok I A relációs algebra

Átrendezések és leszámlálások ÚTMUTATÓ Hegedüs Pál június 30.

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

Ezeket a kiemelkedı sebességő számítógépeket nevezzük szuperszámítógépeknek.

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

22. szakkör (Csoportelméleti alapfogalmak 1.)

Cagan-modell Egyéb modellek a pénzkeresletre. Gazdaságpolitika Tanszék Budapesti Corvinus Egyetem

Bevezetés: az SQL-be

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

A BUDAPESTI MŐSZAKI FİISKOLA HALLGATÓK RÉSZÉRE NYÚJTHATÓ TÁMOGATÁSOK ÉS AZ ÁLTALUK FIZETENDİ DÍJAK ÉS TÉRÍTÉSEK SZABÁLYZATA


Szeminárium-Rekurziók

Algebrai és transzcendens számok

Lineáris Algebra gyakorlatok

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény

Számítógépi képelemzés

Regionális gazdaságtan gyakorlat

II. Halmazok. Relációk. II.1. Rövid halmazelmélet. A halmaz megadása. { } { } { } { }

A kínai kalligráfia stílusirányzatai és azok kialakulása

3. gyakorlat Saját adatok használata

1. A MÁSODIK OSZTÁLYBAN TANULTAK ISMÉTLÉSE

4. FEJEZET A SZERVES KÉMIAI LABORATÓRIUM ALAPMŐVELETEI

Sugárzási alapismeretek

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

Sztochasztikus folyamatok 1. házi feladat

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

Varga Tamás Matematikaverseny 8. osztályos feladatok megoldásai iskolai forduló 2010.

MATEMATIKA FELADATGYŰJTEMÉNY

Az elektronikus napló

INFORMATIKAI ALAPISMERETEK

Méretlánc átrendezés a gyakorlatban (Készítette: Andó Mátyás, a számonkérés az elıadás és a gyakorlat anyagára is kiterjed.)

VI.7. RÁCSODÁLKOZÁS. A feladatsor jellemzői

MUNKAANYAG. Szabó László. Szilárdságtan. A követelménymodul megnevezése:

Számlakészítés a SPRINT programmal

VI.9. KÖRÖK. A feladatsor jellemzői

LINEÁRIS ALGEBRA PÉLDATÁR MÉRNÖK INFORMATIKUSOKNAK












MATEMATIKA ÍRÁSBELI ÉRETTSÉGI-FELVÉTELI FELADATOK május 19. du. JAVÍTÁSI ÚTMUTATÓ

Komputer statisztika gyakorlatok

Bevezetés: Relációs adatmodell

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

A MATLAB programozása. Féléves házifeladat. RGBdialog

2. előadás: További gömbi fogalmak

Add meg az összeadásban szereplő számok elnevezéseit!

INFORMATIKAI ALAPISMERETEK

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

A bemutató órák feladatai

P r e z e n t á c i ó. T a r t a l o m

Valószínőségszámítás és statisztika elıadások Mérnök informatikus BSc szak MANB030, MALB030

VÍZÓRA NYÍLVÁNTARTÓ RENDSZER

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

Datalog: logikai alapú lekérdezı nyelv

Mátrixaritmetika. Tartalom:

IV.4. EGYENLŐTLENSÉGEK. A feladatsor jellemzői

Valószínőségszámítás és statisztika elıadások Mérnök informatikus BSc szak MANB030, MALB030

Körös - Maros Nemzeti Park Igazgatóság

Analízis lépésről - lépésre

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

LEGFÉLTETTEBB INGATLANOS TITOK

Eloszlás-független módszerek (folytatás) 15. elıadás ( lecke)

PORSZÍVÓ AGGREGÁT HATÁSFOKKAGYLÓJÁNAK MÉRÉSE

Legrövidebb utat kereső algoritmusok. BFS (szélességi keresés)

Átírás:

Relációs algebra 2.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Egy algebrai lekérdezı nyelv -- 01B_RelAlg1alap: alapmőveletek -- 02A_RelAlg2kif: lekérdezı nyelv Tk. 2.4.1.Termék-feladatai a)-k) Tk.!! 2.4.10.feladat a hányadosra 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 1

A relációs algebra alapmőveletei -- 1/2 A hat alapmővelet (ismétlés, az 1.elıadásról) R U S unió R S különbség Π lista ( R ) vetítés σ Feltétel ( R ) kiválasztás R S természetes összekapcsolás ρ S(B 1,, Bk) (R(A 1, A k )) átnevezés Minimális készlet, vagyis bármelyiket elhagyva az a többivel nem fejezhetı ki. 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 2

A relációs algebra alapmőveletei -- 2/2 Alapmőveletek egy másik készlete (5 alapmővelet) (szorzás-jellegő mőveletbıl választhatunk) R U S unió R S különbség Π Lista ( R ) vetítés σ Feltétel ( R ) kiválasztás R X S természetes összekapcsolás Hogyan lesz az algebrai mőveletekbıl lekérdezı nyelv? (megadjuk a felépítést és kiértékelést) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 3

Relációs algebrai lekérdezı nyelv -- 1/2 Relációs algebrai kifejezés, mint lekérdezı nyelv Lekérdezı nyelv: L -nyelv Adott az adatbázis sémája: R = {R 1,, R k } q L q: R 1,, R k V (eredmény-reláció) E - relációs algebrai kifejezés: E(R 1,, R k ) = V (output) Relációs algebrai kifejezések formális felépítése Elemi kifejezések (alapkifejezések) (i) R i R(az adatbázis-sémában levı relációnevek) R i kiértékelése: az aktuális elıfordulása (ii) konstans reláció (véges sok, konstansból álló sor) Összetett kifejezések (folyt. köv.oldalon) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 4

Relációs algebrai lekérdezı nyelv -- 2/2 (folyt.) Relációs algebrai kifejezések felépítése Összetett kifejezések Ha E 1, E 2 kifejezések, akkor a következı E is kifejezés E:=E 1 U E 2 unió, ha azonos típusúak (és ez a típusa) E:= E 1 E 2 különbség, ha E 1, E 2 azonos típusúak (típus) E:= Π lista ( E 1 ) vetítés (típus a lista szerint) E:= σ Feltétel ( E 1 ) kiválasztás (típus nem változik) E:= E 1 E 2 term. összekapcsolás (típus attr-ok uniója) E:= ρ S(B 1,, Bk) (E 1 (A 1, A k )) átnevezés (típ.új attr.nevek) E:=( E 1 ) kifejezést zárójelezve is kifejezést kapunk Ezek és csak ezek a kifejezések, amit így meg tudunk adni 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 5

Lekérdezések kifejezése algebrában -- 1/3 Kifejezés kiértékelése: összetett kifejezést kívülrıl befelé haladva átírjuk kiértékelı fává, levelek: elemi kifejezések. A relációs algebra procedurális nyelv, vagyis nemcsak azt adjuk meg, hogy mit csináljunk, hanem azt is hogyan. Legyen R, S az R(A, B, C), S(C, D, E) séma feletti reláció Π B,D σ A = 'c and E = 2 (R( S) Ehhez a kiértékelı fa: (kiértékelése alulról felfelé történik) Π B,D σ A = 'c and E = 2 R S Tudunk-e ennél jobb, hatékonyabb megoldást találni? 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 6

Lekérdezések kifejezése algebrában -- 2/3 Ekvivalens átalakítási lehetıségekkel, relációs algebrai azonosságokkal át tudjuk alakítani a fentivel ekvivalens másik relációs algebrai kifejezésre. Hatékonyabb-e? Π B,D (σ A = 'c (R) σ E = 2 (S)) Ehhez is felrajzolva a kiértékelı fát: Π B,D σ A = 'c' σ E = 2 R S 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 7

Lekérdezések kifejezése algebrában -- 3/3 Ekvivalens átalakítás: oly módon alakítjuk át a kifejezést, hogy az adatbázis minden lehetséges elıfordulására (vagyis ugyanazokra a táblákra) minden esetben ugyanazt az eredményt (ugyanazt a táblát) adja a két kiértékelı fa. Adatbázisok-2 tárgyból lesznek az ekvivalens átalakítási szabályok, a szabály alapú optimalizálás elsı szabálya például, hogy a kiválasztási mőveletet minél elıbb kell végrehajtani (közbülsı táblák lehetıleg kicsik legyenek) Egy-egy részkifejezést, ha gyakran használjuk, akkor új változóval láthatjuk el, segédváltozót vezethetünk be: T(C 1, C n ) := E(A 1, A n ), de a legvégén a bevezetett változók helyére be kell másolni a részkifejezést. 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 8

Példák relációs algebrai lekérdezésekre 1/6 Relációs algebra kifejezések ilyen bevezetése valóban használható a lekérdezések megadására? Tk.2.4.1.fela: Elızı heti feladatokat megnéztük szemléletesen, most ugyanazokat formálisan relációs algebrai kifejezésként. 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) PC(m, s, me, ml, ár) L(m, s, me, ml, k, ár) Ny(m, sz, t, ár) Megj.: a két típus attr.név nem ugyanazt fejezi ki és így T Ny természetes összekapcsolásnál zőr 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 9

Példák relációs algebrai lekérdezésekre 2/6 a.) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? m (σ 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!) -- segédváltozót vezetek be, legyen BT := σ gy= B (T) m, ár (BT PC) m, ár (BT Laptop) m, ár (BT m, ár (Ny)) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 10

Példák relációs algebrai lekérdezésekre 3/6 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 L) gy (T PC)! f) Melyek azok a merevlemezméretek, amelyek legalább két PC-ben megtalálhatók? (táblát önmagával szorozzuk) -- segédváltozót vezetek be, legyen PC 1 := PC PC.ml (σ PC1.m PC.m PC 1.ml=PC.ml (PC 1 x PC)) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 11

Példák relációs algebrai lekérdezésekre 4/6! 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. PC1.m, PC.m(σ PC1.m<PC.m PC 1.s=PC.s PC 1.me=PC.me (PC 1 x 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) -- segédváltozó: Gyors := m (σ s 2.8 (PC)) m (σ s 2.8 (L)) -- és ezzel legyen: T 1 := T Gyors és T 2 := T Gyors T1. gy( σ T1. gy= T2. gy T 1. m T 2. m (T 1 x T 2 )) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 12

Példák relációs algebrai lekérdezésekre 5/6!! i) Melyik gyártó gyártja a leggyorsabb számítógépet (PC-t vagy laptopot)? Lásd még az elhagyás típusú lekérdezéseket (köv.oldalon pl. maximum kifejezése) Kiválasztjuk azokat a PC-ket, amelyiknél van gyorsabb, ha ezt kivonjuk a PC-ékbıl megkapjuk a leggyorsabbat: EnnélVanNagyobb = PC.m (σ PC.s<PC1.s(PC x PC1)) Leggyorsabb: m (PC) EnnélVanNagyobb Ehhez rajzoljuk fel a kiértékelı fát is: (folyt.: PC helyett számítógép kell Π PC.m és a válaszban Π m σ PC.s<PC1.s is a gyártó kell ) PC PC PC 1 x 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 13

Példák relációs algebrai lekérdezésekre 6/6!! j) Melyik gyártó gyárt legalább három, különbözı sebességő PC-t? mint a legalább kettı, csak ott 2x, itt 3x kell a táblát önmagával szorozni. Legyenek S, S 1, S 2 := T m,s (PC) S.gy (σ S1.gy=S.gy S 2.gy=S.gy S 1.s S.s S 2.s S.s S 1.s S 2.s (S x S 1 x S 2 ))!! 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 Mire érdemes felhívni a figyelmet? Mi a leggyakrabban elıforduló típus, amibıl építkezek? lista (σ feltétel (táblák szorzata)) Ezt a komponenst támogatja legerısebben majd az SQL: SELECT s-lista FROM f-lista WHERE feltétel; 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 14

Elhagyás típusú feladatok (különbséggel) Egy érdekes feladatot próbáljunk megoldani. Nézzük meg relációs algebrai kifejezéssel hogyan lehet egy attribútum maximális értékét kiválasztani. Legyen R(A,B) séma és adjuk meg A maximális értékét! Relációs algebra alapváltozatában erre nem vezettek be új mőveletet (az SQL-ben majd összesítı függvényekkel). Hogyan tudjuk megállapítani, hogy egy érték maximális-e? Úgy, hogy melléteszünk egy másik attribútumértéket és ha az nagyobb, akkor ez nem lehet maximális, vagyis hibás Hibás = σ R1.A<R2.A (R 1 R 2 ) JóVálasz = Összes Hibás = π A (R) - π A (Hibás) Egy másik elhagyás típusú feladat, Tk. 2.4.10.feladata: a hányados (Innen a hátralevı rész már csak szorgalmi) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 15

Hányados, osztás mővelete -- 1/3 Maradékos osztás: 7 3 = 2, mert 2 a legnagyobb egész, amelyre még 2 3 7. Ennek a mintájára: Relációk szorzata esetén helyett tartalmazás. R és S sémája R(A 1,,A n,b 1,,B m ), illetve S(B 1,,B m ), Q = R S sémája Q(A 1,,A n ) R S a legnagyobb (legtöbb sort tartalmazó) reláció, amelyre ( R S ) S R. Az R reláció sémája (A 1,,A n,b 1,,B m ) és az S reláció sémája (B 1,,B m ), azaz S összes attribútuma benne van R attribútumainak halmazában. Az R és S hányadosa R S megadja azon A 1,,A n attribútumú t sorok halmazát, amelyekre igaz, hogy az S reláció minden s sorára a ts sor benne van az R relációban! Ez kifejezhetı rel.algebrában! 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 16

Hányados, osztás mővelete -- 2/3 Ki szereti legalább azokat a gyümölcsöket, mint Micimackó? KI MIT MIT KI Füles málna Füles méz Füles alma Micimackó málna Micimackó méz Kanga málna Kanga körte Nyuszi lekvár málna = Füles méz Micimackó sz MIT (σ KI='Micimackó' (sz)) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 17

Hányados, osztás mővelete -- 3/3 R(A,B) S(B) = A1,,An (R) A1,,An ( A1,,An (R) S R ) Képezzük az összes lehetséges sorokat E1 = A1,,An (R) S Mit kell leellenırizni? Mely sorok nincsenek ebben? E2 = E1 R = A1,,An (R) S R Ebben olyan t sorok szerepelnek, amelyek nem jók, ennek vesszük A-ra a vetületét ezek a rosszak E3 = A1,,An ( E2) = A1,,An ( A1,,An (R) S R ) A jókat megkapjuk, ha az összesbıl kivonjuk a rosszakat össz E3 = A1,,An (R) A1,,An ( A1,,An (R) S R ) Tehát a hányados kifejezhetı relációs algebrában: A1,,An (R) A1,,An ( A1,,An (R) S R ) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 18

PÉLDA (angol nyelvő)ullman könyv példája Sörivók adatbázisséma (köv.lapon magyarul) Beers(name, manf) Bars(name, addr, license) Drinkers(name, addr, phone) Likes(drinker, beer) Sells(bar, beer, price) Frequents(drinker, bar) Az aláhúzás jelöli a kulcsot (a sorok a kulcs összes attribútumán nem vehetik fel ugyanazt az értékeket). Ez a kulcs, külsı kulcs és hivatkozási épség megszorításoknak lesz késıbb kiváló példája, magyar fordításban name helyett: sör, bár, név. 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 19

Példák relációs algebrai lekérdezésekre a sörivók adatbázison, amelynek sémája Sörök(sör, gyártó) Bár(bár, város, engedély) Ivó(név, város, tel) Kedvel(név, sör) Felszolgál(bár, sör, ár) Látogat(név, bár) Feladatok: Hogyan definiálnánk a boldog ivót? Boldog ivó = látogat olyan bárt, ahol felszolgálnak olyan sört, amit kedvel. Fejezzük ki relációs algebrában! 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 20

Szorgalmi feladatok lekérdezésekre --1/2 K(N,S) jelölje Kedvel(név, sör) (név jelölje a sörivót) F(B,S) L(N,B) Felszolgál(bár, sör) (most ár nélkül!) Látogat(név, bár) Boldog ivó = látogat olyan bárt, ahol felszolgálnak olyan sört, amit kedvel. Fejezzük ki relációs algebrában! (N,S,B) hármasok: ahol N szereti S-t és N jár B-be: nsb:= K(N,S) L(N,B) (Megj.: kommutatív) (N,S,B) hármasok: ahol N szereti S-t, és N jár B-be és felszolgálnak S-t a B-ben: h:= (K(N,S) L(N,B) ) F(B,S) (Megj.: asszociatív) Megoldás: Boldog_ivók:= N (h) 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 21

Szorgalmi feladatok lekérdezésekre --2/2 Kik a Boldogtalan_ivók? N (K) Boldog_ivó Ki jár olyan bárba, ahol van legalább két kedvenc söre? Ki jár CSAK olyan bárba, ahol legalább egy kedvenc söre kapható? (MÉG BOLDOGABB) Ki jár olyan bárba, ahol az összes kedvenc söre kapható? (NAGYON BOLDOG) Ki jár CSAK olyan bárba, ahol az összes kedvenc söre kapható? (SZUPER BOLDOG) Ki jár olyan bárba, ahol mindent szeret? Ki jár CSAK olyan bárba, ahol mindent szeret? Tanácsadó szolgálat : Hova menjen el két ivó sörözni, olyan bárt keresünk, ahova mind a ketten járnak és ahol mind a ketten találnak olyan sört, amit kedvelnek stb 02A_RelAlg2kif // ELTE Adatbázisok-1 elıadás, Hajas Csilla, 2014. 22