Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ZADANIE: Utwórz nową bazę danych o nazwie POPRAWA, a następnie przyłącz się do utworzonej bazy i zdefiniuj schemat POPRAWA. W schemacie należy utworzyć przykładowe tabele:
- c.) PRACOWNICY (schemat POPRAWA) z kolumnami: IDPRACOWNIKA (zapewniona autoinkrementacja przez kolumnę), NAZWISKO, IMIE, PENSJA
- d.) PRACKOP (schemat POPRAWA) z kolumnami: IDPRACOWNIKA (brak autoinkrementacji), NAZWISKO, IMIE, PENSJA, DATA_ZATR, LOGIN
- Następnie:
- - zmodyfikuj tabele PRACOWNICY oraz PRACKOP zakładając warunek klucza podstawowego
- - zmodyfikuj tabele PRACOWNICY zakładając warunek CHECK (kolumna PENSJA) tak, aby możliwe było wprowadzenie rekordów z zakresu 500-1500
- Zdefiniuj wyzwalacz do tabeli PRACOWNICY, który przy próbie usuwania danych - wstawi usuwane (co kurwa?) bezpośrednio do tabeli PRACKOP z dodatkową informacją (na podstawie rejestrów systemowych) kiedy, oraz kto dokonał usunięcie krotek.
- Utwórz procedurę składowane z parametrem wyjściowym i kursor, która rzez parametr wyjściowy zwróci informację: Jaki pracownik (parametr wejściowy: tabela Pracownicy) ma jaką pensje. Podaj przykłady działania procedury.
- Utwórz funkcję tabelaryczną, która zwróci tablicę ze wszystkimi pracownikami, którzy maja pensję większą od 1000. podaj przykłady użytkowników.
- set db2instance=DB2BDD
- db2 create db POPRAWA
- db2 connect to POPRAWA
- db2 create schema POPRAWA
- CREATE TABLE POPRAWA.PRACOWNICY
- (
- IDPRACOWNIKA INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,
- NAZWISKO VARCHAR(50),
- IMIE VARCHAR(50),
- PENSJA INTEGER
- );
- CREATE TABLE POPRAWA.PRACKOP
- (
- IDPRACOWNIKA INTEGER NOT NULL,
- NAZWISKO VARCHAR(50),
- IMIE VARCHAR(50),
- PENSJA INTEGER,
- DATA_ZATR DATE,
- LOGIN VARCHAR(50)
- );
- ALTER TABLE POPRAWA.PRACOWNICY ADD PRIMARY KEY (IDPRACOWNIKA);
- ALTER TABLE POPRAWA.PRACKOP ADD CONSTRAINT FK_ID_PRAC FOREIGN KEY (IDPRACOWNIKA) REFERENCES POPRAWA.PRACOWNICY(IDPRACOWNIKA);
- ALTER TABLE POPRAWA.PRACOWNICY ADD CONSTRAINT SPR_PENSJA CHECK(PENSJA BETWEEN 500 AND 1500);
Add Comment
Please, Sign In to add comment