2.GYAKORLAT (ADATBÁZISOK)
    
   Beadandó feladatok beküldése a laborgépekről (zh mappa) -->> gyak.követelm.html
   Mi volt az előző gyakorlaton? HF: Válasszon ki egy saját témát, írja le röviden a témát!
   A mai gyakorlaton az egyedhalmazok közül az egyiket kiválasztva hozza azt létre,
   töltse fel adatsorokkal, és az egy táblás lekérdezéseket erre a táblára próbálja ki! 
   ORACLE ADATBÁZIS szerverek elérése -->> adatbazis_eleres.html
   Példa-táblák létrehozására a szkriptek -->> adatbazis_scriptek.html
        

   1.rész: SQL feladatsor a 2.gyakorlatra: Egy tábla lekérdezése
 
   Témakör: Az SQL SELECT utasítás SELECT és WHERE záradékai
   >> Oracle Példák: -- lekérdezésekhez elég szinonimákat venni: createHRsyn 
         EA-kieg: lecke01/select-alap.pdf,  lecke02/where-feltétel.pdf
          
    >> Dolgozo, Osztaly táblák: createDolg 
          Dolgozo (dkod, dnev, foglalkozas, fonoke, belepes, fizetes, jutalek, oazon)      
          Osztaly (oazon, onev, telephely)
   
    >> Feladatok egytáblás lekérdezésekre: SELECT lista FROM tábla WHERE feltétel
   
--- Rel.algebra vetítés művelete (SQL-ben multihalmaz -> rel.alg.-ban halmaz!)
 1.  Adjuk meg a dolgozók között előforduló foglalkozások neveit! (select lista)
 2.  Adjuk meg a dolgozók között előforduló foglalkozások neveit (DISTINCT is),
     az eredmény halmaz legyen, vagyis minden foglalkozást csak egyszer írjuk ki!
 3. Adjuk meg a dolgozók kódját, nevét és az éves fizetését, amikor kifejezést
     használunk az oszlopnevek helyén, ott adjunk új oszlopnevet ("éves fizetés")
   
--- Rel.algebra kiválasztás művelete és SQL SELECT utasítás WHERE feltétele
 4. Kik azok a dolgozók, akiknek a fizetése > 2800? (kiválasztás, elemi feltétel)
 5. Írjuk ki a 'KING' nevű dolgozó(k) adatait! (kar.tip.konstans megadása 'KING')
 6. Kik azok a dolgozók, akiknek a fizetése 2000 és 4500 között van?
     (1.mo: kiválasztás, összetett feltétel; 2.mo: where-ben: intervallum)
 7. Kik azok a dolgozók, akik a 10-es vagy a 20-as osztályon dolgoznak?
     (1.mo: kiválasztás, összetett feltétel; 2.mo: where-ben: in értékek)
 8. Adjuk meg azon dolgozókat, akik nevének második betűje 'A' (where: like)
 9. Kik azok a dolgozók, akiknek a jutaléka nagyobb, mint 600?
10. Kik azok a dolgozók, akiknek a jutaléka kisebb-vagy-egyenlő, mint 600?
11. Kik azok a dolgozók, akiknek a jutaléka ismeretlen (hiányzó adat, nincs kitöltve)
12. Kik azok a dolgozók, akiknek a jutaléka ismert (vagyis nem NULL)
   
--- Köv.itt nem alap relációs algebrai művelet, de SQL lekérdezésekben hasznos
     művelet az eredménytábla sorait rendezni (ORDER BY, kiterjesztett rel.algebra)
13. Listázzuk ki a dolgozókat foglalkozásonként, azon belül nevenként rendezve.
14. Listázzuk ki a dolgozókat fizetés szerint csökkenőleg rendezve.
     

   2.rész: SQL feladatsor a 2. és 3.gyakorlatokra (köv.héten is folytatjuk)
   Sorfüggvények használata

   Témakör: Az SQL SELECT utasítás SELECT és WHERE záradékaiban szereplő
   attribútumok különböző típusaira kifejezések és a sorfüggvények használata:
   I. Az Oracle által ismert adattípusok, lásd OracleTipusok.html
   II. Beépített függvények használata, a legfontosabb Oracle függvények:
        EA-kieg:  lecke03/fuggvenyek.pdf - sorfüggvények használata
  
  FELADATSOR: dolgozo, osztaly --- Táblák létrehozása, lásd createDolg (script)
   
 1. Adjuk meg dolgozók nevét és az éves fizetését, akik a 10-es osztályon dolgoznak.
 2. Adjuk meg azon dolgozókat, akik fizetése osztható 15-tel.
 3. Adjuk meg a dolgozók fizetéseinek négyzetgyökét két tizedesre, és ennek egészrészét.
 4. Adjuk meg azon dolgozókat, akik nevének második betűje 'A'.
 5. Adjuk meg azon dolgozókat, akik nevében van legalább két 'L' betű.
    (Többféle megoldást is keressünk a lekérdezésre, LIKE, INSTR függvény)
 6. Adjuk meg a dolgozók nevének utolsó három betűjét.
 7. Adjuk meg azon dolgozókat, akik nevének utolsó előtti betűje 'T'.
 8. Kik azok a dolgozók, akik '1982.01.01.' után léptek be?
     (Aktuális dátumformátumot lásd -> SYSDATE fv.)
 9. Adjuk meg, hogy hány hete dolgozik a cégnél ADAMS és milyen hónapban
     és milyen nap (hétfő, kedd, stb. magyar/angol) lépett be (dátum formátumok)
10. Adjuk meg azokat a dolgozókat, akik keddi napon léptek be. (Vigyázzunk a visszaadott értékkel!)
11. Adjuk meg, hogy hány nap volt KING és JONES belépési dátuma között?
12. Adjuk meg, hogy milyen napra esett KING belépési dátuma hónapjának utolsó napja.
13. Adjuk meg, hogy milyen napra esett KING belépési dátuma hónapjának első napja.
14. Számoljuk ki, egészekre kerekítve, hogy a mai nap hány naposak vagyunk,
     azt is, hogy hány hetesek, továbbá hány hónaposak vagyunk (DUAL tábla)
15. Adjuk meg a dolgozók éves jövedelmét, ahol a havi jövedelem a fizetés
     és jutalék összege, ahol nincs jutalék megadva,ott a 0 helyettesítő
     értékkel számoljunk (NVL függvény alkalmazása).
   
>> Segédlet: Examples/Példák:  SQL Language Reference >> 5 Functions:
      Sorfüggvények: pl. Karakteres függvények: SUBSTRRPAD, ...,  INSTR, ...
      pl. Dátum függvények: MONTHS_BETWEEN, ..., pl. Konverziós: TO_DATE, ...
      pl. Null érték kezelése, helyettesítő érték megadása: NVL, COALESCE, ...
             Figyelem! COALESCE példában: FROM product_information
             mivel ez a tábla nem az HR, hanem OE sémában szerepel, ezért
             itt ki kell írni a táblatulajdonost: FROM OE.product_information
             (ugyanis csak a HR owner tábláihoz hoztuk létre a szinonimákat).
     

>> Önálló gyakorlás: Oracle Példatár Feladatok.pdf 1.fejezet 1.1.-1.18. feladatok
      Megj.: 1.14.feladatban foglalkozás szerint rendezve (nem csoportosítva)

1.6 feladat (Kende-Nagy)
     Listázzuk ki a dolgozók nevét és fizetését, valamint jelenítsük meg a fizetést
     grafikusan úgy, hogy a fizetést 1000 Ft-ra kerekítve, minden 1000 Ft-ot
     egy '#' jel jelöl. (például 5000 -> #####, 800 -> #)

1.8 feladat (Kende-Nagy)
    Listázzuk ki azoknak a dolgozóknak a nevét, fizetését, jutalékát, és
    a jutalék/fizetés arányát, akiknek a foglalkozása eladó (SALESMAN).
    Az arányt két tizedesen jelenítsük meg.