Advertisement
Guest User

Untitled

a guest
Jun 13th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE TABLE Wrogowie (
  2. imie VARCHAR(15) CONSTRAINT i_pk PRIMARY KEY,
  3. gatunek VARCHAR(15)
  4. );
  5.  
  6. CREATE TABLE Lapowki (
  7. lapowka VARCHAR2(40) CONSTRAINT l_pk PRIMARY KEY
  8. );
  9.  
  10.  
  11. CREATE TABLE Funkcje (
  12. funkcja VARCHAR2(15) CONSTRAINT f_pk PRIMARY KEY,
  13. min_myszy NUMBER(3),
  14. max_myszy NUMBER(3)
  15. );
  16.  
  17.  
  18. CREATE TABLE Bandy
  19. (nazwa VARCHAR2(15) CONSTRAINT nazw NOT NULL,
  20. numer_b NUMBER(3) CONSTRAINT nr_b_pk PRIMARY KEY,
  21. teren VARCHAR2(15) CONSTRAINT ter NOT NULL,
  22. );
  23.  
  24. CREATE TABLE Koty
  25. (pseudo VARCHAR2(15) CONSTRAINT koty_pk PRIMARY KEY,
  26. data_dolaczenia DATE CONSTRAINT kot_w_rodz NOT NULL,
  27. plec CHAR(1) CONSTRAINT pl_nn NOT NULL CONSTRAINT pl_mk CHECK (plec IN ('K','M')),
  28. przydzial_m NUMBER(3) CONSTRAINT prz_m CHECK (przydzial_m>-1),
  29. pseudo_szefa VARCHAR2(15), CONSTRAINT ps_fk FOREIGN KEY(pseudo) REFERENCES Koty(pseudo),
  30. funkcja VARCHAR2(15), CONSTRAINT fun FOREIGN KEY(funkcja) REFERENCES Funkcje(funkcja)
  31. );
  32.  
  33. ALTER TABLE Bandy ADD pseudo_szefa VARCHAR2(15), CONSTRAINT ps_sz FOREIGN KEY(pseudo_szefa) REFERENCES Koty(pseudo);
  34.  
  35.  
  36. ALTER TABLE Bandy
  37.  
  38.  
  39. CREATE TABLE Myszy (
  40. numer_m NUMBER(6) CONSTRAINT numm_m PRIMARY KEY CONSTRAINT wiecej CHECK(numer_m>0),
  41. data_u DATE CONSTRAINT dlu NOT NULL,
  42. data_w DATE,
  43. waga NUMBER(3) CONSTRAINT w_nn NOT NULL CONSTRAINT w_t CHECK (waga>10),
  44. dlugosc NUMBER(3) CONSTRAINT d_nn NOT NULL CONSTRAINT d_t CHECK (dlugosc>5),
  45. upolowana_przez VARCHAR2(15) CONSTRAINT u_nn NOT NULL, CONSTRAINT ps_kj FOREIGN KEY(upolowana_przez) REFERENCES Koty(pseudo),
  46. zjedzona_przez VARCHAR2(15), CONSTRAINT pjs_j FOREIGN KEY(zjedzona_przez) REFERENCES Koty(pseudo),
  47. CONSTRAINT d_w_cph CHECK (data_w>=data_u)
  48. );
  49.  
  50.  
  51. CREATE TABLE Incydenty (
  52. data_i DATE CONSTRAINT dnn NOT NULL,
  53. opis_i VARCHAR2(60) CONSTRAINT onn NOT NULL,
  54. pseudo VARCHAR2(15), CONSTRAINT ps_fik FOREIGN KEY(pseudo) REFERENCES Koty(pseudo),
  55. imie VARCHAR2(15), CONSTRAINT iow_fk FOREIGN KEY(imie) REFERENCES Wrogowie(imie),
  56. CONSTRAINT daon_pk PRIMARY KEY(imie, pseudo)
  57. );
  58.  
  59.  
  60.  
  61. CREATE TABLE Walczacy (
  62. pseudo VARCHAR2(15), CONSTRAINT hps_fk FOREIGN KEY(pseudo) REFERENCES Koty(pseudo),
  63. imie VARCHAR2(15), CONSTRAINT ihm_fk FOREIGN KEY(imie) REFERENCES Wrogowie(imie),
  64. stopien_wrogosci NUMBER(2) CONSTRAINT w_pz CHECK ((stopien_wrogosci<11) AND (stopien_wrogosci>0))
  65. );
  66.  
  67. CREATE TABLE Lapowki_wrogow (
  68. lapowka VARCHAR2(40) CONSTRAINT l_nn NOT NULL, CONSTRAINT lw FOREIGN KEY(lapowka) REFERENCES Lapowki(lapowka),
  69. imie VARCHAR2(15) CONSTRAINT i_nn NOT NULL, CONSTRAINT iw FOREIGN KEY(imie) REFERENCES Wrogowie(imie),
  70. CONSTRAINT l_pk PRIMARY KEY(lapowka, imie)
  71. );
  72.  
  73.  
  74. ------------------------------------------------------------------------- ZAD2
  75.  
  76. ALTER TABLE Bandy
  77. DISABLE CONSTRAINT ps_sz;
  78.  
  79. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Mistrzunio','23.01.2004','M','25',NULL,NULL,'szef szefow');
  80. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Cheetah','24.02.2005','M','19','Mistrzunio','1','drapieznik');
  81. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Harnold','03.05.2004','M','17','Mistrzunio','1','czarodziej');
  82. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Roslinozerca','16.03.2010','M','0','Mistrzunio','1','wege');
  83. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Hermiona','15.03.2008','K','10','Cheetah','2','czarodziejka');
  84. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Vladimir','24.03.2006','M','6','Cheetah','2','rozrywka');
  85. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Gazownik','30.04.2009','M','6','Cheetah','2','gazujacy');
  86. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Aleksandra','18.07.2010','K','4','Cheetah','2','czarodziejka');
  87. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Karol','28.11.2008','M','7','Harnold','3','rozrywka');
  88. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Hitman','15.12.2009','M','30','Harnold','3','zabijaka');
  89. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Maly Cpun','21.08.2007','M','5','Harnold','3','rozrywka');
  90. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Michalowa','12.05.2008','K','6','Roslinozerca','4','rozrywka');
  91. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Silny','09.12.2012','M','7','Roslinozerca','4','zabijaka');
  92. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Mieczak','11.02.2013','M','4','Roslinozerca','4','listonosz');
  93. INSERT INTO Koty(pseudo,data_dolaczenia,plec,przydzial_m,pseudo_szefa,numer_b,funkcja) VALUES('Rudy','15.04.2010','M','4','Roslinozerca','4','rudy');
  94.  
  95.  
  96. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('szef szefow','20','30');
  97. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('drapieznik','15','20');
  98. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('czarodziej','14','21');
  99. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('wege','0','2');
  100. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('czarodziejka','7','18');
  101. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('rozrywka','5','9');
  102. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('zabijaka','10','50');
  103. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('gazujacy','3','8');
  104. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('listonosz','3','5');
  105. INSERT INTO Funkcje(funkcja,min_myszy,max_myszy) VALUES('rudy','2','10');
  106.  
  107.  
  108.  
  109.  
  110. INSERT INTO Bandy(nazwa,numer_b,teren,pseudo_szefa) VALUES('Naczelne Koty','1','Centrum','Mistrzunio');
  111. INSERT INTO Bandy(nazwa,numer_b,teren,pseudo_szefa) VALUES('Lamparty','2','Manhattan','Cheetah');
  112. INSERT INTO Bandy(nazwa,numer_b,teren,pseudo_szefa) VALUES('Czarodzieje','3','Podziemia','Harnold');
  113. INSERT INTO Bandy(nazwa,numer_b,teren,pseudo_szefa) VALUES('Wege Koty','4','Ogrod','Roslinozerca');
  114. INSERT INTO Bandy(nazwa,numer_b,teren,pseudo_szefa) VALUES('Jaskiniowcy','5','Jaskinie',NULL);
  115. INSERT INTO Bandy(nazwa,numer_b,teren,pseudo_szefa) VALUES('Drogowka','6','Autostrady',NULL);
  116.  
  117. ALTER TABLE Bandy;
  118. ENABLE CONSTRAINT ps_sz;
  119.  
  120. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('756','21.07.2016','22.07.2016','53','12','Vladimir','Vladimir');
  121. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('757','22.03.2016','24.03.2016','42','9','Hermiona','Cheetah');
  122. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('766','20.03.2016','21.03.2016','33','13','Karol','Hitman');
  123. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('845','21.03.2016','22.03.2016','29','9','Roslinozerca','Roslinozerca');
  124. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('846','10.05.2016','12.05.2016','32','10','Gazownik','Cheetah');
  125. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('847','11.05.2016','13.05.2016','46','15','Maly Cpun','Harnold');
  126. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('893','13.02.2016','14.02.2016','51','17','Rudy','Roslinozerca');
  127. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('894','13.08.2016','15.08.2016','38','11','Mieczak','Silny');
  128. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('895','13.10.2016','16.10.2016','41','9','Silny','Michalowa');
  129. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('234','15.12.2016','17.12.2016','48','12','Michalowa','Michalowa');
  130. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('235','16.06.2016','18.06.2016','37','11','Mistrzunio','Mistrzunio');
  131. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('236','04.05.2016','07.05.2016','32','10','Aleksandra','Hitman');
  132. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('237','04.05.2016','05.05.2016','41','12','Mieczak','Rudy');
  133. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('523','05.05.2016','06.05.2016','45','11','Rudy','Rudy');
  134. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('524','05.05.2016','08.05.2016','25','7','Michalowa','Harnold');
  135. INSERT INTO Myszy(numer_m,data_u,data_w,waga,dlugosc,upolowana_przez,zjedzona_przez) VALUES ('525','07.05.2016','08.05.2016','35','11','Gazownik','Gazownik');
  136.  
  137.  
  138.  
  139. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('21.07.2015','Hermiona zrzucila krzeslo na Bonifacego','Hermiona','Bonifacy');
  140. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('05.04.2016','Walka w tunelu','Hitman','Gruby');
  141. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('15.06.2016','Wpadka w siec pajaka','Mieczak','Pajeczak');
  142. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('03.07.2017','Starcie na Manhattanie','Harnold','Kruci');
  143. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('06.03.2017','Wypadek samochodowy','Rudy','Michal');
  144. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('09.11.2016','Przejecie parku centralnego','Hitman','Gruby');
  145. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('14.10.2017','Wywrotka na rolkach','Hermiona','Kawalarz');
  146. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('13.08.2017','Zakup narkotykow','Maly Cpun','Marian');
  147. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('12.12.2017','Napad na bank','Mistrzunio','Pirat');
  148. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('09.07.2016','Obrabienie sklepu z karmy','Gazownik','Mateusz');
  149. INSERT INTO Incydenty(data_i,opis_i,pseudo,imie) VALUES('25.10.2010','Utopienie Jakuba','Harnold','Jakub');
  150.  
  151.  
  152.  
  153. INSERT INTO Wrogowie(imie,gatunek) VALUES('Bonifacy','Kocisko');
  154. INSERT INTO Wrogowie(imie,gatunek) VALUES('Jakub','Nurek');
  155. INSERT INTO Wrogowie(imie,gatunek) VALUES('Michal','Szczurolap');
  156. INSERT INTO Wrogowie(imie,gatunek) VALUES('Gruby','Kocisko');
  157. INSERT INTO Wrogowie(imie,gatunek) VALUES('Kawalarz','Jezdziec');
  158. INSERT INTO Wrogowie(imie,gatunek) VALUES('Pirat','Jezdziec');
  159. INSERT INTO Wrogowie(imie,gatunek) VALUES('Pajeczak','Pajak');
  160. INSERT INTO Wrogowie(imie,gatunek) VALUES('Marian','Szczurolap');
  161. INSERT INTO Wrogowie(imie,gatunek) VALUES('Kruci','Szczur');
  162. INSERT INTO Wrogowie(imie,gatunek) VALUES('Mateusz','Zlodziej');
  163. INSERT INTO Wrogowie(imie,gatunek) VALUES('Marcin','Zlodziej');
  164.  
  165.  
  166.  
  167. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Hermiona','Bonifacy','9');
  168. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Harnold','Jakub','4');
  169. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Harnold','Michal','5');
  170. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Mistrzunio','Pajeczak','10');
  171. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Silny','Mateusz','6');
  172. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Gazownik','Kawalarz','7');
  173. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Cheetah','Michal','3');
  174. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Cheetah','Marian','5');
  175. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Vladimir','Kruci','8');
  176. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Karol','Pirat','2');
  177. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Hitman','Gruby','8');
  178. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Hitman','Jakub','3');
  179. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Maly Cpun','Marcin', '5');
  180. INSERT INTO Walczacy(pseudo,imie,stopien_wrogosci) VALUES('Rudy','Marcin', '3');
  181.  
  182.  
  183.  
  184. INSERT INTO Lapowki(lapowka) VALUES('kokaina');
  185. INSERT INTO Lapowki(lapowka) VALUES('whiskas');
  186. INSERT INTO Lapowki(lapowka) VALUES('mleko');
  187. INSERT INTO Lapowki(lapowka) VALUES('amulet');
  188. INSERT INTO Lapowki(lapowka) VALUES('mango');
  189. INSERT INTO Lapowki(lapowka) VALUES('pozytywka');
  190. INSERT INTO Lapowki(lapowka) VALUES('karma');
  191. INSERT INTO Lapowki(lapowka) VALUES('ser edamski');
  192. INSERT INTO Lapowki(lapowka) VALUES('pierscien');
  193. INSERT INTO Lapowki(lapowka) VALUES('kurtka');
  194. INSERT INTO Lapowki(lapowka) VALUES('pistolet');
  195.  
  196.  
  197.  
  198. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('kokaina','Bonifacy');
  199. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('whiskas','Michal');
  200. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('mleko','Marcin');
  201. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('mango','Marcin');
  202. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('amulet','Kawalarz');
  203. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('pozytywka','Mateusz');
  204. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('karma','Gruby');
  205. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('ser edamski','Marcin');
  206. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('pierscien','Michal');
  207. INSERT INTO Lapowki_wrogow(lapowka,imie) VALUES('pistolet','Bonifacy');
  208.  
  209.  
  210. ---------------------------- ZAD 3
  211.  
  212. w każdej z grup 1-3 jedno zapytanie z operacją grupowania
  213.  
  214. -------------- zad 3.1 proste na jednej relacji
  215.  
  216.  
  217. ---1 Podaj wrogów i ich stopień wrogości o stopniu wrogości powyżej 5
  218.  
  219. SELECT imie, stopien_wrogosci
  220.   FROM Walczacy
  221.   WHERE stopien_wrogosci > 5
  222.  
  223. ---2 Wyświetl Koty wraz z ich płcią, pseudem szefa oraz przydziałem myszy zaczynając od największego a kończąc na najmniejszym
  224.  
  225. SELECT pseudo, plec, przydzial_m, pseudo_szefa
  226. FROM Koty
  227. ORDER BY przydzial_m DESC
  228.  
  229. ---3 Wyświetl incydenty w kolejności chronologicznej
  230.  
  231. SELECT data_i, opis_i
  232. FROM Incydenty
  233. ORDER BY data_i
  234.  
  235.  
  236. -------------- zad 3.2 złączenia
  237.  
  238. ---1 Podaj liczbę członków w każdej z band
  239.  
  240. SELECT COUNT(k.pseudo), b.nazwa
  241.   FROM Koty k
  242.   INNER JOIN Bandy b
  243.    ON k.numer_b = b.numer_b
  244.   GROUP BY b.nazwa;
  245.  
  246. ---2 Podaj pseudo kocic, które upolowały myszy w drugiej połowie 2016 roku
  247.  
  248. SELECT k.pseudo
  249.   FROM Koty k
  250.   INNER JOIN Myszy m
  251.    ON k.pseudo = m.upolowana_przez
  252.   WHERE (m.data_u BETWEEN '01.07.2016' AND '31.12.2016') AND k.plec = 'K'
  253.  
  254. ---3 Wyświetl 5 najcięższych myszy oraz ich numer
  255.  
  256. SELECT m.numer_m, m.waga
  257. FROM Myszy my JOIN Myszy m
  258. ON m.waga <= my.waga
  259. GROUP BY m.waga, m.numer_m
  260. HAVING COUNT(DISTINCT my.numer_m) < 6
  261. ORDER BY m.waga DESC
  262.  
  263.  
  264. -------------- zad 3.3 podzapytania
  265.  
  266. ---1 Podaj incydenty które zdarzyły się kotom z bandy Harnolda
  267.  
  268. SELECT i.data_i, i.opis_i
  269.   FROM Incydenty i
  270.   WHERE i.pseudo
  271.   IN (SELECT k.pseudo FROM Koty k WHERE k.pseudo_szefa = 'Harnold')
  272.  
  273. ---2 Wyświetl imiona wrogów z gatunku 'Zlodziej' którzy dali łapówkę
  274.  
  275. SELECT wr.imie
  276.   FROM Wrogowie wr
  277.   WHERE wr.gatunek = 'Zlodziej'
  278.   AND wr.imie IN ( SELECT l.imie FROM Lapowki_wrogow l);
  279.  
  280. ---3 Wyświetl koty, które potrzebują zjeść mniej niż 6 myszy
  281.  
  282. SELECT k.pseudo
  283. FROM Koty k
  284. WHERE k.funkcja IN (
  285.   SELECT f.funkcja
  286.   FROM Funkcje f
  287.   WHERE f.min_myszy < 6
  288. GROUP BY f.min_myszy
  289. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement