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

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

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

Tankönyv példák kidolgozása

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

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

Relációs algebra 2.rész

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

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

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

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

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

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

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

Bevezetés: az SQL-be

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

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

Relációs algebra 1.rész

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

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

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

Datalog: logikai alapú lekérdezı nyelv

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

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

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

SQL DDL-2 (aktív elemek) triggerek

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

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

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

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

Az SQL adatbázisnyelv: DML

Adatbázisok elmélete

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése,

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

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

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

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

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

Adatbázisok elmélete 6. 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

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák

Bevezetés: Relációs adatmodell

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

Csima Judit szeptember 6.

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

Adatbázisok-1 előadás

Az adatbázisrendszerek világa

Bevezetés: Relációs adatmodell

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

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 elmélete 6. előadás

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

ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez.

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

Adatbázis tartalmának módosítása. SQL DML utasítások

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

Információs rendszerek Adatbázis-kezelés

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

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

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

Bevezetés: Relációs adatmodell

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

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

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

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

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

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

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

Adatbázis, adatbázis-kezelő

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

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

Rekurzió a Datalogban és az SQL3-ban

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

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

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

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

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

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:

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

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Adatbázisok II. rész

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

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

SQL/PSM kurzorok rész

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.

A TANTÁRGY ADATLAPJA

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

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

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

A SELECT működése. Ttanar tábla: Tdiak tábla:

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

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

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

Gazda - gazdálkodói nyilvántartó rendszer

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Tervezés: Egyed-kapcsolat modell és az SQL DDL: táblák, nézetek

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Átírás:

Feladatok ---1 Először relációs algebrában táblákkal gondolkodva nézzük meg, hogy milyen műveletekkel tudjuk megkapni a kívánt eredményt, írjuk fel lineáris módon és kifejezőfákkal, majd a kifejezőfákat átírva SQL lekérdezésekre többféle megoldási lehetőséget vizsgáljunk meg, vessünk össze A mai előadáson: Tankönyv -- Termékek feladatai: http://people.inf.elte.hu/sila/ab1ea/feladatok_termekek.pdf create table: http://people.inf.elte.hu/sila/eduab/create_termekek.txt További feladatok: Tankönyv -- Csatahajós feladatai: http://people.inf.elte.hu/sila/ab1ea/feladatok_csatahajok.pdf create table: http://people.inf.elte.hu/sila/eduab/create_csatahajok.txt 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 28

Feladatok ---2 Legyen adott 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, ár) Laptop (modell, sebesség, memória, merevlemez, képernyő, ár) Nyomtató (modell, színes, típus, ár) Feladatok Tk.2.4.1.feladat (ezeket a kérdéseket konkrét táblák alapján természetes módon meg lehet válaszolni, majd felírjuk relációs algebrában) a) Melyek azok a PC modellek, amelyek sebessége legalább 3.00 b) Mely gyártók készítenek legalább száz gigabájt méretű merevlemezzel rendelkező laptopot? c) Adjuk meg a B gyártó által gyártott összes termék modellszámát és árát! stb!! i) Melyik gyártó gyártja a leggyorsabb számítógépet (laptopot vagy PC-t)?!! k) Melyek azok a gyártók, akik pontosan három típusú PC-t forgalmaznak? 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 29

Példák relációs algebrai lekérdezésekre ---1 Relációs algebra kifejezések ilyen bevezetése valóban használható a lekérdezések megadására? Tk.2.4.1.feladat 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 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 30

Példák relációs algebrai lekérdezésekre ---2 a.) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 31

Példák átírásokra ---2 a.) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? m (σ s 3.00 (PC)) Π m SELECT modell FROM PC σ s >= 3.00 WHERE sebesség>=3.00; PC 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 32

Példák átírásokra ---2 a.) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? m (σ s 3.00 (PC)) Π m SELECT modell FROM PC σ s >= 3.00 WHERE sebesség>=3.00; PC b.) Mely gyártók készítenek legalább száz gigabájt méretű merevlemezzel rendelkező laptopot? 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 33

Példák átírásokra ---2 a.) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? m (σ s 3.00 (PC)) Π m SELECT modell FROM PC σ s >= 3.00 WHERE sebesség>=3.00; PC b.) Mely gyártók készítenek legalább száz gigabájt méretű merevlemezzel rendelkező laptopot? gy ( σ ml 100 (T L)) SELECT gyarto FROM Termek T, Laptop L WHERE merevlemez>=100 AND T.modell=L.modell; Π gy σ ml >= 100 T.m=L.m 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 34 T X L

Példák relációs algebrai lekérdezésekre ---2 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 száz gigabájt méretű merevlemezzel rendelkező laptopot? gy ( σ ml 100 (T L)) vagy ekv. gy (T (σ ml 100 (L)) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 35

Példák relációs algebrai lekérdezésekre ---2 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 száz 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! 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 36

Példák relációs algebrai lekérdezésekre ---2 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 száz 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 := m σ gy= B (T) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 37

Példák relációs algebrai lekérdezésekre ---2 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 száz 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 := m σ gy= B (T) m, ár (BT PC) m, ár (BT Laptop) m, ár (BT Ny) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 38

c.) SQL-ben kifejezve select modell, ar from pc where modell in (select modell from termek where gyarto='b') union select modell, ar from laptop where modell in (select modell from termek where gyarto='b') union select modell, ar from nyomtato where modell in (select modell from termek where gyarto='b'); 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 39

c.) --- mint az elızı, egyszerőbben, with még nem kell, visszatérünk with Btermek as (select modell from termek where gyarto='b') select modell, ar from pc natural join Btermek union select modell, ar from laptop natural join Btermek union select modell, ar from nyomtato natural join Btermek; 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 40

Példák relációs algebrai lekérdezésekre ---3 d.) Adjuk meg valamennyi színes lézernyomtató modellszámát 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 41

Példák relációs algebrai lekérdezésekre ---3 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) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 42

Példák relációs algebrai lekérdezésekre ---3 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) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 43

Példák relációs algebrai lekérdezésekre ---3 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) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 44

Példák relációs algebrai lekérdezésekre ---3 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)) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 45

Példák relációs algebrai lekérdezésekre ---4! 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. 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 46

Példák relációs algebrai lekérdezésekre ---4! 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) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 47

Példák relációs algebrai lekérdezésekre ---4! 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 )) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 48

Példák relációs algebrai lekérdezésekre ---5!! i) Melyik gyártó gyártja a leggyorsabb PC-t? ( elhagyás típusú lekérdezések, nincs nála gyorsabb PC) 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 49

Példák relációs algebrai lekérdezésekre ---5!! i) Melyik gyártó gyártja a leggyorsabb PC-t? (az elhagyás típusú lekérdezések, lásd maximum kif.) 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: 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 50

Példák relációs algebrai lekérdezésekre ---5!! 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 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 51

Példa: MAX elıállítása rel.algebrában Nézzük meg a maximum előállításának a kérdését! Legyen R(A,B). Feladat: Adjuk meg MAX(A) értékét! (Ez majd átvezet az új témára, aggregáló függvényekre, illetve csoportosításra). π A (R) π R1.A (σ R1.A<R.A (ρ R 1 ( R) R) ) Kiértékelő fa: Π A Π R1.A σ R1.A<R.A x R R 1 R 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 52

Példa: Rel.alg. kifejezés átírása SQL lőző oldal folyt.max előállítás átírása SQL-re: Kiértékelő fa szerinti átírás SQL-be: (SELECT A FROM R) EXCEPT (SELECT R1.A AS A FROM R R1, R R2 WHERE R1.A<R2.A); Nézzük meg korrelált (függő) alkérdéssel is: SELECT A FROM R MAXA WHERE NOT EXISTS (SELECT A FROM R WHERE A > MAXA.A); 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 53

Példák relációs algebrai lekérdezésekre ---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; 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 54

Kérdés/Válasz Köszönöm a figyelmet! Kérdés/Válasz? Tk.2.4.14. (54-57.o.) 2.4.1.feladata Termékek feladatai először relációs algebrában táblákkal gondolkodva felírva kifejezőfákkal, majd átírva SQL lekérdezésekre többféle megoldási lehetőséget vizsgáljunk meg, vessünk össze Feladat: http://people.inf.elte.hu/sila/eduab/ab1_gy1.pdf create table: http://people.inf.elte.hu/sila/eduab/create_termekek.txt 03ea_RelAlgPeldak // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 55