2.GYAKORLAT (ADATBÁZISOK)
   

   
  RELÁCIÓS ADATMODELL, RELÁCIÓS ALGEBRAI LEKÉRDEZÉSEK 
   
   - Alapok: Relációs algebrához relax környezet táblákkal: dbis uibk github io/relax
   - A fenti linken elérhető DB (ELTE-AB1) táblákat is használjuk a lekérdezésekhez,
     de magunk is létrehozhatunk táblákat: Relax_Szeret.txt Relax_PC_Termek.txt 
   - A relációs algebrai műveletek eredménye halmaz, vagyis ez az implementáció
     minden művelet elvégzése után automatikusan megszünteti az ismétlődéseket. 
     A relációs algebrai fület használjuk, ez a szintaxis érzékeny a kis-nagybetűre,
     algebrában a szűrőfeltételben nem használható alkérdés (az csak SQL-ben).
   
   - Volt az 1.gyak: Szeret(nev, gyumolcs) táblára vonatkozó lekérdezések 
     Unér műveletek: pi-vetítés, sigma-kiválasztás, rho-átnevezés (táblák v. oszlopok)
     Halmazműveletek: unió (union), halmazműv.különbség (-), metszet (intersect)
     Tábla átnevezése, önmagával vett direkt szorzata (sorpárok összevetésére)
     
   - A mai 2.gyak: Tankönyv példái és relációs algebrai lekérdezések feladatai: 
     Tk. 2.4. fejezetében kidolgozott példák: UW_24_RelAlg.pdf Filmek példája 
     Tk. 2.4.1. Termékek-feladatok.pdf a mai gyakorlat anyaga Relax_PC_Termek.txt  
     Tk. 2.4.3. Csatahajók-feladatok.pdf H.F. otthoni gyakorlás Relax_Csatahajok.txt
   
   - Átírások: Alap relációs algebrai kifejezés <=> SQL SELECT utasításra 
     Itt most olyan megoldásokat keressünk, amit előbb az alap relációs algebrai 
     lekérdezésként adunk meg, majd ezt átírjuk SQL lekérdezésekre.  
   - projekció szelekció (táblák direkt szorzata) <=> SFW (SELECT FROM WHERE) 
   - Fontos! Az SQL-ben a halmazműveleteket nem táblákra, hanem
     SFW lekérdezésekre alkalmazzuk (azonos dimenzió, kompatibilis típus)
         SFW
           {UNION | MINUS | INTERSECT }
         SFW
   - Megjegyzés: Relációs algebrában használhatunk segédváltozókat, aminek
     az átírása SQL-be többféleképpen történhet vagy WITH munkatabla as (SFW)
     záradékban adjuk meg közvetlenük a SELECT záradék előtt, ekkor a FROM listán
     nem csupán valódi táblák, hanem ezek a munkatáblák is szerepelhetnek vagy
     a FROM listán bezárójelezett alkérdést, ú.n. inline nézetet is használhatunk
     FROM (SFW) temp_tábla, ahol (SFW) = (SELECT ... FROM ... WHERE ...) alkérdés. 
 
   - Tk 2.4.1. PC-Termékek példája (Rel.alg.kifejezés <=> SQL lekérdezés)
   -- Tankönyv 2.4.szakasz 2.4.1.lekérdezési feladatai: Termékek-feladatok.pdf
       Táblák létrehozása Relax-ban: Relax_PC_Termek.txt       
   -- Alosztályok használata az E/K diagramban, öröklési osztályhierarchia:       
     
   -- Osztályhierarchia átalakítása relációkká, három stratégia hogyan alakítjuk át:
      1.) E/K típusú átalakítás (4 tábla lesz, ezt használjuk, csak a kulcs öröklődik) 
      2.) Objektumorientált megközelítésben való átalakítás (minden attr.öröklődik)
      3.) Nullértékek használata relációk egyesítéséhez (egy táblában minden attr.)
   
   -- Relációs sémák E/K típusú átalakítással:
          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: Lekérdezések kifejezése alap relációs algebrában és SQL-ben
    1. Melyek azok a PC modellek, amelyek sebessége legalább 3.00?
    2. Mely gyártók készítenek legalább száz gigabájt méretű merevlemezzel
        rendelkezı laptopot?
    3. Adjuk meg a B gyártó által gyártott összes termék modellszámát és árát,
        típustól függetlenül.
    4. Adjuk meg valamennyi színes lézernyomtató modellszámát.
    5. Melyek azok a gyártók, akik laptopot árulnak, PC-t viszont nem?
    6. Melyek azok a merevlemezméretek, amelyek legalább két PC-ben megtalálhatók?
    7. 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.
    8. Melyik gyártó gyártja a leggyorsabb számítógépet (PC-t vagy laptopot)?
    9. Melyik gyártó gyárt legalább három, különböző sebességű PC-t?
  10. Melyek azok a gyártók, akik pontosan három típusú PC-t forgalmaznak?
   
 --- --- --- ---     
   -- További gyakorló feladatok a Tankönyv 2.4.szakasz 2.4.3.lekérdezési feladai:
       Tk. 2.4.3. Csatahajók-feladatok.pdf H.F. otthoni gyakorlás Relax_Csatahajok.txt