Advertisement
Artcik

projekt_2b

May 18th, 2017
696
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.25 KB | None | 0 0
  1. -- Artur Pyœk 246832
  2. -- Grupa lab. 5
  3. -- Zad proj. 1b
  4.  
  5. SET DATEFORMAT ymd;
  6. GO
  7.  
  8. CREATE TABLE Adres(
  9. id SERIAL PRIMARY KEY,
  10. miejscowosc VARCHAR(25) NOT NULL CHECK(LENGTH(miejscowosc)>2),
  11. ulica VARCHAR(25) NOT NULL CHECK(LENGTH(ulica)>2),
  12. numer_budynku VARCHAR(6) NOT NULL,
  13. numer_mieszkania SERIAL,
  14. kod_pocztowy VARCHAR(10) NOT NULL CHECK(LENGTH(kod_pocztowy)>4),
  15. );
  16. GO
  17.  
  18. CREATE TABLE Menadzer(
  19. id SERIAL PRIMARY KEY,
  20. imie VARCHAR(25) NOT NULL CHECK(LENGTH(imie)>2),
  21. nazwisko VARCHAR(25) NOT NULL CHECK(LENGTH(nazwisko)>2),
  22. telefon SERIAL NOT NULL CHECK(LENGTH(telefon)>5),
  23. Adres_id SERIAL REFERENCES Adres(id) ON UPDATE CASCADE
  24. );
  25. GO
  26.  
  27.  
  28. CREATE TABLE Artysta(
  29. id SERIAL PRIMARY KEY,
  30. imie VARCHAR(25) NOT NULL CHECK(LENGTH(imie)>2),
  31. nazwisko VARCHAR(25) NOT NULL CHECK(LENGTH(nazwisko)>2),
  32. telefon SERIAL NOT NULL CHECK(LENGTH(telefon)>5),
  33. gatunek VARCHAR(15) NOT NULL CHECK(LENGTH(gatunek)>3),
  34. Adresy_id SERIAL REFERENCES Adres(id) ON UPDATE CASCADE,
  35. Menadzer_id SERIAL REFERENCES Menadzer(id) ON UPDATE CASCADE
  36. );
  37. GO
  38.  
  39. CREATE TABLE Album(
  40. id SERIAL PRIMARY KEY,
  41. nazwa VARCHAR(20) NOT NULL UNIQUE CHECK(LENGTH(nazwa)>3) ,
  42. data_wydania DATETIME NOT NULL DEFAULT NOW(),
  43. dlugosc SERIAL NOT NULL,
  44. Artysta_id SERIAL REFERENCES Artysta(id) ON UPDATE CASCADE
  45. );
  46. GO
  47.  
  48. CREATE TABLE Dystrybutor(
  49. id SERIAL PRIMARY KEY,
  50. nazwa VARCHAR(20) NOT NULL UNIQUE,
  51. kraj VARCHAR(15) NOT NULL,
  52. telefon SERIAL NOT NULL CHECK(LENGTH(telefon)>5),
  53. email VARCHAR(25) NOT NULL UNIQUE,
  54. Adres_id SERIAL REFERENCES Adres(id) ON UPDATE CASCADE
  55. );
  56. GO
  57.  
  58. CREATE TABLE Producent(
  59. id SERIAL PRIMARY KEY,
  60. imie VARCHAR(15) NOT NULL CHECK(LENGTH(imie)>2),
  61. nazwisko VARCHAR(20) NOT NULL CHECK(LENGTH(nazwisko)>2),
  62. telefon SERIAL NOT NULL CHECK(LENGTH(telefon)>5),
  63. email VARCHAR(25) NOT NULL UNIQUE,
  64. Adres_id SERIAL REFERENCES Adres(id) ON UPDATE CASCADE
  65. );
  66. GO
  67.  
  68. CREATE TABLE Mastering(
  69. id SERIAL PRIMARY KEY,
  70. nazwa VARCHAR(20) NOT NULL UNIQUE,
  71. telefon SERIAL NOT NULL CHECK(LENGTH(telefon)>5),
  72. email VARCHAR(25) NOT NULL UNIQUE,
  73. Adres_id SERIAL REFERENCES Adres(id) ON UPDATE CASCADE
  74. );
  75. GO
  76.  
  77. CREATE TABLE Studio_Nagraniowe(
  78. id SERIAL PRIMARY KEY,
  79. nazwa VARCHAR(20) NOT NULL UNIQUE,
  80. telefon SERIAL NOT NULL CHECK(LENGTH(telefon)>5),
  81. email VARCHAR(25) NOT NULL UNIQUE,
  82. Adres_id SERIAL REFERENCES Adres(id) ON UPDATE CASCADE
  83. );
  84. GO
  85.  
  86. CREATE TABLE Rezerwacja_Studia(
  87. id SERIAL PRIMARY KEY,
  88. data DATETIME NOT NULL DEFAULT NOW(),
  89. Studio_Nagraniowe_id SERIAL REFERENCES Studio_Nagraniowe(id) ON UPDATE CASCADE,
  90. Artysta_id SERIAL REFERENCES Artysta(id) ON UPDATE CASCADE
  91. );
  92. GO
  93.  
  94. CREATE TABLE Album_Wydany(
  95. Album_id SERIAL REFERENCES Album(id) ON UPDATE CASCADE,
  96. Dystrybutor_id SERIAL REFERENCES Dystrybutor(id) ON UPDATE CASCADE,
  97. Producent_id SERIAL REFERENCES Producent(id) ON UPDATE CASCADE,
  98. Studio_Nagraniowe_id SERIAL REFERENCES Studio_Nagraniowe(id) ON UPDATE CASCADE,
  99. Mastering_id SERIAL REFERENCES Mastering(id) ON UPDATE CASCADE,
  100.  
  101. CONSTRAINT PK_Album_Wydany PRIMARY KEY(Album_id, Dystrybutor_id, Producent_id, Studio_Nagraniowe_id,
  102. Mastering_id)
  103. );
  104. GO
  105.  
  106. INSERT INTO Adres(miejscowosc,ulica,numer_budynku,numer_mieszkania,kod_pocztowy)
  107. VALUES('Berlin', 'Konstanzer Strasse', '71', 5, '35647');
  108.  
  109. INSERT INTO Adres(miejscowosc,ulica,numer_budynku,numer_mieszkania,kod_pocztowy)
  110. VALUES('Ampfing', 'Kieler Srasse', '20', 2, '84536');
  111.  
  112. INSERT INTO Adres(miejscowosc,ulica,numer_budynku,numer_mieszkania,kod_pocztowy)
  113. VALUES('Montreal', 'Rene-Levesque', '193', 6, '54856');
  114.  
  115. INSERT INTO Adres(miejscowosc,ulica,numer_budynku,numer_mieszkania,kod_pocztowy)
  116. VALUES('Warszawa', 'Aleje Jerozolimskie', '55', 2, '02-011');
  117.  
  118. INSERT INTO Adres(miejscowosc,ulica,numer_budynku,numer_mieszkania,kod_pocztowy)
  119. VALUES('Kraków', 'Dêbowa', '40', 1, '43-300');
  120. GO
  121.  
  122.  
  123. INSERT INTO Menadzer(imie,nazwisko,telefon,Adres_id)
  124. VALUES('Adam', 'Deby', 791584568, 2);
  125.  
  126. INSERT INTO Menadzer(imie,nazwisko,telefon,Adres_id)
  127. VALUES('Michal', 'Wisniewski', 584754568, 1);
  128.  
  129. INSERT INTO Menadzer(imie,nazwisko,telefon,Adres_id)
  130. VALUES('Mikhail', 'Krakov', 795424568, 3);
  131.  
  132. INSERT INTO Menadzer(imie,nazwisko,telefon,Adres_id)
  133. VALUES('Nathaniel', 'Sernik', 874584568, 5);
  134.  
  135. INSERT INTO Menadzer(imie,nazwisko,telefon,Adres_id)
  136. VALUES('Michael', 'Crook', 884568, 4);
  137. GO
  138.  
  139.  
  140. INSERT INTO Artysta(imie,nazwisko,telefon,gatunek,Adresy_id, Menadzer_id)
  141. VALUES('Matthew', 'Bellamy', 3242412, 'rock', 2, 1);
  142.  
  143. INSERT INTO Artysta(imie,nazwisko,telefon,gatunek,Adresy_id, Menadzer_id)
  144. VALUES('Michael', 'Jackson', 24324543, 'pop', 3, 3);
  145.  
  146. INSERT INTO Artysta(imie,nazwisko,telefon,gatunek,Adresy_id, Menadzer_id)
  147. VALUES('Sarsa', 'Markiewicz', 24324521, 'pop', 1, 4);
  148.  
  149. INSERT INTO Artysta(imie,nazwisko,telefon,gatunek,Adresy_id, Menadzer_id)
  150. VALUES('Samuel', 'Jackson', 45224452, 'rock', 4, 5);
  151.  
  152. INSERT INTO Artysta(imie,nazwisko,telefon,gatunek,Adresy_id, Menadzer_id)
  153. VALUES('Michal', 'Wisniewski', 6546234, 'pop', 5, 2);
  154. GO
  155.  
  156. INSERT INTO Album(nazwa,data_wydania,dlugosc,Artysta_id)
  157. VALUES('Origin of Symmetry', '2014-06-22', 45, 1);
  158.  
  159. INSERT INTO Album(nazwa,data_wydania,dlugosc,Artysta_id)
  160. VALUES('Markers', '2004-02-12', 55, 2);
  161.  
  162. INSERT INTO Album(nazwa,data_wydania,dlugosc,Artysta_id)
  163. VALUES('Amen', '2002-01-26', 34, 3);
  164.  
  165. INSERT INTO Album(nazwa,data_wydania,dlugosc,Artysta_id)
  166. VALUES('Droga', '2013-06-22', 46, 4);
  167.  
  168. INSERT INTO Album(nazwa,data_wydania,dlugosc,Artysta_id)
  169. VALUES('Drive', '2015-09-11', 64, 5);
  170. GO
  171.  
  172.  
  173. INSERT INTO Dystrybutor(nazwa,kraj,telefon,email,Adres_id)
  174. VALUES('Step Records', 'Poland', 789456248, 'steprecords@gmail.com', 5);
  175.  
  176. INSERT INTO Dystrybutor(nazwa,kraj,telefon,email,Adres_id)
  177. VALUES('Warner Music', 'Germany', 32245432, 'warner.germany@warner.com', 2);
  178.  
  179. INSERT INTO Dystrybutor(nazwa,kraj,telefon,email,Adres_id)
  180. VALUES('Organek Records', 'Polska', 789456248, 'steprecords@gmail.com', 4);
  181.  
  182. INSERT INTO Dystrybutor(nazwa,kraj,telefon,email,Adres_id)
  183. VALUES('Global Records', 'Germany', 324113265, 'global.records@gmail.com', 2);
  184.  
  185. INSERT INTO Dystrybutor(nazwa,kraj,telefon,email,Adres_id)
  186. VALUES('Universal Music', 'Canada', 36523413, 'universal.music@uni.com', 3);
  187. GO
  188.  
  189.  
  190. INSERT INTO Producent(imie,nazwisko,telefon,email,Adres_id)
  191. VALUES('Michal', 'Skarzynski', 784582485, 'm.skarz@gmail.com', 3);
  192.  
  193. INSERT INTO Producent(imie,nazwisko,telefon,email,Adres_id)
  194. VALUES('Shawn', 'Morrison', 2351235, 's.morrison@gmail.com', 1);
  195.  
  196. INSERT INTO Producent(imie,nazwisko,telefon,email,Adres_id)
  197. VALUES('Peter', 'Parker', 5382485, 'p.parker@gmail.com', 2);
  198.  
  199. INSERT INTO Producent(imie,nazwisko,telefon,email,Adres_id)
  200. VALUES('Piotr', 'Polak', 334582485, 'piotr.polak@gmail.com', 5);
  201.  
  202. INSERT INTO Producent(imie,nazwisko,telefon,email,Adres_id)
  203. VALUES('Sara', 'Larsson', 69854872, 'sara.larsson@gmail.com', 4);
  204. GO
  205.  
  206. INSERT INTO Mastering(nazwa, telefon, email, Adres_id)
  207. VALUES('Mastering Ltd.', 48545468, 'mas.ltd@gmail.com', 1);
  208.  
  209. INSERT INTO Mastering(nazwa, telefon, email, Adres_id)
  210. VALUES('Sterling Sound', 4234212, 'sterl.sound@gmail.com', 2);
  211.  
  212. INSERT INTO Mastering(nazwa, telefon, email, Adres_id)
  213. VALUES('Bain', 5632435, 'bain@gmail.com', 3);
  214.  
  215. INSERT INTO Mastering(nazwa, telefon, email, Adres_id)
  216. VALUES('Clio Sound', 113545468, 'clio.so@gmail.com', 4);
  217.  
  218. INSERT INTO Mastering(nazwa, telefon, email, Adres_id)
  219. VALUES('Berk Sound', 66545468, 'berk.sd@gmail.com', 5);
  220. GO
  221.  
  222.  
  223. INSERT INTO Studio_Nagraniowe(nazwa,telefon,email,Adres_id)
  224. VALUES('Polskie Radio', 795845648, 'polskie.ra@gmail.com', 1);
  225.  
  226. INSERT INTO Studio_Nagraniowe(nazwa,telefon,email,Adres_id)
  227. VALUES('Republica', 8654895, 'republica@gmail.com', 3);
  228.  
  229. INSERT INTO Studio_Nagraniowe(nazwa,telefon,email,Adres_id)
  230. VALUES('TR Studios', 5345235, 'trstudios@gmail.com', 2);
  231.  
  232. INSERT INTO Studio_Nagraniowe(nazwa,telefon,email,Adres_id)
  233. VALUES('Pasja Sounds', 2587458, 'pasja@gmail.com', 5);
  234.  
  235. INSERT INTO Studio_Nagraniowe(nazwa,telefon,email,Adres_id)
  236. VALUES('Nonagram', 7633452, 'nonagram@gmail.com', 4);
  237. GO
  238.  
  239.  
  240. INSERT INTO Rezerwacja_Studia(data, Studio_Nagraniowe_id, Artysta_id)
  241. VALUES('2014-05-22', 2, 1);
  242.  
  243. INSERT INTO Rezerwacja_Studia(data, Studio_Nagraniowe_id, Artysta_id)
  244. VALUES('2010-02-11', 4, 2);
  245.  
  246. INSERT INTO Rezerwacja_Studia(data, Studio_Nagraniowe_id, Artysta_id)
  247. VALUES('2005-04-21', 5, 4);
  248.  
  249. INSERT INTO Rezerwacja_Studia(data, Studio_Nagraniowe_id, Artysta_id)
  250. VALUES('2015-09-28', 3, 3);
  251.  
  252. INSERT INTO Rezerwacja_Studia(data, Studio_Nagraniowe_id, Artysta_id)
  253. VALUES('2001-01-01', 5, 5);
  254. GO
  255.  
  256.  
  257. INSERT INTO Album_Wydany(Album_id,Dystrybutor_id,Producent_id,Studio_Nagraniowe_id,Mastering_id)
  258. VALUES(1, 2, 4, 2, 2);
  259.  
  260. INSERT INTO Album_Wydany(Album_id,Dystrybutor_id,Producent_id,Studio_Nagraniowe_id,Mastering_id)
  261. VALUES(5, 3, 4, 2, 1);
  262.  
  263. INSERT INTO Album_Wydany(Album_id,Dystrybutor_id,Producent_id,Studio_Nagraniowe_id,Mastering_id)
  264. VALUES(1, 2, 3, 2, 5);
  265.  
  266. INSERT INTO Album_Wydany(Album_id,Dystrybutor_id,Producent_id,Studio_Nagraniowe_id,Mastering_id)
  267. VALUES(2, 2, 4, 2, 2);
  268.  
  269. INSERT INTO Album_Wydany(Album_id,Dystrybutor_id,Producent_id,Studio_Nagraniowe_id,Mastering_id)
  270. VALUES(4, 3, 4, 2, 5);
  271. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement