Advertisement
virabhairava

(2)Publikacija-Novina

Sep 24th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. /*
  2.  
  3. https://imageshack.com/i/pn7gAoHmp
  4.  
  5. a) Prevesti PMOV u relacioni model i napisati SQL DDL naredbe kojim će se
  6. kreirati tabele u bazi primerBP, sa definisanim primarnim i spoljnim
  7. ključevima. (5 poena).
  8. b) Kreirati pogled Publikacija_Novina koji će u svojoj definiciji imati sve kolone
  9. tabela kreiranih pod a) i kroz kojeg se mogu dobiti kompletni podaci o
  10. publikaciji. Ako je dotična publikacija novina, kroz jedan red u pogledu se
  11. mogu dobiti njeni kompletni podaci (PublikacijaID, Naziv, Tiraz, DatumBroja i
  12. BrojIzdanja). Ako neka publikacija nije novina, kroz jedan red u pogledu se mogu dobiti njeni podaci ((PublikacijaID, Naziv, Tiraz), a vrednosti
  13. atributa, DatumBroja i BrojIzdanja je prazno (null). (5 poena)
  14. */
  15.  
  16. CREATE TABLE Publikacija(
  17. PublikacijaID numeric(7,0) PRIMARY KEY,
  18. Naziv varchar(50) not null,
  19. Tiraz int not null
  20. );
  21.  
  22. CREATE TABLE Novina(
  23. PublikacijaID numeric(7,0) PRIMARY KEY,
  24. DatumBroja date not null,
  25. BrojIzdanja int not null,
  26. FOREIGN KEY (PublikacijaID) references Publikacija(PublikacijaID)
  27. );
  28.  
  29. ////
  30.  
  31. CREATE VIEW Publikacija_Novina AS
  32. SELECT p.PublikacijaID, p.Naziv, p.Tiraz, n.DatumBroja, n.BrojIzdanja FROM Publikacija p LEFT JOIN Novina n on p.PublikacijaID=n.PublikacijaID
  33. ////
  34. CREATE TRIGGER IO_Trig_INS_Publikacija_Novina ON Publikacija_Novina
  35. INSTEAD OF INSERT
  36. AS
  37. BEGIN
  38. INSERT INTO Publikacija
  39. SELECT PublikacijaID, Naziv, Tiraz FROM inserted;
  40. INSERT INTO Novina
  41. SELECT PublikacijaID, DatumBroja, BrojIzdanja FROM inserted
  42. WHERE DatumBroja IS NOT NULL AND BrojIzdanja IS NOT NULL;
  43. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement