Perspektywy - zadania

 

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