Témakör: TECHNIKAI KÉRDÉSEK Oracle adatbázisok elérése, sqldeveloper
- Ezen az órán a célunk, hogy előkészítsük az SQL gyakorláshoz a környezetet,
megbeszéljünk minden technikai kérdést, hogy mindenki be tudjon csatlakozni
az Oracle adatbázisokhoz ELTE-s környezetből, illetve otthonról (port forward).
- Az ABKR komponensei, kliens-szerver. Kapcsolódás az adatbázishoz.
- Oracle segédanyagok: DBMS (ABKR), kliens-szerver: SQL01_bevezetes.pdf
- Első gyakorlati témakörünk a lekérdezések (egytáblás lekérdezésekből -> 1.zh,
és a többtáblás lekérdezésekből -> 2.zh), a lekérdezések kipróbálásához előbb
létre kell hoznunk a tábláinkat és feltölteni adatsorokkal, amit most elvégzünk,
de az Adatbázis-kezelés alapfogalmait, az adatbázis-kezelő rendszer (DBMS)
felépítését, az SQL főbb részeit, hogyan tudunk táblákat létrehozni, milyen
tipusú adataink lehetnek, részleteket később tanuljuk: Adatbázis-kezelés.pdf
- ELTE-s ORACLE ADATBÁZIS szerverek elérése -->> adatbazis_eleres.html
- Az órai példa, HR (Human Resources) információs rendszer E/K modellje:
Entitások: Dolgozó, Osztály; Kapcsolatok: dolgozik, főnoke (sok-egy kapcs.)

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, ..., megszorítások), a lekérdezésekhez
az Oracle alapvető adattípusai: Oracle_tipusok.txt (varchar2, number, date)
- Példa-táblák létrehozására szkriptek -->> adatbazis_scriptek.html
- Gyakorlatok példáihoz a táblák létrehozása Oracle SQL-ben: createDolgozo.txt
SQL egytáblás lekérdezések, SELECT lista és WHERE feltétel
FELADATOK: Egytáblás lekérdezések, a dolgozo tábla lekérdezése
--- Oszlopok kiválasztása: SQL SELECT utasításban a SELECT lista
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")
--- Sorok kiválasztása: 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: 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 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)
A mai óra anyagáról kiegészítő olvasmány, összefoglalásként:
- Oracle SQL demo: SQL01_bevezetes.pdf -- HR séma: Schema Diagrams
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