1. Zdefiniuj perspektywę ASYSTENCI udostępniającą następujące informacje o asystentach zatrudnionych w Instytucie. Wykorzystaj funkcję MONTHS_BETWEEN.
ID NAZWISKO PLACA LATA_PRACY
----------
--------------- ---------- ----------
170 JEZIERSKI 439,7 9
190 MATYSIAK 371 8
220 KONOPKA 480 8
230 HAPKE 480 9
2. Zdefiniuj perspektywę PLACE udostępniającą następujące dane: numer zespołu, średnią, minimalną i maksymalną płacę w zespole (miesięczna płaca wraz z dodatkami), fundusz płac (suma pieniędzy wypłacanych miesięcznie pracownikom) oraz liczbę wypłacanych pensji i dodatków. Wyświetl całość informacji udostępnianych przez perspektywę.
ID_ZESP
SREDNIA MINIMUM MAXIMUM
FUNDUSZ L_PENSJI L_DODATKOW
----------
---------- -------- -------- ---------- ---------- ----------
10
1070,1 410,2 1730
2560,7 2 1
20
616,6 371 960
4501,7 7 2
30 502
208 1070 2268,6 4 2
40
1350 1350 1350
1560 1 1
3. Korzystając z perspektywy PLACE wyświetl nazwiska i płace tych pracowników, którzy zarabiają mniej niż średnia w ich zespole.
NAZWISKO PLACA_POD
---------------
----------
MAREK 410,2
JEZIERSKI 439,7
MATYSIAK 371
KONOPKA 480
KOSZLAJDA 590
BIALY 250
HAPKE 480
ZAKRZEWICZ 208
4. Zdefiniuj perspektywę PLACE_MINIMALNE wyświetlającą pracowników zarabiających poniżej 500 złotych. Perspektywa musi zapewniać weryfikację danych, w taki sposób, aby za jej pomocą nie można było podnieść pensji pracownika powyżej pułapu 500 złotych.
ID_PRAC NAZWISKO ETAT PLACA_POD
----------
--------------- ---------- ----------
170 JEZIERSKI ASYSTENT 439,7
190 MATYSIAK ASYSTENT 371
180 MAREK SEKRETARKA 410,2
200 ZAKRZEWICZ STAZYSTA 208
210 BIALY STAZYSTA 250
220 KONOPKA ASYSTENT 480
230 HAPKE ASYSTENT 480
5. Spróbuj za pomocą perspektywy PLACE_MINIMALNE zwiększyć pensję pracownika HAPKE do 700 złotych.
ORA-01402: view WITH CHECK OPTION where-clause
violation
6. Stwórz perspektywę PRAC_SZEF prezentującą informacje o pracownikach i ich przełożonych. Zwróć uwagę na to, aby można było przez perspektywę PRAC_SZEF wstawiać nowych pracowników oraz modyfikować i usuwać istniejących pracowników.
ID_PRAC
ID_SZEFA PRACOWNIK ETAT SZEF
----------
---------- --------------- ---------- ----------
110
100 BLAZEWICZ PROFESOR WEGLARZ
120 100 SLOWINSKI PROFESOR WEGLARZ
130 100 BRZEZINSKI PROFESOR
WEGLARZ
140 130 MORZY PROFESOR BRZEZINSKI
150 130 KROLIKOWSKI ADIUNKT
BRZEZINSKI
160 130 KOSZLAJDA ADIUNKT BRZEZINSKI
170 130 JEZIERSKI ASYSTENT BRZEZINSKI
190 140 MATYSIAK ASYSTENT MORZY
180 100 MAREK SEKRETARKA WEGLARZ
200 140 ZAKRZEWICZ STAZYSTA
MORZY
210 130 BIALY STAZYSTA BRZEZINSKI
220 110 KONOPKA ASYSTENT BLAZEWICZ
230 120 HAPKE ASYSTENT SLOWINSKI
INSERT INTO PRAC_SZEF (ID_PRAC, ID_SZEFA, PRACOWNIK,
ETAT)
VALUES (280,150,
'MORZY','ASYSTENT');
UPDATE PRAC_SZEF
SET ID_SZEFA = 130
WHERE ID_PRAC = 280;
DELETE FROM PRAC_SZEF
WHERE ID_PRAC = 280;
7. Stwórz perspektywę ZAROBKI wyświetlające poniższe informacje o pracownikach. Perspektywa musi zapewniać kontrolę pensji pracownika (pensja pracownika nie może być wyższa niż pensja jego szefa).
ID_PRAC NAZWISKO ETAT PLACA_POD
----------
--------------- ---------- ----------
110 BLAZEWICZ PROFESOR 1350
120 SLOWINSKI PROFESOR 1070
130 BRZEZINSKI PROFESOR 960
140 MORZY PROFESOR 830
150 KROLIKOWSKI ADIUNKT 645,5
160 KOSZLAJDA ADIUNKT 590
170 JEZIERSKI ASYSTENT 439,7
190 MATYSIAK ASYSTENT 371
180 MAREK SEKRETARKA 410,2
200 ZAKRZEWICZ STAZYSTA 208
210 BIALY STAZYSTA 250
220 KONOPKA ASYSTENT 480
230 HAPKE ASYSTENT 480
UPDATE ZAROBKI
SET PLACA_POD = 2000
WHERE NAZWISKO = 'BIALY';
ORA-01402: view WITH CHECK OPTION where-clause
violation
8. Wyświetl informacje ze słownika bazy danych dotyczące możliwości wstawiania, modyfikowania i usuwania za pomocą perspektywy PRAC_SZEF
COLUMN_NAME INS UPD DEL
------------------------------ --- --- ---
ID_PRAC YES YES YES
ID_SZEFA YES YES YES
PRACOWNIK YES YES YES
ETAT YES YES YES
SZEF NO NO NO
9. Napisz zapytanie, które wyświetli nazwiska i pensje trzech najlepiej zarabiających pracowników. Posłuż się perspektywą wbudowaną.
NAZWISKO PLACA_POD
---------------
----------
WEGLARZ 1730
BLAZEWICZ 1350
SLOWINSKI 1070
10. Napisz zapytanie, które wyświetli „drugą piątkę” pracowników zgodnie z ich zarobkami. Posłuż się perspektywą wbudowaną.
RNUM NAZWISKO PLACA_POD ETAT
----------
--------------- ---------- ----------
5 MORZY 830 PROFESOR
6 KROLIKOWSKI 645,5 ADIUNKT
7 KOSZLAJDA 590 ADIUNKT
8 KONOPKA 480 ASYSTENT
9 HAPKE 480 ASYSTENT
10 JEZIERSKI 439,7 ASYSTENT