Gyakorlaton megoldandó kötelező feladat!!! ------------------------------------------ Hozzunk létre mind a két adatbázisban (ullman, aramis) egy GYAK6 nevű táblát, ami kezdetben a nikovits.osztaly tábla tartalmával egyezzen meg, majd töröljük ki belőle azokat az osztályokat, amelyeknek van olyan dolgozója, aki a 2-es fizetési kategóriába esik. A törlés után ne felejtsük el kiadni a COMMIT utasítást. Határidő: a gyakorlat napján 23:59 Az eddig elkészített kötelező feladataikat ellenőrizni tudják a következő SQL lekérdezés futtatásával: SELECT object_name "TABLE", created FROM user_objects WHERE object_type='TABLE' AND object_name LIKE 'GYAK%' ORDER BY object_name; =========================================================================== Feladatok módosításra, törlésre, beszúrásra. -------------------------------------------- /* A módosítást egy másodpéldányon végezzük, hogy a tábla eredeti tartalma megmaradjon. CREATE TABLE dolg2 AS SELECT * FROM nikovits.dolgozo; CREATE TABLE oszt2 AS SELECT * FROM nikovits.osztaly; UPDATE dolg2 ... Ellenőrzés: SELECT ... FROM dolg2 ... DROP TABLE dolg2; */ DELETE ------ 1. Töröljük azokat a dolgozókat, akiknek jutaléka NULL. 2. Töröljük azokat a dolgozókat, akiknek a belépési dátuma 1982 előtti. 3. Töröljük azokat a dolgozókat, akik osztályának telephelye DALLAS. 4. Töröljük azokat a dolgozókat, akiknek a fizetése kisebb, mint az átlagfizetés. 5. Töröljük azokat a dolgozókat, akiknek a fizetése kisebb, mint a saját osztályuk átlagfizetése. 6. Töröljük a jelenleg legjobban kereső dolgozót. 7. Töröljük ki azokat az osztályokat, amelyeknek van olyan dolgozója, aki a 2-es fizetési kategóriába esik (lásd még Fiz_kategoria táblát). (Adjuk meg azon osztályok nevét, amelyeknek van olyan dolgozója, aki a 2-es fizetési kategóriába esik) 8. Töröljük ki azon osztályokat, amelyeknek 2 olyan dolgozója van, aki a 2-es fizetési kategóriába esik. INSERT ------ 9. Vigyünk fel egy 'Kovacs' nevű új dolgozót a 10-es osztályra a következő értékekkel: dkod=1, dnev='Kovacs', oazon=10, belépés=aktuális dátum, fizetés=a 10-es osztály átlagfizetése. A többi oszop legyen NULL. a) Vigyük fel a sort a 'VALUES' kulcsszó használatával. b) Vigyük fel a sort egy SELECT lekérdezés eredményeként, 'VALUES' kulcsszó nélkül. UPDATE ------ 10. Növeljük meg a 20-as osztályon a dolgozók fizetését 20%-kal. 11. Növeljük meg azok fizetését 500-zal, akik jutaléka NULL vagy a fizetésük kisebb az átlagnál. 12. Növeljük meg mindenkinek a jutalékát a jelenlegi maximális jutalékkal. (NULL tekintsük 0-nak) 13. Módosítsuk 'Szegény'-re a legrosszabbul kereső dolgozó nevét. 14. Növeljük meg azoknak a dolgozóknak a jutalékát 3000-rel, akiknek legalább 2 közvetlen beosztottjuk van. Az ismeretlen (NULL) jutalékot vegyük úgy, mintha 0 lenne. 15. Növeljük meg azoknak a dolgozóknak a fizetését, akiknek van beosztottja, a minimális fizetéssel. 16. Növeljük meg a nem főnökök fizetését a saját osztályuk átlagfizetésével. 17. Összetett, több lépéses feladat a Kende-Nagy feladatgyűjteményből: (ott 5.5 feladat/c) Bővítsük a dolgozó táblát egy lakhely oszloppal, majd töltsük fel a következőképpen: A BOSTON-ban dolgozók CHICAGO-ban, a CHICAGO-ban dolgozók pedig BOSTON-ban laknak, kivéve azokat a CHICAGO-i dolgozókat, akiknek BLAKE a főnöke, mert ők INDIANAPOLIS-ban laknak, feltéve, hogy nem CLERK foglalkozásúak, mert akkor sehol sem laknak (NULL). Új oszlop létrehozása: ALTER TABLE dolgozo ADD lakhely VARCHAR2(30);