Advertisement
Eeedi

create

Jun 19th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE TABLE etat_01(
  2. nazwa VARCHAR2(20) constraint nazwa_pk primary key,
  3. placa_min NUMBER(6,2) NOT NULL CHECK(placa_min>0),
  4. placa_max NUMBER(6,2) NOT NULL CHECK(placa_max<=5000)
  5. );
  6.  
  7. CREATE TABLE zespol_01(
  8. id_zesp NUMBER(2) constraint id_zesp_pk primary key,
  9. nazwa VARCHAR2(20) NOT NULL,
  10. adres VARCHAR2(20)
  11. );
  12.  
  13. CREATE TABLE pracownik_03(
  14. numer NUMBER(4) constraint numer2_pk primary key,
  15. nazwisko VARCHAR2(15) NOT NULL,
  16. etat VARCHAR2(20) references etat_01(nazwa),
  17. szef NUMBER(4) references pracownik_03(numer),
  18. pracuje_od DATE,
  19. placa_pod NUMBER(6,2),
  20. placa_dod NUMBER(6,2) DEFAULT 0,
  21. id_zesp NUMBER(2) references zespol_01(id_zesp)
  22. );
  23.  
  24. INSERT INTO etat_01
  25. VALUES('stazysta',800,1000);
  26.  
  27. INSERT INTO etat_01
  28. VALUES('sekretarka',900,1200);
  29. INSERT INTO etat_01
  30. VALUES('asystent',1000,1600);
  31. INSERT INTO etat_01
  32. VALUES('adiunkt',1600,2000);
  33. INSERT INTO etat_01
  34. VALUES('profesor',2000,2500);
  35. INSERT INTO etat_01
  36. VALUES('dyrektor',2500,3200);
  37.  
  38.  
  39. INSERT INTO zespol_01 VALUES(10,'administracja','piotrowo 3a');
  40. INSERT INTO zespol_01 VALUES(20,'bazy danych','wiezowa 75');
  41. INSERT INTO zespol_01 VALUES(30,'sieci komputerowe','garbary 3');
  42. INSERT INTO zespol_01 VALUES(40,'systemy operacyjne','piotrowo 3a');
  43. INSERT INTO zespol_01 VALUES(50,'translatory','mansfelda 4');
  44.  
  45. INSERT INTO pracownik_03 VALUES(1000,'lech','dyrektor',NULL,TO_DATE('01/01/71','dd/mm/yy'),3160,570,10);
  46. INSERT INTO pracownik_03 VALUES(1080,'koliberek','sekretarka',1000,TO_DATE('20/02/83','dd/mm/yy'),1150,NULL,10);
  47. INSERT INTO pracownik_03 VALUES(1010,'podgajny','profesor',1000,TO_DATE('01/05/75','dd/mm/yy'),2180,420,20);
  48. INSERT INTO pracownik_03 VALUES(1040,'rus','adiunkt',1010,TO_DATE('15/08/79','dd/mm/yy'),1750,NULL,20);
  49. INSERT INTO pracownik_03 VALUES(1070,'muszynski','adiunkt',1010,TO_DATE('01/05/85','dd/mm/yy'),1600,NULL,20);
  50. INSERT INTO pracownik_03 VALUES(1060,'misiecki','asystent',1010,TO_DATE('01/03/85','dd/mm/yy'),1400,NULL,20);
  51. INSERT INTO pracownik_03 VALUES(1090,'palusz','asystent',1040,TO_DATE('15/08/89','dd/mm/yy'),1200,NULL,20);
  52.  
  53. SELECT nazwisko,etat,placa_pod FROM pracownik_03 WHERE id_zesp=10 OR id_zesp=20 ORDER BY nazwisko;
  54. SELECT nazwisko, etat FROM pracownik_03 WHERE etat='asystent' AND id_zesp=20;
  55.  
  56. SELECT 'Pracownik ' || nazwisko || ' pracuje na etacie ' ||etat ||' od ' ||pracuje_od FROM pracownik_03;
  57.  
  58. SELECT d.nazwisko, a.nazwa, a.adres FROM pracownik_03 d, zespol_01 a WHERE d.placa_pod+d.placa_dod>2000 AND a.id_zesp=d.id_zesp;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement