--a) Napisz polecenia służące do utworzenia tabel STANOWISKA i KANDYDACI zgodnie z poniższym diagramem. CREATE TABLE stanowiska ( id NUMBER(4) CONSTRAINT stanowiska_idPK PRIMARY KEY, nazwa VARCHAR2(64) UNIQUE NOT NULL ); CREATE TABLE kandydaci ( id NUMBER(4) CONSTRAINT kandydaci_imiePK PRIMARY KEY, imie VARCHAR2(32) NOT NULL, nazwisko VARCHAR2(32) NOT NULL, data_ur DATE NOT NULL, plec CHAR(1) NOT NULL CONSTRAINT kandydaci_plecCH CHECK(plec = 'K' OR plec = 'M'), pesel NUMBER(11) NOT NULL, numer_tel VARCHAR2(10) NOT NULL, email VARCHAR2(256) NOT NULL, oczekiwana_pensja NUMBER(9) NOT NULL CONSTRAINT kandydaci_oczekiwana_pensjaCH CHECK(oczekiwana_pensja >= 0), opis_kariery VARCHAR2(300), id_stanowiska NUMBER(4) NOT NULL CONSTRAINT kandydaci_id_stanowiskaFK REFERENCES stanowiska(id) );
--b) Utwórz indeks o nazwie NAZWISKO na kolumnie NAZWISKO w tabeli KANDYDACI. CREATE INDEX kandydaci_nazwiskoINDEX ON kandydaci(nazwisko);
--c) Napisz polecenia, które umożliwiłyby wstawienie do tabeli STANOWISKA następujących danych INSERT INTO stanowiska VALUES (1,'sekretarka'); INSERT INTO stanowiska VALUES (2,'grafik'); INSERT INTO stanowiska VALUES (3,'kierownik dzialu sprzedazy');
--d) Utwórz sekwencję i wykorzystaj ją do wstawienia do tabeli KANDYDACI następujących danych CREATE SEQUENCE kandydaci_idSEQ START WITH 1 INCREMENT BY 1; INSERT INTO kandydaci VALUES(kandydaci_idSEQ.NEXTVAL,'Jan','Kowalski',TO_DATE('05/11/1967','DD/MM/YYYY'),'M',67110512816,'612345678','jan_k@wp.pl',2800,NULL,2); INSERT INTO kandydaci VALUES(kandydaci_idSEQ.NEXTVAL,'Zofia','Nowak',TO_DATE('19/09/1981','DD/MM/YYYY'),'K',81091907823,'42-6123456','zofia_nowak@onet.pl',2000,'3 miesięczny staż w dziekanacie',1); INSERT INTO kandydaci VALUES(kandydaci_idSEQ.NEXTVAl,'Zofia','Mazurek',TO_DATE('25/04/1976','DD/MM/YYYY'),'K',76042479821,'42-6333333','zofia_m@gmail.com',3500,'5 lat pracy na podobnym stanowisku w firmie ABC',3);
e) Zmień nazwę stanowiska z grafik na grafik komputerowy. UPDATE stanowiska SET nazwa = 'grafik komputerowy' WHERE id = 2;
--f) Zmień datę urodzenia osoby o numerze PESEL: 76042479821 na poprawną, czyli taką, jaka wynika z jej numeru PESEL. UPDATE kandydaci SET data_ur = TO_DATE('24/04/1976','DD/MM/YYYY') WHERE pesel = 76042479821;
--g) Dopisz panu Janowi Kowalskiemu opis dotychczasowej kariery: praca w małej, prywatnej firmie reklamowej. UPDATE kandydaci SET opis_kariery = 'praca w małej, prywatnej firmie reklamowej' WHERE UPPER(imie) = 'JAN' AND UPPER(nazwisko) = 'KOWALSKI';
--h) Spraw, aby kolumna OPIS_DOTYCHCZASOWEJ KARIERY mogła przechowywać 500 znaków. ALTER TABLE kandydaci MODIFY opis_kariery VARCHAR2(500);
--i) Usuń informacje dotyczące osoby o numerze pesel 76042479821. DELETE FROM kandydaci WHERE pesel = 76042479821;
--j) Stwórz kopię tabeli KANDYDACI o nazwie KANDYDACI2 i wyświetl jej zawartość. Jakie więzy ma nowo utworzona tabela? CREATE TABLE kandydaci2 AS SELECT * FROM kandydaci; SELECT * FROM kandydaci2;
--k) Stwórz tabelę KANDYDACI3 o takiej samej strukturze co KANDYDACI2, ale bez danych. CREATE TABLE kandydaci3 AS SELECT * FROM kandydaci2 WHERE 1=2;
--l) Usuń wszystkie wiersze z tabeli KANDYDACI2. DELETE FROM kandydaci2;
--m) Usuń tabele KANDYDACI2 i KANDYDACI3. DROP TABLE kandydaci2; DROP TABLE kandydaci3;
--n) Usuń pozostałe tabele. DROP SEQUENCE kandydaci_idSEQ; DROP INDEX kandydaci_nazwiskoINDEX; DROP TABLE kandydaci; DROP TABLE stanowiska;