4.GYAKORLAT (ADATBÁZISOK)  A PAPÍROS I.ZH UTÁN GÉPES GYAKORLAT
 
   TECHNIKAI KÉRDÉSEK Oracle adatbázisok elérése, sqldeveloper
   - Ezen a héten az a célunk, hogy előkészítsük az SQL gyakorláshoz a környezetet,
     megbeszéljük hogyan csatlakozzunk az ELTE szervereken az adatbázisokhoz.
   - ELTE-s ORACLE ADATBÁZIS szerverek elérése -->> adatbazis_eleres.html
    
   Témakör: Egy táblára vonatkozó Oracle SQL lekérdezések
   - Az ABKR-felépítése, SQL főbb utasításai: SQL01_bevezetes.pdf 
   - Oracle demo példa HR séma: Schema Diagrams -> ehhez hasonló az órai példa.
   - Lekérdezésekkel kezdünk, de ahhoz, hogy az SQL lekérdezéseket kipróbáljuk 
     létre kell hoznunk a táblákat, a scriptben szereplő utasításokat később tanuljuk: 
     create table táblanév (oszlopnév típus, stb, megszorítások) részletesen 7.gyak.
     lesz az Oracle alapvető adattípusai: Oracle_tipusok.txt (varchar2, number, date)
  -  Gyakorlatok példáihoz a táblák létrehozása Oracle SQL-ben: 
        >> createSzeret   -- Szeret(nev, gyumolcs)
        >> createDolgozo -- Osztaly, Dolgozo, Fiz_kategoria    
     
    Relációsémák:
         Osztaly (oazon, onev, telephely)
         Dolgozo (dkod, dnev, foglalkozas, fonoke, belepes, fizetes, jutalek, oazon)
         Fiz_Kategoria (kategoria, also, felso)  -- táblázat a fizetési sávokat adja meg
      
  FELADATOK: Egy tábla lekérdezése (oszlopok vetítése és sorok kiválasztása)
  
 - 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 az SQL SELECT utasítás WHERE feltétele
 - NULL hiányzó érték, lásd SQL Lang.Ref. Nulls, 3 értékű logika, lásd igazságtábla
 4. Kik azok a dolgozók, akiknek a fizetése > 2800? (kiválasztás: elemi feltételek)
 5. Adjuk meg azokat a dolgozókat, akiknek a foglalkozása 'MANAGER' (kar.tip.érték)
 6. Kik azok a dolgozók, akiknek a fizetése 2000 és 4500 között van? (dkod, dnev)
     (1.mo: where-ben: intervallum); (HF 2.mo: rel.alg.kiválasztás: összetett feltétel
 7. Kik azok a dolgozók, akik a 10-es vagy a 20-as osztályon dolgoznak?
     (1.mo: where-ben: in feltétel); (HF 2.mo: rel.alg.kiválasztás: összetett feltétel) 
 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. (NULL felt)
12. Kik azok a dolgozók, akiknek a jutaléka ismert (vagyis nem NULL)
   
  - Az eredménytábla sorainak rendezése (SELECT utasítás ORDER BY záradéka)
     (Ez itt nem alap relációs algebrai művelet, de az SQL lekérdezésekben hasznos)
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.
15. Rendezés segítségével az első N sor elérése Oracle 12.2 adatbázisban,
      lásd Row Limiting Examples.html (forrás: Oracle Database SQL Lang. Ref. html)
  
    Összefoglalás: SQL SELECT utasítás egytáblás lekérdezések 
   - Oracle segédanyagok: SQL02_select_lista.pdf;  SQL03_where_feltetel.pdf
     Az Oracle demo lekérdezésekhez elég szinonimát használni: createHRsyn.txt