Tankönyv példák kidolgozása



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

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 2.rész 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

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

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

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

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

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

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

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

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

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

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

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

Relációs algebra 1.rész

2.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

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

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

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

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

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

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

SQL DDL-2 (aktív elemek) triggerek

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

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

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

Több tábla összekapcsolásán alapuló lekérdezések

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

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

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

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

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

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

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

Többtáblás lekérdezések megjelenítése

Bevezetés: az SQL-be

Több tábla összekapcsolásán alapuló lekérdezések. Copyright 2004, Oracle. All rights reserved.

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

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés)

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

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

Adatbázisok elmélete

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

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

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Az SQL adatbázisnyelv: DML

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

Az adatbázisrendszerek világa

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

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

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

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

Csima Judit szeptember 6.

Bevezetés: Relációs adatmodell

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

ADATBÁZISOK I. ELŐADÁS ÉS GYAKORLAT JEGYZET

Adattípusok. Max. 2GByte

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. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

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

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

Adatbázisok I. Az SQL nyelv

Bevezetés: Relációs adatmodell

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

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

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

Adatbázisok* tulajdonságai

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

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

Datalog: logikai alapú lekérdezı nyelv

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

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

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

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

Adatbázisok I A relációs algebra

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

Bevezetés: Relációs adatmodell

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

Az SQL lekérdeznyelv

Adatbázisrendszerek megvalósítása 2

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

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

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

Adattípusok. Max. 2GByte

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

Adatbázis-kezelés, információs-rendszerek

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

Adabáziskezelés gyakorlat SQL

Adatbázisok II. rész

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

Adatbázisban tárolt kollekciók

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

Adatbázis, adatbázis-kezelő

Átírás:

Tankönyv példák kidolgozása Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Áttekintés: Rel.algebra és SQL Példák: Tk.2.4.14.Feladatok Tk.54-57.o. 2.4.1.feladat 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Ismétlés: SELECT utasítás záradékai Egy táblára vonatkozó lekérdezések: Tk.6.1.fej. és 6.4.fej. Relációkra vonatkozó műveletek Teljes SELECT utasítás(a záradékok sorrendje adott) SELECT [DISTINCT] Lista1 -- 5 és 6 FROM R t -- 1 [WHERE Felt1 ] -- 2 [GROUP BY csopkif -- 3 [HAVING Felt2 ] ] -- 4 [ORDER BY Lista2] -- 7 τ Lista2 δ Π Lista1 σ Felt2 (γ csopkif,, AGGR(kif) onev σ Felt1 ( R ) ) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 2

Ismétlés: SFW alapértelmezése Tk.6.2.fej.: Több táblára vonatkozó lekérdezések: SELECT [DISTINCT] kif 1 [[AS] onév 1 ],, kif n [[AS] onév n ] FROM R 1 [t 1 ],, R n [t n ] WHERE feltétel (vagyis logikai kifejezés) Alapértelmezés (a műveletek szemantikája -- általában) A FROM záradékban levő relációkhoz tekintünk egy-egy sorváltozót, amelyek a megfelelő reláció minden sorát bejárják (beágyazott ciklusban) Minden egyes aktuális sorhoz kiértékeljük a WHERE záradékot (csak az igaz sorok kerülnek az eredménybe) A SELECT záradékban szereplő kifejezéseknek megfelelően képezzük a sorokat. Ha van DISTINCT, akkor az ismétlődő sorokat elhagyjuk. 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 3

Ismétlés: Halmazmőveletek az SQL-ben A relációs algebrai halmazműveletek: unió, különbség és metszet, ebből csak az unió és különbség alapművelet, az SQL-ben mindhárom használható, implementálva van A SELECT-FROM-WHERE utasítások általában multihalmaz szemantikát használnak, külön kell kérni DISTINCT tel ha halmazt szeretnénk kapni, viszont a halmazműveleteknél mégis a halmaz szemantika az érvényes, itt a multihalmaz szemantikát kell kérni: ALL Az SQL-ben a halmazműveleteket úgy vezették be, hogy azt mindig két lekérdezés között lehet értelmezni: (SFW-lekérdezés1) [ UNION [ALL] INTERSECT [ALL] {EXCEPT MINUS} [ALL] ] (SFW-lekérdezés2); 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 4

Tk.6.3.fej.: Alkérdések Ismétlés: Alkérdések A FROM listán és a WHERE záradékban (valamint a GROUP BY HAVING záradékában) zárójelezett SFW SELECT-FROM-WHERE utasításokat használhatunk. Szintaktikus alakja: zárójelbe kell tenni a lekérdezést (1) WHERE és HAVING záradékban: kifejezésekben, feltételekben (2) FROM listában: új listaelem (rel.név változó SQL-ben) (lekérdezés) [AS] sorváltozó Szemantikája: A FROM záradékban kiértékelődik az alkérdés, eredménye egy tábla (ún. inline nézettábla), utána a sorváltozót ugyanúgy használjuk, mint a közönséges adatbázisban tárolt relációk esetén. 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 5

Ismétlés: Alkérdések a WHERE záradékban WHERE záradékban: (i) Az alkérdés eredménye egyetlen skalárérték, vagyis az alkérdés olyan, mint a konstans, ami egy új elemi kifejezésként tetszőleges kifejezésben használható. (ii) Skalár értékekből álló multihalmaz logikai kifejezésekben használható: [NOT] EXISTS (lekérdezés) kifejezés [NOT] IN (lekérdezés) kifejezés Θ [ANY ALL] (lekérdezés) (iii) Teljes, többdimenziós tábla a visszatérő érték: [NOT] EXISTS (lekérdezés) (kif 1, kif n ) [NOT] IN (lekérdezés) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 6

Ismétlés: Összekapcsolások az SQL-ben Az SQL:1999-es szabványban összekapcsolások számos változata megtalálható: Természetes összekapcsolás USING utasítással történő összekapcsolás Teljes (vagy két oldali) külső összekapcsolás Tetszőleges feltételen alapuló külső összekapcsolás Direktszorzat (kereszt-összekapcsolás). SELECT tábla1.oszlop, tábla2.oszlop FROM tábla1 [NATURAL JOIN tábla2] [JOIN tábla2 USING (oszlopnév)] [JOIN tábla2 ON (tábla1.oszlopnév = tábla2.oszlopnév)] [{LEFT RIGHT FULL} OUTER JOIN tábla2 ON (tábla1.oszlopnév = tábla2.oszlopnév)] [CROSS JOIN tábla2] 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 7

PÉLDÁK : TANKÖNYV FELADATAI 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? 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 8

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 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 9

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

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)) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 11

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 sebesseg>=3.00; PC 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 12

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 sebesseg>=3.00; PC b.) Mely gyártók készítenek legalább száz gigabájt méretű merevlemezzel rendelkező laptopot? 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 13

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 sebesseg>=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 T.modell=L.modell AND merevlemez>=100; Π gy σ ml >= 100 T.m=L.m 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 14 T X L

b.) select distinct gyarto from termek t join laptop l on t.modell=l.modell where merevlemez>=100; select distinct gyarto from termek natural join laptop where merevlemez>=100; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 15

b.) select distinct gyarto from termek where modell in (select modell from laptop where merevlemez>=100); 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 16

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! 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 17

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) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 18

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) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 19

c.) select termek.modell, ar from termek join (select modell, ar from pc union select modell, ar from laptop union select modell, ar from nyomtato ) arlista on termek.modell=arlista.modell where gyarto='b'; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 20

c.) 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'); 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 21

with Btermek as c.) (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; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 22

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

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)) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 24

d.) select * from nyomtato where szines='igen' and tipus='lézer'; select * from nyomtato where szines='igen' intersect select * from nyomtato where tipus='lézer'; select * from (select * from nyomtato where tipus='lézer') where szines='igen'; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 25

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) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 26

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) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 27

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) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 28

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)) 05ea_Attekintes // 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 ---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. 05ea_Attekintes // 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 ---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) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 31

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 )) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 32

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) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 33

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: 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 34

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 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 35

i.) -- párokba állítjuk select pc1.modell m1, pc1.sebesseg s1, pc2.modell m2, pc2.sebesseg s2 from pc pc1, pc pc2; -- hibás, nem lehet legnagyobb, mert van nagyobb select pc1.modell m1, pc1.sebesseg s1, pc2.modell m2, pc2.sebesseg s2 from pc pc1, pc pc2 where pc1.sebesseg<pc2.sebesseg; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 36

i.) -- az összesből elhagyjuk a hibás sorokat: select modell, sebesseg from pc minus select t1.modell, t1.sebesseg from pc t1, pc t2 where t1.sebesseg<t2.sebesseg; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 37

i.) -- ugyanez korrelált alkérdéssel: select modell, sebesseg from pc t1 where not exists (select * from pc t2 where t1.sebesseg<t2.sebesseg); 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 38

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 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 39