Advertisement
mmouhib

BAZA

Nov 23rd, 2021
2,238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.56 KB | None | 0 0
  1. CREATE TABLE departement (num_dept NUMBER(8), nom_dept varchar2(20));
  2.  
  3. CREATE TABLE employe (
  4.     NSS NUMBER(4),
  5.     nom varchar2(30),
  6.     prenom varchar2(30),
  7.     date_naiss DATE,
  8.     adresse varchar2(20),
  9.     sexe varchar2 (1),
  10.     salaire NUMBER(7, 3),
  11.     NSS_sup NUMBER (3)
  12. );
  13.  
  14. CREATE TABLE projet (
  15.     p_num NUMBER (3),
  16.     p_nom varchar2(30),
  17.     p_location varchar2(30),
  18.     num_dept NUMBER(8)
  19. );
  20.  
  21. CREATE TABLE travail_dans (
  22.     NSS NUMBER (4),
  23.     p_num NUMBER (3),
  24.     heure NUMBER(2)
  25. );
  26.  
  27. ALTER TABLE
  28.     employe
  29. ADD
  30.     CONSTRAINT check_salire CHECK (
  31.         salaire BETWEEN 1000
  32.         AND 8000
  33.     );
  34.  
  35. ALTER TABLE
  36.     projet
  37. ADD
  38.     CONSTRAINT check_location CHECK (p_location IN ('tunis', 'sfax', 'sousse'));
  39.  
  40. ALTER TABLE
  41.     projet
  42. ADD
  43.     CONSTRAINT check_nom CHECK (p_nom LIKE 'P_%');
  44.  
  45. ALTER TABLE
  46.     departement
  47. ADD
  48.     CONSTRAINT pk_departement PRIMARY KEY(num_dept);
  49.  
  50. ALTER TABLE
  51.     employe
  52. ADD
  53.     CONSTRAINT pk_employe PRIMARY KEY(NSS);
  54.  
  55. ALTER TABLE
  56.     projet
  57. ADD
  58.     CONSTRAINT pk_projet PRIMARY KEY(p_num);
  59.  
  60. ALTER TABLE
  61.     projet
  62. ADD
  63.     CONSTRAINT pk_projet PRIMARY KEY(p_num);
  64.  
  65. ALTER TABLE
  66.     travail_dans
  67. ADD
  68.     CONSTRAINT pk_travail_dans FOREIGN KEY (NSS) REFERENCES employe(NSS);
  69.  
  70. ALTER TABLE
  71.     travail_dans
  72. ADD
  73.     CONSTRAINT pk_travail_dans2 FOREIGN KEY (p_num) REFERENCES projet(p_num);
  74.  
  75. ALTER TABLE
  76.     travail_dans
  77. ADD
  78.     CONSTRAINT fk_travail_dans_fkInsteadOfPk PRIMARY KEY(NSS, p_num);
  79.  
  80. ALTER TABLE
  81.     employe
  82. ADD
  83.     num_dept NUMBER(8);
  84.  
  85. ALTER TABLE
  86.     employe
  87. ADD
  88.     CONSTRAINT fk1_employe FOREIGN KEY (num_dept) REFERENCES departement(num_dept);
  89.  
  90. ALTER TABLE
  91.     employe
  92. ADD
  93.     CONSTRAINT fk2_employe FOREIGN KEY (NSS_sup) REFERENCES employe(NSS);
  94.  
  95. ALTER TABLE
  96.     employe
  97. ADD
  98.     CONSTRAINT check_sexe CHECK (sexe IN ('M', 'F', 'm', 'f'));
  99.  
  100. INSERT INTO
  101.     departement
  102. VALUES
  103.     (1, 'comptabilite');
  104.  
  105. INSERT INTO
  106.     departement
  107. VALUES
  108.     (2, 'infromatique');
  109.  
  110. INSERT INTO
  111.     departement
  112. VALUES
  113.     (3, 'gestion');
  114.  
  115. INSERT INTO
  116.     departement
  117. VALUES
  118.     (4, 'vente');
  119.  
  120. INSERT INTO employe VALUES (1236,'ali','mohamed', '09 Jan 56', 'Tunis', 'M', '4000', NULL, 3);
  121. INSERT INTO employe VALUES (4569,'Ben rejeb','Sami', '02 Sep 69', 'Sousse', 'M',3000, 1236, 3);
  122. INSERT INTO employe VALUES (8523,'Mabrouk','Mounir', '12 Jun 60', 'Sfax', 'M',4000, NULL , 1);
  123. INSERT INTO employe VALUES (1478,'Selmi','Riadh', '25 Mar 67', 'Tunis', 'M',2500, 8523, 2);
  124. INSERT INTO employe VALUES (8965,'Sandid','Imen', '25 Mar 67', 'Gabes', 'F',3500, 8523, 2);
  125. INSERT INTO employe VALUES (9632,'Saidan','Leila', '26 Aug 70', 'Monastir', 'F',3200, NULL, 1);
  126. INSERT INTO employe VALUES (5826,'Ben salah','Mehdi', '27 May 72', 'Tunis', 'M',5000, 9632, 1);
  127. INSERT INTO employe VALUES (3695,'Meladi','Houda', '14 Dec 73','Sfax','F',3000,1236,3);
  128.  
  129.  
  130. INSERT INTO projet VALUES (1, 'P_Production1', 'sfax', 1);
  131. INSERT INTO projet VALUES (23, 'P_Reorganisation', 'tunis', 3);
  132. INSERT INTO projet VALUES (3, 'ProductionX', 'tunis', 1);
  133. INSERT INTO projet VALUES (7, 'P_Communication', 'sousse', 2);
  134. INSERT INTO projet VALUES (18, 'P_Gestion1', 'sousse', 3);
  135.  
  136. ALTER TABLE travail_dans
  137. MODIFY (heure NUMBER(3));
  138.  
  139.  
  140. INSERT INTO travail_dans VALUES (1236,23,210);
  141. INSERT INTO travail_dans VALUES (1236,1,23);
  142. INSERT INTO travail_dans VALUES (8965,7,00);
  143. INSERT INTO travail_dans VALUES (5826,1,10);
  144. INSERT INTO travail_dans VALUES (4569,23,30);
  145. INSERT INTO travail_dans VALUES (8523,7,60);
  146. INSERT INTO travail_dans VALUES (5826,3,20);
  147. INSERT INTO travail_dans VALUES (3695,18,10);
  148. INSERT INTO travail_dans VALUES (3695,23,45);
  149. INSERT INTO travail_dans VALUES (9632,3,15);
  150. INSERT INTO travail_dans VALUES (1478,7,45);
  151. INSERT INTO travail_dans VALUES (8965,23,57);
  152.  
  153. DELETE FROM departement WHERE num_dept = 4;
  154.  
  155. UPDATE employe SET salaire = salaire + 100 WHERE NSS_sup = 8523;
  156.  
  157. -- TP2
  158.  
  159. SELECT * FROM employe WHERE num_dept = 3;
  160.  
  161. SELECT nom, num_dept FROM employe;
  162.  
  163. SELECT nom_dept FROM departement WHERE num_dept > 2;
  164.  
  165. SELECT salaire, salaire*12 FROM employe WHERE salaire*12 > 40000;
  166.  
  167. -- 5)
  168.  
  169. SELECT nom, salaire FROM employe WHERE salaire*12 BETWEEN 35000 AND 40000;
  170.  
  171. SELECT nom, salaire, date_naiss FROM employe WHERE num_dept = 3 ORDER BY salaire DESC;
  172.  
  173. SELECT nom FROM employe WHERE nom LIKE '__n%';
  174.  
  175. SELECT nom FROM employe WHERE nom LIKE '%i%';
  176.  
  177. SELECT NSS, nom FROM employe WHERE adresse IN ('Tunis', 'Sfax');
  178.  
  179. SELECT NSS, nom FROM employe WHERE adresse NOT IN ('Tunis', 'Sfax');
  180.  
  181. SELECT * FROM employe WHERE date_naiss BETWEEN '1 Jan 60' AND '31 Dec 70';
  182.  
  183. -- TP3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement