Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2015
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  1. DROP TABLE Klient;
  2. DROP TABLE Adres;
  3. DROP TABLE Kontakt;
  4. DROP TABLE Zamówienie;
  5. DROP TABLE Produkt;
  6. DROP TABLE UPDATETAB;
  7. ALTER TABLE Zamówienie drop constraint fk_key;
  8. ALTER TABLE Zamówienie drop constraint zamówienie_FK;
  9. ALTER TABLE Adres drop constraint adres_FK;
  10. ALTER TABLE Kontakt drop constraint kontakt_FK;
  11.  
  12. CREATE TABLE Klient (
  13. id_Klienta number(10) CONSTRAINT klucz_klient PRIMARY KEY,
  14. Imie varchar(20),
  15. Nazwisko varchar(20),
  16. Wiek number(3),
  17. Plec varchar(1)
  18. );
  19.  
  20. CREATE TABLE Adres(
  21. id_Klienta number(10),
  22. Miasto varchar(20) ,
  23. Ulica varchar(20),
  24. Kod number(5)
  25. );
  26.  
  27. CREATE TABLE Kontakt(
  28. id_Klienta number(10),
  29. Email varchar(100),
  30. Telefon number(11)
  31. );
  32.  
  33. CREATE TABLE Produkt(
  34. id_Produkt number(3) CONSTRAINT klucz_produkt PRIMARY KEY ,
  35. Cena number(6,2),
  36. Nazwa varchar(100)
  37.  
  38. );
  39.  
  40. CREATE TABLE Zamówienie(
  41. id_Klienta number(10),
  42. id_Produkt number(3),
  43. Ilosc_sztuk number(5)
  44.  
  45.  
  46. );
  47.  
  48. CREATE TABLE UPDATETAB(
  49. "DATE" DATE,
  50. "TYPE" VARCHAR2(25)
  51. );
  52.  
  53.  
  54. ALTER TABLE Zamówienie
  55. ADD CONSTRAINT fk_key
  56. FOREIGN KEY (id_Produkt)
  57. REFERENCES Produkt(id_Produkt);
  58.  
  59. ALTER TABLE Zamówienie
  60. ADD CONSTRAINT zamówienie_FK
  61. FOREIGN KEY (id_Klienta)
  62. REFERENCES Klient(id_Klienta);
  63.  
  64. ALTER TABLE Adres
  65. ADD CONSTRAINT adres_FK
  66. FOREIGN KEY (id_Klienta)
  67. REFERENCES Klient(id_Klienta);
  68.  
  69. ALTER TABLE Kontakt
  70. ADD CONSTRAINT Kontakt_FK
  71. FOREIGN KEY (id_Klienta)
  72. REFERENCES Klient(id_Klienta);
  73.  
  74.  
  75.  
  76.  
  77. CREATE OR REPLACE TRIGGER LOGS
  78. AFTER UPDATE OR INSERT ON Klient
  79. FOR EACH ROW
  80. BEGIN
  81. IF UPDATING
  82. THEN
  83. INSERT INTO UPDATETAB VALUES (CURRENT_DATE, 'Aktualizacja danych klienta');
  84. END IF;
  85. IF INSERTING
  86. THEN
  87. INSERT INTO UPDATETAB VALUES (CURRENT_DATE, 'Dodanie nowego klienta');
  88. END IF;
  89. END;
  90. /
  91.  
  92. CREATE OR REPLACE TRIGGER LOGS1
  93. AFTER UPDATE OR INSERT ON Produkt
  94. FOR EACH ROW
  95. BEGIN
  96. IF UPDATING
  97. THEN
  98. INSERT INTO UPDATETAB VALUES (CURRENT_DATE, 'Aktualizacja produktu');
  99. END IF;
  100. IF INSERTING
  101. THEN
  102. INSERT INTO UPDATETAB VALUES (CURRENT_DATE, 'Dodanie produktu');
  103. END IF;
  104. END;
  105. /
  106.  
  107.  
  108. CREATE OR REPLACE TRIGGER LOGS2
  109. AFTER UPDATE OR INSERT ON Zamówienie
  110. FOR EACH ROW
  111. BEGIN
  112. IF UPDATING
  113. THEN
  114. INSERT INTO UPDATETAB VALUES (CURRENT_DATE, 'Aktualizacja zamówienia');
  115. END IF;
  116. IF INSERTING
  117. THEN
  118. INSERT INTO UPDATETAB VALUES (CURRENT_DATE, 'Dodanie zamówienia');
  119. END IF;
  120. END;
  121. /
  122.  
  123.  
  124. INSERT INTO Klient(ID_KLIENTA,IMIE,NAZWISKO,WIEK,PLEC) VALUES (1,'Patryk','Schaffner',21,'M');
  125. INSERT INTO Klient(ID_KLIENTA,IMIE,NAZWISKO,WIEK,PLEC) VALUES (2,'Monika','Lumo',32,'K');
  126. INSERT INTO Klient(ID_KLIENTA,IMIE,NAZWISKO,WIEK,PLEC) VALUES (3,'Genowefa','Gabrielska',65,'K');
  127. INSERT INTO Klient(ID_KLIENTA,IMIE,NAZWISKO,WIEK,PLEC) VALUES (4,'Dariusz','Baczek',38,'M');
  128.  
  129.  
  130. INSERT INTO Adres(ID_KLIENTA,MIASTO,ULICA,KOD) VALUES (1,'Strzelin','Wolności',57100);
  131. INSERT INTO Adres(ID_KLIENTA,MIASTO,ULICA,KOD) VALUES (2,'Wrocaw','Powstańców',53201);
  132. INSERT INTO Adres(ID_KLIENTA,MIASTO,ULICA,KOD) VALUES (3,'Łódź','Zapolskiej',45325);
  133. INSERT INTO Adres(ID_KLIENTA,MIASTO,ULICA,KOD) VALUES (4,'Gdynia','Parówkowa',11999);
  134.  
  135. INSERT INTO Kontakt(ID_KLIENTA,EMAIL,TELEFON) VALUES (1,'patrykschaffner@gmail.com',48123456789);
  136. INSERT INTO Kontakt(ID_KLIENTA,EMAIL,TELEFON) VALUES (2,'MonikaLumo@gmail.com',4854396545);
  137. INSERT INTO Kontakt(ID_KLIENTA,EMAIL,TELEFON) VALUES (3,'GenowefaGarielska@gmail.com',48876932546);
  138. INSERT INTO Kontakt(ID_KLIENTA,EMAIL,TELEFON) VALUES (4,'DariuszBaczek@gmail.com',48800900100);
  139.  
  140. INSERT INTO Produkt(ID_PRODUKT,CENA,NAZWA) VALUES(1, 119.99,'Wiedźmin 3 PC KEY');
  141. INSERT INTO Produkt(ID_PRODUKT,CENA,NAZWA) VALUES(2, 29.99,'XBOX LIVE 1 msc');
  142. INSERT INTO Produkt(ID_PRODUKT,CENA,NAZWA) VALUES(3, 12.99,'Pendrive 8gb');
  143. INSERT INTO Produkt(ID_PRODUKT,CENA,NAZWA) VALUES(4, 5.00,'Powietrze w sprayu');
  144. INSERT INTO Produkt(ID_PRODUKT,CENA,NAZWA) VALUES(5, 545,'PS3 4gb');
  145. INSERT INTO Produkt(ID_PRODUKT,CENA,NAZWA) VALUES(6, 119.99,'GTA V PC KEY');
  146.  
  147. INSERT INTO Zamówienie(ID_KLIENTA,ID_PRODUKT,Ilosc_sztuk) VALUES (1,1,1);
  148. INSERT INTO Zamówienie(ID_KLIENTA,ID_PRODUKT,Ilosc_sztuk) VALUES (2,3,10);
  149. INSERT INTO Zamówienie(ID_KLIENTA,ID_PRODUKT,Ilosc_sztuk) VALUES (3,5,3);
  150. INSERT INTO Zamówienie(ID_KLIENTA,ID_PRODUKT,Ilosc_sztuk) VALUES (4,4,8);
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159. SELECT CENA , COUNT(*) AS ILOŚĆ FROM PRODUKT WHERE CENA>1 GROUP BY CENA;
  160.  
  161. SELECT ZAMÓWIENIE.ILOSC_SZTUK, PRODUKT.CENA,PRODUKT.NAZWA
  162. FROM ZAMÓWIENIE
  163. JOIN PRODUKT
  164. ON ZAMÓWIENIE.ID_PRODUKT = PRODUKT.ID_PRODUKT
  165. GROUP BY ZAMÓWIENIE.ILOSC_SZTUK, PRODUKT.CENA, PRODUKT.NAZWA;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement