Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. /* EXO 1*/
  2.  
  3. CREATE TABLE TOURISTE(
  4. nom VARCHAR(30),
  5. prenom VARCHAR(30),
  6. age INT,
  7. paysOrigine VARCHAR(30),
  8. constraint pk_touriste primary key (nom)
  9. )
  10.  
  11. CREATE TABLE MONUMENT(
  12. nom VARCHAR(50),
  13. ville VARCHAR(30),
  14. pays VARCHAR(30),
  15. anneeConstruction INT,
  16. constraint pk_monument primary key (nom)
  17. )
  18.  
  19. CREATE TABLE VISITE(
  20. nomTouriste VARCHAR(30),
  21. nomMonument VARCHAR(50),
  22. dateVisite DATE,
  23. prixEntree INT,
  24. constraint pk_visite primary key (nomTouriste, nomMonument),
  25. constraint fk_visite_nomTouriste foreign key (nomTouriste) references TOURISTE(nom),
  26. constraint fk_visite_nomMonument foreign key (nomMonument) references MONUMENT(nom)
  27. )
  28.  
  29.  
  30. /*EXO 2*/
  31.  
  32.  
  33. insert into touriste values
  34. ('Bonaparte','Napoléon','37','France'),
  35. ('Tepes','Vlad','28','Roumanie'),
  36. ('Legrand','Alexandre','33','Grêce'),
  37. ('Deux','Nicolas','41','Russie'),
  38. ('César','Jules','44','Italie'),
  39. ('Darc','Jeanne','18','France');
  40.  
  41. insert into monument values
  42. ('Château de Dracula','Bran','Roumanie','1377'),
  43. ('Tour Eiffel','Paris','France','1889'),
  44. ('Corcovado','Rio','Brésil','1931'),
  45. ('Colisée','Rome','Italie','80'),
  46. ('Tour de Pise','Pise','Italie','1350'),
  47. /*('Cathédrale de la Sé','Sao Paulo','Brésil','1954'),*/
  48. ('Cathédrale de la Sé','Sao Paulo','Brésil','1954'),
  49. ('Maison du Peuple','Bucarest','Roumanie','1984');
  50.  
  51.  
  52.  
  53. insert into monument(nom, ville, pays) values ('Château de Versailles','Versailles','France');
  54.  
  55. insert into visite values
  56. ('Bonaparte','Colisée','12/12/2008','10'),
  57. ('Tepes','Cathédrale de la Sé','18/05/2010','0'),
  58. ('César','Tour Eiffel','01/01/2005','15'),
  59. ('Legrand','Tour Eiffel','23/11/2008','25'),
  60. ('César','Corcovado','25/12/2006','12'),
  61. ('César','Cathédrale de la Sé','18/12/2006','5'),
  62. ('Bonaparte','Maison du Peuple','25/09/2010','20');
  63.  
  64.  
  65. insert into visite(nomTouriste,nomMonument, dateVisite) values ('Legrand','Château de Dracula','14/02/2009');
  66.  
  67.  
  68. /*EXO 3:*/
  69. /*Question 1*/
  70. Select touriste.nom, paysOrigine
  71. from touriste, visite, monument
  72. where touriste.nom=visite.nomTouriste and visite.nomMonument=monument.nom and touriste.paysOrigine=monument.pays;
  73.  
  74.  
  75.  
  76. /*Question 3*/
  77. Select ville
  78. from monument, visite
  79. where monument.nom=visite.nomMonument
  80. and visite.prixEntree<=15;
  81.  
  82. /*Question 4*/
  83. Select TOP 1 monument.nom
  84. from monument, visite
  85. where monument.nom=visite.nomMonument
  86. ORDER BY visite.prixEntree ASC;
  87.  
  88. /*Question 5*/
  89. Select avg (prixEntree)
  90. from visite, monument
  91. where monument.nom=visite.nomMonument
  92. and pays='Brésil';
  93.  
  94. /*Question 6*/
  95. SELECT count(nomMonument) AS nbVisite ,TOURISTE.nom from VISITE, MONUMENT, TOURISTE
  96. Where TOURISTE.nom = VISITE.nomTouriste
  97. AND MONUMENT.nom = VISITE.nomMonument
  98. GROUP BY TOURISTE.nom;
  99.  
  100.  
  101. /*Question 7*/
  102. SELECT count(TOURISTE.nom), nomMonument from VISITE, MONUMENT, TOURISTE
  103. Where TOURISTE.nom = VISITE.nomTouriste
  104. AND MONUMENT.nom = VISITE.nomMonument
  105. GROUP BY nomMonument
  106. HAVING count(TOURISTE.nom) > 2;
  107.  
  108.  
  109. /*EXO 4*/
  110. CREATE VIEW PAYS as
  111. Select count(touriste.nom) as totalTouriste, paysOrigine
  112. from touriste
  113. Group by paysOrigine
  114. Having count(nom)>=2;
  115.  
  116. Select * from PAYS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement