I.RÉSZ: gépes SQL egytáblás lekérdezések, vetítés és kiválasztás műveletei
- Előkészítjük az SQL gyakorláshoz a környezetet, létrehozzuk a táblákat SQL-ben
- ELTE-s ORACLE ADATBÁZIS szerverek elérése -->> adatbazis_eleres.html
- Az ABKR-felépítése, SQL főbb részei és utasításai: SQL01_bevezetes.pdf
- Oracle demo példa HR séma: Schema Diagrams -> hasonló lesz az órai példa:
E/K diagramja: Entitások: Dolgozó, Osztály; Kapcsolatok: sok-egy kapcsolatok

- Az E/K modellt átalakítjuk relációs modellre:
-- 1a.) lépés: Entitások átírása relációsémákra
Osztaly (oazon, onev, telephely)
Dolgozo (dkod, dnev, foglalkozas, belepes, fizetes, jutalek)
-- 1b.) lépés: Kapcsolatok átírása relációsémákra
dolg(dkod, oazon)
fonok(dkod, fonoke)
-- 2.lépés Táblák összevonása után a végső adatbázis séma:
Osztaly (oazon, onev, telephely)
Dolgozo (dkod, dnev, foglalkozas, fonoke, belepes, fizetes, jutalek, oazon)
- 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 -- 1.példa: szeret(nev, gyumolcs)
>> createDolgozo -- 2.példa: osztaly, dolgozo, fiz_kategoria
FELADATOK: Egy tábla lekérdezése (oszlopok vetítése és sorok kiválasztása)
- SELECT.1.rész: select lista from T where feltétel <=> pi lista sigma feltétel (T)
- 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: 2.gyak. II. 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
de a legjobb, ha az ott szereplő Employees táblákra vonatkozó példákat a
Dolgozo (dkod, dnev, foglalkozas, fonoke, belepes, fizetes, jutalek, oazon)
saját tábláin alkalmazza (átírja a megfelelő táblanév, oszlopnév, értékekre).
II.RÉSZ: RELÁCIÓS ADATMODELL, RELÁCIÓS ALGEBRAI LEKÉRDEZÉSEK
- H.F.: Ullman-Widom Tankönyv 2.4. fejezetét átnézni: UW_24_RelAlg.pdf
a Tankönyvben szereplő Filmek példáján nézze át a relációs algebrát.
- Összetett kulcs használata /A Tankönyv Filmek példája:

-- Egyed/kapcsolatok átírása, majd Filmek és Gyártó táblák összevonása
után a Tankönyvben szereplő példákban az átnevezték az oszlopokat:
Filmek (cím, év, hossz, műfaj, stúdiónév)
Színészek (név, cím, nem, születésidátum)
Szerepelbenne (filmcím, filmév, színésznév)
Stúdiók (név, cím)
-- Köv.gyakorlaton relációs algebrai lekérdezések jönnek a Tankönyv feladatai:
- Relációs algebrához relax környezet táblákkal: dbis uibk github io/relax
- Tk. 2.4.1. Termékek-feladatok.pdf feladatok köv.héten Relax_PC_Termek.txt
- Tk. 2.4.3. Csatahajók-feladatok.pdf otthoni gyakorlás Relax_Csatahajok.txt