JosepRivaille

AutoS3 - BD

Mar 8th, 2016
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Qüestió 1
  2.  
  3. SELECT num_dpt, nom_dpt
  4. FROM departaments d
  5. WHERE EXISTS (SELECT *
  6.           FROM empleats e1
  7.           WHERE e1.num_dpt = d.num_dpt)
  8.     AND NOT EXISTS (SELECT *
  9.           FROM empleats e2
  10.           WHERE e2.num_dpt = d.num_dpt
  11.           AND e2.ciutat_empl != 'MADRID');
  12.  
  13. -- Qüestió 2
  14.  
  15. SELECT DISTINCT d.num_dpt, d.nom_dpt
  16. FROM  departaments d, empleats e
  17. WHERE e.num_dpt = d.num_dpt
  18. GROUP BY e.ciutat_empl, d.num_dpt
  19. HAVING COUNT(e.ciutat_empl) > 1
  20.  
  21. -- Qüestió 3
  22.  
  23. INSERT INTO cost_ciutat (ciutat_dpt, cost)
  24. SELECT d.ciutat_dpt, SUM(e.sou)
  25. FROM departaments d, empleats e
  26. WHERE e.num_dpt = d.num_dpt
  27. GROUP BY d.ciutat_dpt
  28.  
  29. -- Qüestió 4
  30.  
  31. CREATE TABLE FRANGES_HORARIES
  32.     (   INSTANT_INICI INTEGER,
  33.     INSTANT_FI INTEGER CHECK (INSTANT_FI > INSTANT_INICI + 180),
  34.     NUM_EMPL INTEGER NOT NULL,
  35.     PRIMARY KEY (INSTANT_INICI, INSTANT_FI, NUM_EMPL),
  36.     FOREIGN KEY (NUM_EMPL) REFERENCES EMPLEATS(NUM_EMPL));
  37.  
  38. CREATE TABLE TASQUES_REALITZADES
  39.     (   NUM_TASCA INTEGER,
  40.     INSTANT_INICI INTEGER NOT NULL,
  41.     INSTANT_FI INTEGER NOT NULL,
  42.     NUM_EMPL INTEGER NOT NULL,
  43.     DESCRIPCIO CHAR(50) NOT NULL,
  44.     PRIMARY KEY (NUM_TASCA),
  45.     FOREIGN KEY (INSTANT_INICI, INSTANT_FI, NUM_EMPL) REFERENCES FRANGES_HORARIES(INSTANT_INICI, INSTANT_FI, NUM_EMPL));
  46.  
  47. -- JosepRivaille
Add Comment
Please, Sign In to add comment