ELTE,
IP-08abctAB1G,
BSc Adatbázisok-1, 2013/2014/I.félév
Előzetes információ az II.ZH-ról
II.ZH
témaköre: I.rész
Papíros
feladatok (Semmilyen segédeszköz nem
használható!) (45 perc) A papíros
feladatokra
kapható 24 pontból legalább 8 pontot
kell
elérni.
4 feladat az alábbi négy feladattípusból: 1.feladattípus: E/K diagram átírása relációs modellre (Tk
4.1-4.6.)
-- Adott E/K diagram
átírása relációs
modellé:
-- egyedhalmazok
és kapcsolatok átírása
relációkká, összevonások
-- gyenge egyedhalmazok
kezelése, valamint
-- osztályhierarchia ("isa")
átalakítása relációkká
(a
háromféle
megközelítésben). 2.feladattípus: Lekérdezések kifejezése Datalogban (Tk 5.3-5.4.)
-- Lekérdezések
kifejezése Datalogban és
-- a szabályok
biztonságosságának ellenőrzése.
-- Relációs algebrai kifejezések
átírása Datalogba. 3.feladattípus: Alapfogalmak (Tk 6.5-6.6., 7.1-7.4., 8.1-8.2., 9.1-9.2.)
-- Táblák tartalmának
megváltoztatása, a tranzakciókezelés
alapjai.
-- Megszorítások.
Nézettáblák.
-- Tárolt
eljárások és
függvények (PSM vagy PL/SQL)
-- Kurzorral történő
módosítások (PSM vagy PL/SQL) 4.feladattípus -
Rekurzió (Tk 10.2.)
-- Rekurzív lekérdezések
kifejezése
rekurzív
Datalogban és
-- WITH RECURSIVE utasítással SQL3
szabványban.
II.rész
Gépes
feladatok (csak az Oracle on-line dokumentáció
használható!)
(45 perc) A gépes feladatokra kapható 24
pontból legalább 8 pontot kell elérni.
4 feladat az alábbi négy feladattípusból: 1-2.feladattípus: Teljes SQL nyelv
- SQL DDL (táblák,
megszorítások,
nézetek),
- SQL DML (insert, delete, update),
- SQL SELECT további lehetőségei,
például
CONNECT BY 3-4.feladattípus: PL/SQL
- PL/SQL hivatkozási és komplex
típusok, (implicit
és explicit) kurzorok,
- PL/SQL tárolt eljárások
és
függvények, kivételkezelés
Gépes
mintafeladatsor a II.ZH-hoz: Az emp és dept táblákból
készítsünk saját myemp és mydept
táblákat.
A további feladatok ezekre a myemp és mydept
táblákra vonatkoznak.
A
feladatok megoldása során létrehozhat
és használhat megfelelő
nézettáblákat.
1.feladatSQL
DDL
(nézetek) és DML (insert, delete, update)
a) Írjon szkript programot, amely a myemp
táblából törli a legjobban
fizetett
Dallas-i dolgozót.
b) Írjon szkript programot, amely a myemp
táblában
megnöveli 'BLAKE' nevű
dolgozó beosztottjainak
fizetését az
átlagfizetésük 20%-ával.
A törlés és az
adatmódosítás
sikerességéről
listázással győződjön meg, majd
állítsa vissza az eredeti
táblatartalmat.
2.feladatSQL
SELECT (hierarchikus
lekérdezések, CONNECT BY)
a) Hierarchikus lekérdezéssel
jelenítsük meg
a myemp táblából 'FORD' beosztottjait
b) egy másik lekérdezéssel pedig Ford
közvetlen és közvetett főnökeit,
feletteseit.
3.feladatPL/SQL
(kurzorok, függvények)
Írjon PL/SQL függvényt, amely a myemp
tábla alapján kiszámolja a
paraméterként
kapott nevű dolgozónak és a
közvetlen
beosztottjainak az átlagfizetését. Ha
az adott
dolgozónak nincs beosztottja, akkor
értelemszerűen a
dolgozó fizetését adja vissza.
Hívjuk meg a függvényt (egy PL/SQL
blokkból
írassuk ki az értékét)
'BLAKE'-re.
4.feladatPL/SQL
(kurzorok, tárolt eljárások,
kivételkezelés)
Írjon PL/SQL tárolt
eljárást, amely a myemp
táblában megnöveli
minden Dallas-i
telephelyű dolgozók fizetését a
saját
fizetésének a
20%-ával, feltéve, hogy
a fizetése
3000 USD alatt van. Ha 3000 USD-nél több lenne,
akkor
csak írjon ki egy szöveget.