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?
 

E2.3. Tankönyv II.világháború csatahajói sémán alapuló feladatai (gyakorlati anyag)
Csatahajók táblák és feladatok  és a táblák létrehozása: create_csatahajok
 
Ez a példa, a II. világháború csatahajóival(bb) és cirkálóival (bc) foglalkozik,
és a következő sémájú relációkat tartalmazza:
 
Hajóosztályok(osztály, típus, ország, ágyúkSzáma, kaliber, vízkiszorítás)
Hajók(hajónév, osztály, felavatva)
Csaták(csatanév, dátum)
Kimenetelek(hajónév, csatanév, eredmény)
   
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.
      

E2.4. Tankönyv Termék sémán alapuló feladatai (EZ AZ ELŐADÁSON SZEREPEL!)
Termékek táblák  és feladatok  és a táblák létrehozása: create_termekek
 
Adatbázis séma:
Termék(gyártó, modell, típus)
PC(modell, sebesség, memória, merevlemez, ár)
Laptop(modell, sebesség, memória, merevlemez, képernyo, ár)
Nyomtató(modell, színes, típus, ár)
   
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?   
 

E2.5. Az előadáson szereplő szorgalmi példa (SZORGALMI)
Sörivók adatbázis és feladatok
   
SÖRIVÓK adatbázis séma:

-- 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.
   
Fel a lap tetejére                          Vissza az AB1gyak oldalára (főmenü)