5.gyak. Lekérdezések kifejezése kiterjeszett relációs algebrában,
Oracle függvények, csoportosítás és összesítések 
       
Feladatok: Ezen a gyakorlaton olyan lekérdezéseket fejezük ki SQL-ben, amit
relációs algebrában nem lehet kifejezni, majd bevezetjük a kiterjeszett relációs
algebrát a multihalmazokra, a kiterjesztett vetítést, az ismétlődések megszüntetését,
az összesítési és csoportosítási műveleteket,  valamint a rendezés műveletét.
A papíros feladatoknál (mint ahogy a relációs algebrában volt) ebben a kiterjesztett
relációs algebrában is lineáris jelöléssel és kifejezésfával is írjuk fel a lekérdezéseket.
     

Emlékeztető az előző gépes gyakorlatokról, csatlakozás az Oracle adatbázishoz: 
Gépes gyakorlathoz: Oracle adatbázis elérhetősége
   
A lekérdezési feldatatok megoldásához előbb az alaptáblákat kell létrehoznunk
(aki volt az előző gyakorlatokon, azoknak megvan, aki nem volt, most hozza létre)
1.) Oracle segédanyag példáinak kipróbálása:
- Ehhez előkészítés: HR séma tábláihoz készítsük el a szinonimákat create_synonym
   
2.) Az órai gyakorlatok példái:
- Dolgozo és Osztaly feladatok: table_dolgozo.txt és a táblák létrehozása create_dolg
   
3.) A példatár feladatai önálló gyakorlásra:
--  Lásd Feladatok.pdf (1. és 2. fejezet) és a táblák létrehozása  cr_dept_emp 
   

1.6. Oracle függvények 

Segédanyag: >> Sorfüggvények példáit próbáljuk ki!

Néhány specialitás, amikről érdemes egy-két szót ejteni:
>> A DUAL tábla
   
1.7. Csoportosítás és összesítések az SQL-ben
   
SELECT column,] group_function(column), ...
FROM   table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
   
Segédanyag: >> Csoportosítás példáit próbáljuk ki!
  

Kiterjesztett relációs algebra
   
Segédanyag: Lekerd  
Az alábbi lekérdezéseket fejezzük ki SQL SELECT-tel, majd írjuk át a lekérdezést
kiterjesztett relációs algebrai operátorokat felhasználó kifejezéssé, majd rajzoljuk fel
a kifejezésfát is.
 - Adjuk meg osztályonként az osztály nevét és az ott dolgozók számát
   a dolgozók száma szerint növekvő sorrendben.
- Adjuk meg azoknak az osztályoknak a nevét, ahol az átlagfizetés nagyobb mint 2000.
- Adjuk meg azoknak a foglalkozásoknak a nevét, amelyek a 10-es és 20-as
  osztályon is  előfordulnak. Ismétlődések ne legyenek a végeredményben.
   
Fejezd ki a lekérdezéseket SQL SELECT-tel és kiterjeszett relációs algebrában!
2.) A gyakorlatok feladatai itt: table_dolgozo.txt
Feladatok az 5.gyakorlatra:
- 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)
- Adjuk meg a dolgozók fizetéseinek négyzetgyökét és 3-mal vett maradékát.
- Adjuk meg, hogy hány napja dolgozik a cégnél ADAMS és milyen hónapban lépett be.
- Mekkora a minimális/maximális fizetés a dolgozók között?
- Kinek a legkisebb/legnagyobb a fizetése?
- Mennyi a dolgozók összfizetése?
- Mennyi a 20-as osztályon az átlagfizetés?
- Adjuk meg, hogy hány különbözo foglalkozás fordul elo a dolgozók között.
- Adjuk meg osztályonként az átlagfizetést (OAZON, ATL_FIZ).
- Adjuk meg osztályonként a telephelyet és az átlagfizetést (OAZON, TELEPHELY, ATL_FIZ).
- Adjuk meg azokra az osztályokra az átlagfizetést, ahol ez nagyobb mint 2000.
        

3.) További gyakorló feladatok: Oracle példatár Feladatok.pdf
az 5.gyakorlathoz: 1.fejezet: Függvények (1.1-1.18) és
- 2.fejezet: Csoportosító lekérdezések (2.1-2.24.feladatok) 
Az önálló gyakorlást nem-kötelező beadandóként egy "<ehakod>_5gy.txt" nevű  
szöveges fájlban legkésőbb a köv.gyakorlat előtt, kedd 10h-ig küldjék el emailben.
A beadandó célja az önálló gyakorlás, lásd Gyakorlati követelmények #Beadandó.  
     
Vissza az AB1 gyakorlat oldalára             Vissza a Kezdőlapra