2.gyak.
Lekérdezések
kifejezése relációs
algebrában és SQL-ben,
lineáris jelöléssel
és kifejezésfával
és SELECT utasítással is
írjuk fel
Feladatok: Háromféle
módon írjuk fel a
lekérdezéseket
rel.algebrában és SQL-ben:
a.) Adjuk meg a lekérdezéseket
formálisan relációs
algebrában lineáris
jelöléssel!
b.) Rajzoljuk fel kifejezésfával (a levelekben:
relációnevek vagy
konstans-táblák,
a közbülső
csomópontokban
pedig relációs algebrai alapműveletek
állhatnak),
a
kifejezésfa
kiértékelése
alulról-felfelé
történik, legfelül van az output
reláció.
c.) SQL-ben
SELECT
lista FROM lista WHERE feltétel
lekérdezések között
a
halmazműveletekkel (UNION, EXCEPT/MINUS, INTERSECT).
Az SQL lekérdezéseket papíron is
és
Oracle gépes környezetben
is megnézzük!
Ehhez: Oracle
adatbázisok
elérése
Az előző heti feladatokkal
kezdjünk, nézzük meg mit
adnak Oracle SQL-ben.
További feladatok (például
"elhagyásos" típusú feladat a
maximum keresése)
írjuk fel relációs
algebrában
lineáris jelöléssel,
kifejezőfával, valamint
SQL-ben! E2.1.
Egyszerű
táblák
és nehezebb lekérdezések: Szeret
tábla és feladatok
és a tábla létrehozása: create_szeret
Reláció séma: Szeret(Nev, Gyumolcs)
Az előző heti E1.1.Egyszerű táblák és
lekérdezések (1-12.feladatok)
folytatása.
A megoldást lineáris
jelöléssel is írjuk
fel, a kifejezésfát
is
rajzoljuk fel, illetve
SQL SELECT utasítással is írjuk fel
(a SELECT utasítást
gépnél
is futtassuk le)
Házi feladatok a 4-5.gyakorlatra: (később
fogjuk megbeszélni az 5.gyakorlaton)
13. Kik szeretnek minden gyümölcsöt?
14. Kik azok, akik legalább azokat a
gyümölcsöket
szeretik, mint Micimackó?
15. Kik azok, akik legfeljebb azokat a
gyümölcsöket
szeretik, mint Micimackó?
16. Kik azok, akik pontosan azokat a
gyümölcsöket
szeretik, mint Micimackó?
17. Melyek azok a (név,név) párok,
akiknek legalább egy gyümölcsben
eltér
az
ízlésük, azaz az
egyik szereti ezt a gyümölcsöt, a
másik meg nem?
18. Melyek azok a (Nev,Nev) párok,
akiknek pontosan ugyanaz az
ízlésük,
vagyis pontosan ugyanazokat
a
gyümölcsöket szeretik?
Ma a 2.gyakorlaton az alábbi feladatot nézzük meg,
a maximum kifejezését
olyan módon, ahogy a 2.előadáson szerepelt (a
leggyorsabb pc-t kerestük)
19. Legyen Mesehős(Nev, Suly) a
relációséma és a
reláció azt
tartalmazza,
hogy ki milyen
súlyú. Ki a
legsúlyosabb?
(Segítség: a maximum az az
érték, aminél nincs nagyobb, ezeket el
kell hagyni)
(Később majd a minden gyümölcs
kifejezése
után nézünk más
megoldást is,
miszerint a maximum az
összes többi
értéknél nagyobb vagy
egyenlő)
(Köv.héten SQL-ben
az összesítő függvényekkel
egyszerűbben is kifejezzük). E2.2.
Dolgozó (EMP) és Osztály (DEPT)
táblákon
alapuló lekérdezések Dolgozó, Osztály táblák és feladatok
és a táblák
létrehozása
create_dolgozo
Lekérdezések az 1-2.gyakorlatra (az előző heti feladatok megoldását megnéztük
az 1.gyakorlaton természetes nyelven és relációs algebrában lineáris
jelöléssel,
ezen a 2.gyakorlaton a kifejezésfát
is
rajzoljuk fel, majd írjuk fel papíron is illetve
gépnél is futassuk le a megfelelő SQL SELECT utasítást!
1. Kik azok a dolgozók (mi a nevük), akiknek a
fizetése > 2800?
2. Kik azok a dolgozók, akik 1982.01.01
után léptek be a céghez?
3. Kik azok a dolgozók, akik a 10-es vagy a 20-as
osztályon dolgoznak?
4. Kik azok a dolgozók, akiknek a főnöke
KING?
5. Kik azok a dolgozók, akik
főnökének a főnöke KING?
6. Adjuk meg azoknak a főnököknek a
nevét, akiknek a foglalkozása nem
'MANAGER'. (dnev)
7. Adjuk meg azokat a dolgozókat, akik
többet keresnek a főnöküknél.
8. Kik azok a dolgozók, akik
osztályának telephelye DALLAS vagy CHICAGO?
9. Kik azok a dolgozók, akik
osztályának telephelye nem DALLAS
és nem CHICAGO?
10. Adjuk meg azoknak a nevét, akiknek a fizetése
> 2000 vagy a CHICAGO-i osztályon dolgoznak.
Erre is nézzük meg a a maximum (valamint minimum) kifejezését olyan módon,
ahogy a 2.előadáson szerepelt (amikor a
leggyorsabb pc-t kerestük).
11. Kik azok a dolgozók (mi a nevük), akiknek a legnagyobb a fizetése?
12. Kik azok a dolgozók (mi a nevük), akiknek a legkisebb a fizetése?
Feladatok: (az első gyakorlat E1.3. feladatainak folytatása)
!g) Adjuk meg azokat az osztályokat, amelyekbe
csak egy
hajó tartozik.
!h) Melyek azok az országok, amelyeknek
csatahajóik
is és cirkálóhajóik is
voltak?
!i) Adjuk meg azokat a hajókat, amelyek
"újjáéledtek", azaz egyszer
már megsérültek
egy csatában, de egy
későbbi csatában újra harcoltak.
Feladatok: (az első gyakorlat E.1.4. feladatainak folytatása)
! 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.
!! 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)
!! i) Melyik gyártó gyártja a
leggyorsabb számítógépet
(PC-t vagy laptopot)?
!! j) Melyik gyártó gyárt
legalább három,
különböző sebességu PC-t?
!! k) Melyek azok a gyártók, amelyek pontosan
három típusú PC-t
forgalmaznak?
-- A három egyedtípus
leírása:
Sörök(név, gyártó)
Bár(név, város, engedély)
Ivó(név, város, tel)
-- Közöttük levő kapcsolatok
leírása:
Kedvel(név, sör)
Felszolgál(bár, sör, ár)
Látogat(név, bár)
-- A fenti kapcsolatokat leíró
táblákra
röv.jelölések
K(N, S)
F(B, S)
L(N, B)
Feladatok: Fejezzük ki relációs
algebrában!
1.) Hogyan definiálnánk a boldog
ivót?
(látogat olyan
kocsmát, ahol felszolgálnak olyan sört,
amit kedvel).
2.) Kik a Boldogtalan_ivók? (azok, akik nem
boldog
ivók)
3.) Ki jár olyan kocsmába, ahol van
legalább két kedvenc söre?
4.) Ki jár CSAK olyan kocsmába, ahol
legalább egy kedvenc söre kapható?
5.) Ki jár olyan kocsmába, ahol az
összes kedvenc söre kapható?
6.) Ki jár CSAK olyan kocsmába, ahol
semmilyen
sört nem szeret?
7.) Ki jár CSAK olyan kocsmába, ahol
az
összes kedvenc söre kapható?
8.) Ki jár olyan kocsmába, ahol
mindent szeret?
9.) Ki jár CSAK olyan kocsmába, ahol
mindent
szeret?
10.) „Tanácsadó
szolgálat”: Hová menjen el
két ivó sörözni?
Olyan
kocsmát keresünk, ahova mind a ketten
járnak és
ahol mind a ketten
találnak olyan sört, amit kedvelnek. Gyakorló
feladatok: Azokat
a feladatokat, amelyekre az órán nem maradt idő,
gyakorló
feladatként otthon be lehet fejezni, aminek célja
az önálló gyakorlás.