1.6. Tárolt eljárások, függvények, aktív elemek

Az eljárások, függvények használatához használja a következő adatbázis tervet:

1.14. ábra - ER modell

ER modell

1.6.1. Tárolt eljárások, függvények

  1. Hozzon létre PL/SQL csomagot, amely a „vevő” táblát kezeli: adatfelvitelt, adatmódosítást, adattörlést valósítson meg!

  2. Hozza létre a csomagtörzset az 6.1.1/1. feladatban létrehozott csomaghoz!

  3. Hozzon létre PL/SQL csomagot, amely a „szolgáltató” táblát kezeli: adatfelvitelt, adatmódosítást, adattörlést valósítson meg!

  4. Hozza létre a csomagtörzset az 6.1.1/3. feladatban létrehozott csomaghoz!

  5. Hozzon létre PL/SQL csomagot, amely a „mobiltelefon” táblát kezeli: adatfelvitelt, adatmódosítást, adattörlést valósítson meg!

  6. Hozza létre a csomagtörzset az 6.1.1/5. feladatban létrehozott csomaghoz!

  7. Hozzon létre PL/SQL csomagot, amely a „tel” táblát kezeli: adatfelvitelt, adatmódosítást, adattörlést valósítson meg!

  8. Hozza létre a csomagtörzset az 6.1.1/7. feladatban létrehozott csomaghoz!

  9. Hozzon létre PL/SQL csomagot, amely az „elégedettség” kapcsoló táblát kezeli: adatfelvitelt, adatmódosítást, adattörlést, elégedettség jelleg lekérdezést valósítson meg!

  10. Hozza létre a csomagtörzset az 6.1.1/9. feladatban létrehozott csomaghoz!

  11. Hozzon létre PL/SQL csomagot, amely az „árusít” kapcsoló táblát kezeli: adatfelvitelt, adatmódosítást, adattörlést valósítson meg!

  12. Hozza létre a csomagtörzset az 6.1.1/11. feladatban létrehozott csomaghoz!

  13. Írjon tárolt eljárást, amely beszúr egy rekordot a vevő táblába a 3 kötelező mezőt kitöltve!

  14. Írjon tárolt eljárást, amely a vevők neveit átírja csupa nagybetűsre, majd hívja meg az eljárást!

  15. Írjon tárolt eljárást, amely kilistázza és megszámolja az adatbázisban szereplő szolgáltatókat!

  16. Írjon tárolt eljárást, amely a 25000 Ft-nál olcsóbb telefonok árát 20%-kal megnöveli!

  17. Írjon tárolt függvényt, amely visszaadja a legdrágább telefon árát!

  18. Írjon függvényt, amely visszaadja a paraméterében kapott vevő nevéhez tartozó e-mail címet!

  19. Írjon függvényt, mely visszaadja, hogy egy paraméterül átadott azonosítójú szolgáltatóval mennyire elégedettek a vevők!

  20. Írjon függvényt, mely visszaadja, hogy egy adott típusú mobiltelefont hány szolgálató árusít!

  21. Írjon függvényt, mely visszaadja, hogy a vevők hány százaléka elégedett szolgáltatójával!

1.6.2. Triggerek

  1. Hozzon létre triggert, amely naplózza a NAPLO (dátum, esemény) táblába, ha új rendelés érkezik be.

  2. Futtasa le az előző feladatban létrehozott triggert.

  3. Naplózza egy NAPLO (szoveg) táblába, ha hozzáférés történik a dolgozó törzstáblához.

  4. Módosítsa az első feladat megoldását úgy, hogy az esemény leírásában szerepeljen a termék kódja is (rendeles tábla termek mezője).

  5. Oldja meg triggerel, hogy amennyiben egy raktár egy rekesze blokkolt állapotba kerül (STATUS mező = 'B'), akkor az oda allokált termék csomagok is blokkolt státuszba kerüljenek.

  6. Hozzon létre olyan triggert, amely nem engedi, hogy 100000 alatt legyen valamelydolgozónak a fizetése.

  7. Készítsen triggert, mely azt felügyeli, hogy az dolgozók jövedelmét nem lehet 50000 Ft-nál nagyobb értékkel növelni.

  8. Írjon olyan triggert, amely nem engedi, hogy egy számlafejhez 10-nél több tétel tartozzon.

  9. Készítsen triggert, melynek feladata, hogy új fizetés érték esetén automatikusan kiszámítja az adó értékét. Az adó értékét egy adoszamitas nevű tárolt eljárás határozza meg.

  10. Hozzon létre triggert, mely nem enged 1000-nél kisebb, illetve 10000-nél nagyobb értéket felvinni a termék ár mezőjébe. Hibakezelésen keresztül állítsa be a mező érvényes értékét.

  11. Készítsen triggert, amely 10% kedvezményt ad a rendelési árból, ha a rendelésértéke nagyobb mint 10000 Ft.

  12. Készítsen triggert, amely 10% kedvezményt ad a rendelési árból, ha a vevő eddigi összrendelés értéke nagyobb mint 100000 Ft.

  13. Készítsen VIEW-t az összetartozó dolgozó és üzem nevek megjelenítésére. Eztután készítsen olyan triggert, anely ezen VIEW-ra kiadott INSERT parancsot átviszi az üzemre és dolgozóra. Az új rekordok kulcsérétkét egy-egy szekvenciából vegye át.

  14. Ne engedjen kitörölni számla rekordot, ha státusza már F értékű.

  15. Ha egy vevőrekordot törölnek, elótte számolja ki az eredő tartozását az egyes rendeléseket összesítve, és írja ki egy ADOSAG nevű álományba a kapott értéket.

  16. Készítsen triggert, amely gondoskodik arról, hogy a rendelési tételek alapján a termékhez tartozó összrendelés érték aktuális érték maradjon a rendelés tábla módosulása után is.

  17. Készítsen DDL triggert a séma műveletek naplózására.