Advertisement
MrColorz

BD v3

Dec 10th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.87 KB | None | 0 0
  1. CREATE TABLE client(client_id int,ime varchar(100), phone varchar(100));
  2. CREATE TABLE employee(employee_id int,ime varchar(100), phone int, position_id int);
  3. CREATE TABLE groups(group_id int, grupa varchar(100));
  4. CREATE TABLE position(position_id int, position varchar(100));
  5. CREATE TABLE product(product_id int,ime varchar(100), cena float, group_id int);
  6. CREATE TABLE sales(sales_id int, sale_date date, cena float, client_id int, employee_id int);
  7. CREATE TABLE relation(product_id int, sales_id int, Quantity int);
  8.  
  9. ALTER TABLE client ADD PRIMARY KEY (client_id);
  10. ALTER TABLE employee ADD PRIMARY KEY (employee_id);
  11. ALTER TABLE groups ADD PRIMARY KEY (group_id);
  12. ALTER TABLE position ADD PRIMARY KEY (position_id);
  13. ALTER TABLE product ADD PRIMARY KEY (product_id);
  14. ALTER TABLE relation ADD PRIMARY KEY (product_id,sales_id);
  15. ALTER TABLE sales ADD PRIMARY KEY (sales_id);
  16.  
  17. ALTER TABLE employee ADD FOREIGN KEY (position_id) references position;
  18. ALTER TABLE product ADD FOREIGN KEY (group_id) references groups;
  19. ALTER TABLE relation ADD FOREIGN KEY (product_id) references product;
  20. ALTER TABLE relation ADD FOREIGN KEY (sales_id) references sales;
  21. ALTER TABLE sales ADD FOREIGN KEY (client_id) references client;
  22. ALTER TABLE sales ADD FOREIGN KEY (employee_id) references employee;
  23.  
  24. INSERT INTO client(client_id, ime, phone) VALUES (1, 'David', '89342123');
  25. INSERT INTO client(client_id, ime, phone) VALUES (2, 'Dave', '89342124');
  26. INSERT INTO client(client_id, ime, phone) VALUES (3, 'Dinko', '9123456');
  27. INSERT INTO client(client_id, ime, phone) VALUES (4, 'Jordan', '123456789');
  28.  
  29. INSERT INTO employee(employee_id, ime, phone, position_id) VALUES (1, 'Mihail', 088123456, 2);
  30. INSERT INTO employee(employee_id, ime, phone, position_id) VALUES (2, 'Petkan', 0878123456, 1);
  31. INSERT INTO employee(employee_id, ime, phone, position_id) VALUES (3, 'Ivan', 0876123456, 3);
  32.  
  33. INSERT INTO groups(group_id,grupa) VALUES (1, 'Dairy');
  34. INSERT INTO groups(group_id,grupa) VALUES (2, 'Meat');
  35. INSERT INTO groups(group_id,grupa) VALUES (3, 'Fruits');
  36. INSERT INTO groups(group_id,grupa) VALUES (4, 'Vegetables');
  37.  
  38. INSERT INTO position(position_id, position) VALUES (1, 'Retailer');
  39. INSERT INTO position(position_id, position) VALUES (2, 'Manager');
  40. INSERT INTO position(position_id, position) VALUES (3, 'CEO');
  41.  
  42. INSERT INTO product(product_id, ime, cena, group_id) VALUES (1, 'Tortila', 2.5, 1);
  43. INSERT INTO product(product_id, ime, cena, group_id) VALUES (2, 'Cucumbers', 3, 4);
  44. INSERT INTO product(product_id, ime, cena, group_id) VALUES (3, 'DonerKebab', 15.5, 2);
  45. INSERT INTO product(product_id, ime, cena, group_id) VALUES(4, 'Peaches', 250, 3);
  46. INSERT INTO product(product_id, ime, cena, group_id) VALUES(5, 'Apples', 200, 3);
  47. INSERT INTO product(product_id, ime, cena, group_id) VALUES(6, 'Cherry', 100, 3);
  48.  
  49. INSERT INTO relation(product_id, sales_id, Quantity) VALUES (1,2,1);
  50. INSERT INTO relation(product_id, sales_id, Quantity) VALUES (2,4,2);
  51. INSERT INTO relation(product_id, sales_id, Quantity) VALUES (3,1,1);
  52. INSERT INTO relation(product_id, sales_id, Quantity) VALUES (4,3,4);
  53. INSERT INTO relation(product_id, sales_id, Quantity) VALUES (5,5,10);
  54. INSERT INTO relation(product_id, sales_id, Quantity) VALUES (6,6,6);
  55. INSERT INTO relation(product_id, sales_id, Quantity) VALUES (6,7,6);
  56.  
  57. INSERT INTO sales(sales_id, sale_date, cena, client_id, employee_id) VALUES (1, '02-OCT-14', 2.5, 1, 2);
  58. INSERT INTO sales(sales_id, sale_date, cena, client_id, employee_id) VALUES (2, '03-MAY-12', 3, 2, 2);
  59. INSERT INTO sales(sales_id, sale_date, cena, client_id, employee_id) VALUES (3, '21-OCT-11', 15.5, 3, 1);
  60. INSERT INTO sales(sales_id, sale_date, cena, client_id, employee_id) VALUES (4, '14-JUN-13', 250, 1, 3);
  61. INSERT INTO sales(sales_id, sale_date, cena, client_id, employee_id) VALUES (5, '5-JUL-13', 200, 2, 3);
  62. INSERT INTO sales(sales_id, sale_date, cena, client_id, employee_id) VALUES (6, '1-JAN-12', 15, 2, 2);
  63. INSERT INTO sales(sales_id, sale_date, cena, client_id, employee_id) VALUES (7, '1-JAN-13', 15, 2, 2);
  64.  
  65. UPDATE employee SET Ime = 'Svetlio' WHERE employee_id = 1;
  66. UPDATE employee SET Ime = 'Joro' WHERE employee_id = 1;
  67. UPDATE employee SET Ime = 'Mihail' WHERE employee_id = 1;
  68.  
  69. SELECT p.Ime,p.Cena,g.Grupa FROM product p
  70. JOIN groups g ON g.group_id = p.product_id
  71. WHERE p.Cena = 2.50;
  72.  
  73. SELECT p.Ime,p.Cena,g.Grupa FROM product p
  74. JOIN groups g ON p.Group_ID = g.group_id
  75. WHERE p.Ime = 'Tortila';
  76.  
  77. SELECT p.Ime,p.Cena,g.Grupa FROM product p
  78. JOIN groups g ON p.Group_ID = g.group_id
  79. WHERE g.Grupa = 'Dairy';
  80.  
  81. SELECT p.Ime,p.Cena,r.Quantity,g.Grupa,s.sale_date,s.Cena,c.Ime,e.Ime FROM Relation r
  82. JOIN Sales s on s.sales_ID = r.Sales_ID
  83. JOIN client c on c.client_ID = s.client_id
  84. JOIN employee e on e.employee_ID = s.employee_ID
  85. JOIN product p on p.product_ID = r.product_ID
  86. JOIN groups g on g.group_ID = p.Group_ID
  87. Where s.sale_date BETWEEN '02-OCT-14' AND '02-OCT-16';
  88.  
  89. SELECT p.Ime,p.Cena,r.Quantity,g.Grupa,s.sale_date,s.Cena,c.Ime,e.Ime FROM Relation r
  90. JOIN Sales s on s.sales_ID = r.Sales_ID
  91. JOIN client c on c.client_ID = s.client_id
  92. JOIN employee e on e.employee_id = s.employee_id
  93. Join product p on p.product_id = r.product_ID
  94. JOIN groups g on g.group_id = p.Group_ID
  95. WHERE e.Ime LIKE 'Svetlio'
  96. ORDER BY s.sale_date;
  97.  
  98. SELECT p.Ime,p.Cena,r.Quantity,g.Grupa,s.sale_date,s.Cena,c.Ime,e.Ime FROM Relation r
  99. JOIN Sales s on s.sales_ID = r.Sales_ID
  100. JOIN client c on c.client_ID = s.client_id
  101. JOIN employee e on e.employee_id = s.employee_id
  102. Join product p on p.product_id = r.product_ID
  103. JOIN groups g on g.group_id = p.Group_ID
  104. ORDER BY r.Quantity;
  105.  
  106.  
  107. CREATE OR REPLACE TRIGGER client_id_AUTO_TR
  108. BEFORE INSERT ON client
  109. FOR EACH ROW
  110. WHEN (NEW.client_id IS NULL)
  111. BEGIN :NEW.client_id := SEQUENCE1.NEXTVAL;
  112. END;
  113.  
  114. CREATE OR REPLACE TRIGGER employee_id_AUTO_TR
  115. BEFORE INSERT ON employee
  116. FOR EACH ROW
  117. WHEN (NEW.employee_id IS NULL)
  118. BEGIN :NEW.employee_id := SEQUENCE2.NEXTVAL;
  119. END;
  120.  
  121. CREATE OR REPLACE TRIGGER group_id_AUTO_TR
  122. BEFORE INSERT ON groups
  123. FOR EACH ROW
  124. WHEN (NEW.group_id IS NULL)
  125. BEGIN :NEW.group_id := SEQUENCE3.NEXTVAL;
  126. END;
  127.  
  128. CREATE OR REPLACE TRIGGER position_id_AUTO_TR
  129. BEFORE INSERT ON position
  130. FOR EACH ROW
  131. WHEN (NEW.position_id IS NULL)
  132. BEGIN :NEW.group_id := SEQUENCE4.NEXTVAL;
  133. END;
  134.  
  135. CREATE OR REPLACE TRIGGER product_id_AUTO_TR
  136. BEFORE INSERT ON product
  137. FOR EACH ROW
  138. WHEN (NEW.product_id IS NULL)
  139. BEGIN :NEW.product_id := SEQUENCE5.NEXTVAL;
  140. END;
  141.  
  142. CREATE OR REPLACE TRIGGER product_id_AUTO_TR
  143. BEFORE INSERT ON relation
  144. FOR EACH ROW
  145. WHEN (NEW.product_id IS NULL)
  146. BEGIN :NEW.product_id := SEQUENCE6.NEXTVAL;
  147. END;
  148.  
  149. CREATE OR REPLACE TRIGGER sales_id_AUTO_TR
  150. BEFORE INSERT ON relation
  151. FOR EACH ROW
  152. WHEN (NEW.sales_id IS NULL)
  153. BEGIN :NEW.sales_id := SEQUENCE7.NEXTVAL;
  154. END;
  155.  
  156. CREATE OR REPLACE TRIGGER sales_id_AUTO_TR
  157. BEFORE INSERT ON sales
  158. FOR EACH ROW
  159. WHEN (NEW.sales_id IS NULL)
  160. BEGIN :NEW.sales_id := SEQUENCE8.NEXTVAL;
  161. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement