Zad Zapytanie SQL 1 CREATE TABLE projekty ( id_projektu
Transkrypt
Zad Zapytanie SQL 1 CREATE TABLE projekty ( id_projektu
Zad 1 Zapytanie SQL CREATE TABLE projekty ( id_projektu NUMBER(4)PRIMARY KEY, opis_projektu VARCHAR(20) NOT NULL UNIQUE, data_rozpoczecia DATE DEFAULT sysdate, data_zakonczenia DATE, fundusz NUMBER(7, 2), CONSTRAINT ogr_data CHECK(data_zakonczenia > data_rozpoczecia), CONSTRAINT ogr_fundusz CHECK(fundusz >= 0) ); CREATE TABLE przydzialy ( id_projektu NUMBER(4) NOT NULL, nr_pracownika NUMBER(4) NOT NULL, od DATE DEFAULT sysdate, do DATE, stawka NUMBER(7, 2) CHECK(stawka > 0), rola VARCHAR(20) CHECK(rola IN ('KIERUJACY', 'PROGRAMISTA', 'ANALITYK')), 2 3 4 CONSTRAINT ogr_data2 CHECK(do > od), CONSTRAINT klucz FOREIGN KEY (id_projektu) REFERENCES projekty (id_projektu), FOREIGN KEY (nr_pracownika) REFERENCES pracownicy (id_prac), PRIMARY KEY (id_projektu, nr_pracownika) ); ALTER TABLE przydzialy ADD godizny NUMBER COMMENT ON TABLE projekty IS 'Lista projektów prowadzonych przez pracowników'; COMMENT ON TABLE przydzialy IS 'Informacje o przydziale poszczególnych pracowników do projektów'; SELECT * FROM USER_TAB_COMMENTS WHERE table_name in ('PROJEKTY', 'PRZYDZIALY'); SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, SEARCH_CONDITION FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'PRZYDZIALY' 5 ALTER TABLE projekty DISABLE UNIQUE (opis_projektu) 6 ALTER TABLE projekty MODIFY opis_projektu NUMBER(30) 7 CREATE TABLE pracownicy_zespoly AS SELECT p.nazwisko, p.etat AS posada, p.placa_pod*12+NVL(p.placa_dod, 0) AS roczna_placa, z.nazwa AS zespol, z.adres as adres_pracy FROM pracownicy p JOIN zespoly z USING (id_zesp);