Advertisement
Guest User

bd

a guest
Apr 26th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.19 KB | None | 0 0
  1.  
  2. DROP TABLE angajati;
  3.  
  4. CREATE TABLE angajati(
  5. IdAngajat int NOT NULL PRIMARY KEY,
  6. NUME varchar(20) NOT NULL,
  7. PRENUME varchar(20) NOT NULL,
  8. DataN datetime,
  9. Adresa varchar(50),
  10. Salariu decimal DEFAULT 2800,
  11. IdSectie int
  12. );
  13.  
  14. DROP TABLE sectii;
  15.  
  16. CREATE TABLE sectii(
  17. IdSectie int NOT NULL PRIMARY KEY,
  18. Nume varchar(50) NOT NULL,
  19. Buget decimal,
  20. );
  21. ALTER TABLE angajati ADD CONSTRAINT fk_angajati FOREIGN KEY(IdSectie) REFERENCES Sectii(IdSectie);
  22. --restrictie integritate diferentiala
  23.  
  24. INSERT INTO sectii VALUES(1,'Productie',1400);
  25. INSERT INTO sectii VALUES(2,'Contabilitate',1200);
  26. INSERT INTO sectii VALUES(3,'Vanzari',3000);
  27.  
  28. INSERT INTO angajati VALUES(100,'Ion','Viorel','02/21/1990','Craiova',2100,1);
  29. INSERT INTO angajati VALUES(101,'Ana','Popa','01/01/1990','Bals',2200,2);
  30. INSERT INTO angajati VALUES(102,'Nicu','Adrian','05/07/1989','Craiova',1800,1);
  31. INSERT INTO angajati VALUES(103,'Gigel','Catel','09/03/1990','Slatina',1600,3);
  32.  
  33.  
  34. DROP TABLE angajati1;
  35.  
  36. CREATE TABLE angajati1(
  37. IdAngajat int NOT NULL PRIMARY KEY,
  38. NUME varchar(20) NOT NULL,
  39. PRENUME varchar(20) NOT NULL,
  40. DataN datetime,
  41. Adresa varchar(50),
  42. Salariu decimal DEFAULT 2800,
  43. IdSectie int
  44. );
  45.  
  46.  
  47. INSERT INTO angajati1 VALUES(100,'Ion','Viorel','02/21/1990','Craiova',2100,1);
  48. INSERT INTO angajati1 VALUES(101,'Ana','Popa','01/01/1990','Bals',2200,2);
  49. INSERT INTO angajati1 VALUES(104,'Fota','Lidia','04/03/1994','Turceni',2300,2);
  50. INSERT INTO angajati1 VALUES(105,'Dragomir','Georgica','09/12/1994','Slatina',2700,3);
  51.  
  52. SELECT *FROM angajati1;
  53.  
  54. SELECT * FROM angajati
  55. UNION
  56. SELECT * FROM angajati1;
  57.  
  58. SELECT * FROM angajati
  59. UNION ALL
  60. SELECT * FROM angajati1;
  61.  
  62. SELECT * FROM angajati
  63. INTERSECT
  64. SELECT * FROM angajati1;
  65.  
  66. SELECT * FROM angajati
  67. EXCEPT
  68. SELECT * FROM angajati1;
  69.  
  70. SELECT * FROM angajati
  71. WHERE IdSectie=1 AND Adresa='Craiova';
  72.  
  73.  
  74. SELECT IdAngajat, NUME, Adresa FROM angajati; --proiectie
  75.  
  76.  
  77. SELECT * FROM angajati,sectii; --produs cartezian
  78.  
  79. SELECT * FROM angajati,sectii
  80. WHERE angajati.IdSectie=sectii.IdSectie; -- join
  81.  
  82. SELECT * FROM angajati a
  83. WHERE IdSectie=1;
  84.  
  85. SELECT a.IdAngajat,a.Adresa,s.IdSectie,s.NUME,s.Buget FROM angajati a, sectii s
  86. WHERE a.IdSectie=s.IdSectie;
  87.  
  88. SELECT angajati.NUME,PRENUME,DataN,Salariu FROM sectii, angajati WHERE sectii.IdSectie=angajati.IdSectie AND sectii.Nume='Productie';
  89.  
  90. SELECT * FROM angajati WHERE IdSectie IN (SELECT IdSectie FROM sectii WHERE IdSectie=1); --imbricare
  91.  
  92. SELECT * FROM angajati WHERE IdSectie IN (SELECT IdSectie FROM sectii WHERE IdSectie>1); --imbricare
  93.  
  94.  
  95. drop table ACHIZITII
  96. create table ACHIZITII(
  97. idAchizitie int PRIMARY KEY,
  98. idFurnizor int,
  99. idComponenta int,
  100. idAngajat int,
  101. Data DateTime,
  102. NrComponente int,
  103. PretUnitar decimal(8,2)
  104. );
  105.  
  106. drop table FURNIZORI
  107. create table FURNIZORI(
  108. idFurnizor int PRIMARY KEY,
  109. Nume varchar(20),
  110. Prenume varchar(20),
  111. Adresa varchar(20));
  112.  
  113. drop table COMPONENTE
  114. create table COMPONENTE(
  115. idComponenta int PRIMARY KEY,
  116. Denumire varchar(20),
  117. Descriere varchar(20));
  118.  
  119. drop table PRODUSE
  120. create table PRODUSE(
  121. idProdus int PRIMARY KEY,
  122. Denumire varchar(20),
  123. Descriere varchar(20));
  124.  
  125. drop table CLIENTI
  126. create table CLIENTI(
  127. idClient int PRIMARY KEY,
  128. Nume varchar(20),
  129. Prenume varchar(20),
  130. Adresa varchar(20));
  131.  
  132. drop table PROIECTE
  133. create table PROIECTE(
  134. idProiect int PRIMARY KEY,
  135. Denumire varchar(20),
  136. Termen DateTime,
  137. Buget int);
  138.  
  139. drop table VANZARI
  140. create table VANZARI(
  141. idVanzare int PRIMARY KEY,
  142. idProdus int,
  143. idClient int,
  144. idAngajat int,
  145. Data datetime,
  146. NumarProdus int);
  147.  
  148. drop table ACTIVITATI
  149. create table ACTIVITATI(
  150. idProiect int,
  151. idAngajat int,
  152. Ore int,
  153. Constraint x1 PRIMARY KEY(idProiect,idAngajat));
  154.  
  155. drop table COMPOZITII
  156. create table COMPOZITII(
  157. idComponenta int,
  158. idProdus int,
  159. NrComponente int,
  160. Constraint x2 PRIMARY KEY(idComponenta,idProdus));
  161.  
  162.  
  163.  
  164. alter table ACHIZITII add Constraint f1 foreign key(idFurnizor) REFERENCES Furnizori(idFurnizor);
  165.  
  166. alter table ACHIZITII add Constraint f2 foreign key(idComponenta) REFERENCES Componente(idComponenta);
  167.  
  168. alter table ACHIZITII add Constraint f3 foreign key(idAngajat) REFERENCES Angajati(idAngajat);
  169.  
  170. alter table COMPOZITII add Constraint f4 foreign key(idComponenta) REFERENCES Componente(idComponenta);
  171.  
  172. alter table COMPOZITII add Constraint f5 foreign key(idProdus) REFERENCES Produse(idProdus);
  173.  
  174. alter table VANZARI add Constraint f6 foreign key(idProdus) REFERENCES PRODUSE(idProdus);
  175.  
  176. alter table VANZARI add Constraint f7 foreign key(idClient) REFERENCES Clienti(idClient);
  177.  
  178. alter table ACTIVITATI add Constraint f8 foreign key(idPROIECT) REFERENCES Proiecte(idProiect);
  179.  
  180. alter table ACTIVITATI add Constraint f9 foreign key(idAngajat) REFERENCES Angajati(idAngajat);
  181.  
  182. alter table VANZARI add Constraint f10 foreign key(idAngajat) REFERENCES Angajati(idAngajat);
  183.  
  184.  
  185. INSERT INTO FURNIZORI VALUES (1,'ALECU','ION','CRAIOVA');
  186. INSERT INTO FURNIZORI VALUES (2,'IANCU','DAN','BALS');
  187. INSERT INTO FURNIZORI VALUES (3,'STOICA','NICU','BUCURESTI');
  188.  
  189. INSERT INTO PRODUSE VALUES (1,'TRICOU','ROSU');
  190. INSERT INTO PRODUSE VALUES (2,'CAMASA','ALBA');
  191. INSERT INTO PRODUSE VALUES (3,'SAPCA','NEAGRA');
  192. INSERT INTO PRODUSE VALUES (4,'PANTOFI','MARO');
  193.  
  194. INSERT INTO COMPONENTE VALUES (1,'NASTURI','MARI');
  195. INSERT INTO COMPONENTE VALUES (2,'ATA','SUBTIRE');
  196. INSERT INTO COMPONENTE VALUES (3,'BENTITA','ALBA');
  197.  
  198. INSERT INTO CLIENTI VALUES (1,'ILIESCU','ION','RAHOVA');
  199. INSERT INTO CLIENTI VALUES (2,'UDREA','ELENA','JILAVA');
  200. INSERT INTO CLIENTI VALUES (3,'COCOS','DORIN','GHERLA');
  201.  
  202. INSERT INTO PROIECTE VALUES (1,'DNA','03/23/2015',2000);
  203. INSERT INTO PROIECTE VALUES (2,'DIICOT','05/20/2015',1500);
  204. INSERT INTO PROIECTE VALUES (3,'CSM','11/21/2015',2500);
  205.  
  206. INSERT INTO ACHIZITII VALUES (1,1,1,100,'03/24/2015',5,3);
  207. INSERT INTO ACHIZITII VALUES (2,2,3,102,'03/25/2015',6,4);
  208. INSERT INTO ACHIZITII VALUES (3,3,2,100,'03/26/2015',10,18);
  209. INSERT INTO ACHIZITII VALUES (4,2,1,103,'03/15/2015',7,10);
  210. update ACHIZITII set NrComponente=200 where idAngajat=100;
  211.  
  212. INSERT INTO COMPOZITII VALUES (1,1,5);
  213. INSERT INTO COMPOZITII VALUES (2,2,3);
  214. INSERT INTO COMPOZITII VALUES (3,3,1);
  215. INSERT INTO COMPOZITII VALUES (2,4,1);
  216.  
  217. INSERT INTO VANZARI VALUES (1,2,3,101,'03/23/2015',3);
  218. INSERT INTO VANZARI VALUES (2,4,2,100,'03/10/2015',1);
  219. INSERT INTO VANZARI VALUES (3,2,1,102,'03/05/2015',2);
  220. INSERT INTO VANZARI VALUES (4,3,1,100,'03/06/2015',1);
  221.  
  222. INSERT INTO ACTIVITATI VALUES (1,100,150);
  223. INSERT INTO ACTIVITATI VALUES (1,101,120);
  224. INSERT INTO ACTIVITATI VALUES (2,102,130);
  225. INSERT INTO ACTIVITATI VALUES (2,103,100);
  226. INSERT INTO ACTIVITATI VALUES (2,104,100);
  227.  
  228. --TEMA
  229. --1
  230. SELECT Nume,Prenume FROM FURNIZORI WHERE Adresa='BUCURESTI'
  231. UNION
  232. SELECT Nume,Prenume FROM CLIENTI where adresa='RAHOVA';
  233. --2
  234. SELECT * FROM angajati,sectii;
  235. --3
  236. SELECT FURNIZORI.Nume, FURNIZORI.Prenume FROM FURNIZORI,ACHIZITII
  237. WHERE
  238. FURNIZORI.idFurnizor=ACHIZITII.idFurnizor AND NrComponente>4;
  239. --4
  240. SELECT angajati.nume,angajati.prenume from COMPONENTE,angajati,ACHIZITII
  241. WHERE
  242. (achizitii.idAngajat=angajati.IdAngajat AND ACHIZITII.idComponenta=COMPONENTE.idComponenta) and COMPONENTE.Denumire='ata';
  243. --5
  244. SELECT FURNIZORI.Nume, FURNIZORI.Prenume, FURNIZORI.Adresa from COMPONENTE,ACHIZITII,FURNIZORI
  245. WHERE
  246. (FURNIZORI.idFurnizor=ACHIZITII.idFurnizor and ACHIZITII.idComponenta=COMPONENTE.idComponenta) and COMPONENTE.Denumire='nasturi'
  247. --6
  248. SELECT FURNIZORI.Nume, FURNIZORI.Prenume, FURNIZORI.Adresa from COMPONENTE,ACHIZITII,FURNIZORI
  249. WHERE
  250. (FURNIZORI.idFurnizor=ACHIZITII.idFurnizor and ACHIZITII.idComponenta=COMPONENTE.idComponenta)
  251. and
  252. ACHIZITII.NrComponente>=3 AND COMPONENTE.Denumire='nasturi';
  253. --7
  254. SELECT CLIENTI.Nume, CLIENTI.Prenume, CLIENTI.Adresa from CLIENTI,PRODUSE, VANZARI
  255. where
  256. VANZARI.idProdus=PRODUSE.idProdus and VANZARI.idClient=CLIENTI.idClient and PRODUSE.Denumire='camasa'and VANZARI.NumarProdus>=2;
  257. select * from vanzari
  258. select * from produse
  259. --8
  260. SELECT angajati.Nume, angajati.Prenume from angajati,PRODUSE, VANZARI
  261. where
  262. VANZARI.idProdus=PRODUSE.idProdus and angajati.IdAngajat=VANZARI.idAngajat and PRODUSE.Denumire='camasa';
  263. --9
  264. SELECT angajati.Nume, angajati.Prenume,angajati.DataN from angajati,ACTIVITATI,PROIECTE
  265. where
  266. angajati.IdAngajat=ACTIVITATI.idAngajat and ACTIVITATI.idProiect=PROIECTE.idProiect and PROIECTE.Denumire='DNA';
  267. --10
  268. select * from angajati
  269. select * from sectii
  270. SELECT sectii.Nume FROM SECTII, angajati, ACTIVITATI, PROIECTE WHERE
  271. angajati.IdSectie=sectii.IdSectie and angajati.IdAngajat=ACTIVITATI.idAngajat and proiecte.idProiect=activitati.idProiect
  272. and PROIECTE.Denumire='DNA';
  273. --14
  274. SELECT angajati.Nume, angajati.Prenume from angajati,ACHIZITII,FURNIZORI
  275. where
  276. angajati.IdAngajat=ACHIZITII.idAngajat and ACHIZITII.idFurnizor=FURNIZORI.idFurnizor and FURNIZORI.Nume='Alecu';
  277. --15
  278. SELECT angajati.Nume, angajati.Prenume from angajati,VANZARI,CLIENTI
  279. where
  280. angajati.IdAngajat=VANZARI.idAngajat and VANZARI.idClient=CLIENTI.idClient and CLIENTI.Nume='Iliescu'
  281. --16
  282. SELECT PRODUSE.Denumire from ACHIZITII,COMPOZITII,FURNIZORI,COMPONENTE,PRODUSE where
  283. ACHIZITII.idFurnizor=FURNIZORI.idFurnizor and ACHIZITII.idComponenta=COMPONENTE.idComponenta
  284. and COMPOZITII.idComponenta=COMPONENTE.idComponenta and COMPOZITII.idProdus=PRODUSE.idProdus and FURNIZORI.Nume='Stoica';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement