Sunteți pe pagina 1din 53

Ministerul Educaiei, Tineretului i Sportului al Republicii Moldova Universitatea de Stat "A.

Russo" din Bli


5

OCTAVIAN COZNIUC

Culegere de probleme i exemple la

BAZE DE DATE

Blti, 2006

CZU: 004.655.3

Discutat la edina Catedrei Electronic i Informatic Procesul verbal nr. 6 din 02.06.2006

Discutat la edina Consiliului Facultii Tehnic, Fizic, Matematic i Informatic Procesul verbal nr. 6 din 22.06.2006

Autor: asistent universitar, magistru Octavian COZNIUC Ed. SRL PrimexCom"

Recenzeni: Nona DEINEGO Gheorghe CURBET

Universiatea de Stat Alecu Russo", Octavian Cozniuc, 2006 CUPRINSUL PREFA.........................................................................................


4

DESCRIEREA BAZEI DE DATE MARKETING.......................... 5 Tabelul Oficii ....................................................................................... 5 Tabelul Companii .......................................................................................
6

Tabelul Angajai .......................................................................................


6

Tabelul Produse .......................................................................................


7

Tabelul Tranzacii .......................................................................................


7

PROBLEME.....................................................................................
8

Selectarea datelor .......................................................................................


8

Actualizarea datelor ....................................................................................... I8 Parametrizarea interogrilor ....................................................................................... 21 LIMBAJUL SQL............................................................................ 22 Introducere .......................................................................................
22

Instruciunea de selecie ....................................................................................... 22 Instruciunea de tergere .......................................................................................


28

Instruciunea de adugare ....................................................................................... 29 Instruciunea de modificare ....................................................................................... 30 Instruciunea de selecie inclus ....................................................................................... 31 Parametrizarea interogrilor ....................................................................................... 32 RSPUNSURI............................................................................... 34 ANEX.......................................................................................... 63

BIBLIOGRAFIE............................................................................. 68 PREFA O dat cu evoluia societii umane, informaia a crescut in dimensiune. In prezent se pune problema, nu a stocrii datelor, ci a regsirii informaiei necesare i cu ea rapiditatea obinerii rezultatului dorit. Rezolvarea acestei probleme este determinat de: folosirea unui program specializat in prelucrarea informaiei a unei baze de date concrete, care este elaborat de un programator; cunoaterea limbajului SQL de ctre utilizator. Programele destinate prelucrrii datelor unei baze de date concrete sunt relativ scumpe i, prin urmare, nu orice utilizator i poate permite aa ceva. Din cele expuse se poate afirma, c cunoaterea limbajului SQL este cea mai optimal soluie a problemei menionate. Problemele prezentate in lucrare pot fi rezolvate in orice sistem de gestiune a bazelor de date (SGBD) actual. Problemele sunt orientate spre baza de date Marketing, care este o baz de date model i conine informaii despre: produsele, clienii, oficiile, angajaii i vnzrile unei firme comerciale. Lucrarea se adreseaz cititorilor care sunt oarecum familiarizai cu problematica programrii calculatoarelor i cu noiunile de baz ale informaticii teoretice. Ea poate servi ca material didactic liceitilor, studenilor i profesorilor specializai n informatic, economie, baze de date, . a. Autorul mulumete colegilor de catedr pentru observaiile i sugestiile competente, care au contribuit la realizarea acestei lucrri. DESCRIEREA BAZEI DE DATE MARKETING Baza de date Marketing este o baz de date ce conine informaii despre oficiile, produsele, angajaii, clienii i tranzaciile de vnzare a unei intreprinderi. Pentru a stoca toat informaia sus numit n calculator, se va folosi modelul relaional de reprezentare a datelor. Acest model pstreaz datele n form de unu sau mai multe tabele cu relaii dintre ele. Tabelele bazei de date Marketing sunt in a V-a form normal i n figura 1 este prezentat modelul relaional al bazei de date Marketing.

cod-companie compania reprezentantul companiei datoria cod-angajat nume prenume virsta funcia codul oficiului data angajrii suma planificata

exist

cod-produs descriere prt

data comenzii codul clientului codul vinzatorului codul produsului cantitatea

Fig. 1. Modelul relaional al BD Marketing Din figura 1 se vede, c baza de date este alctuit din 5 tabele cu titlurile: Oficii, Angajati, Tranzactii, Companii i Produse. Tabelul Oficii Tabelul Oficii conine informaii despre toate oficiile firmei i este alctuit din urmtoarele 4 cmpuri: Cod-oficiu de tip Text cu dimensiunea 2 simboluri i este cheie primar; Localitatea de tip Text cu dimensiunea 15 simboluri; Regiunea de tip Text cu dimensiunea 6 simboluri; Codul managerului de tip Text cu dimensiunea 3 simboluri i este cheie extern. Coninutul entitii Oficii este prezentat in anex. Tabelul Companii Tabelul Companii conine informaii despre toate companiile ce colaboreaz cu firma respectiv i este alctuit din urmtoarele 4 cmpuri: Cod-companie de tip Text cu dimensiunea 2 simboluri i este cheie primar; Compania de tip Text cu dimensiunea 13 simboluri; Reprezentantul companie de tip Text cu dimensiunea 3 simboluri i este cheie extern; Datoria de tip Currency cu formatul euro. Coninutul entitii Companii este prezentat in anex. Tabelul Angajai Tabelul Angajati conine informaii despre toi angajaii firmei respective i este alctuit din urmtoarele 8 campuri: Cod-angajat de tip Text cu dimensiunea 3 simboluri i este cheie primar; Nume de tip Text cu dimensiunea 15 simboluri;

Prenume de tip Text cu dimensiunea 15 simboluri; Virsta de tip Number cu formatul numr ntreg; Functia de tip Text cu dimensiunea 20 simboluri; Codul oficiului de tip Text cu dimensiunea 2 simboluri i este cheie extern; Data angajarii de tip Date/Time cu formatul dat scurt; Suma planificata de tip Currency cu formatul euro. Coninutul entitii Angajai este prezentat n anex. Tabelul Produse Tabelul Produse conine informaii despre produsele oferite de firm dat i este alctuit din urmtoarele 4 campuri: Cod-produs de tip AutoNumber i este cheie primar; Descriere de tip Text cu dimensiunea 40 simboluri; Pret de tip Currency cu formatul euro; Exist de tip Yes/No. Coninutul entitii Produse este prezentat in anex. Tabelul Tranzacii Tabelul Tranzactii conine informaii despre toate tranzaciile realizate n cadrul firmei respective i este alctuit din urmtoarele 5 campuri: Data comenzii de tip Date/Time cu formatul dat scurt; Codul clientului de tip Text cu dimensiunea 2 simboluri i este cheie extern; Codul vinzatorului de tip Text cu dimensiunea 3 simboluri i este cheie extern; Codul produsului de tip Number cu formatul numr ntreg i este cheie extern; Cantitatea de tip Number cu formatul numr intreg. Coninutul entitii Tranzacii este prezentat in anex PROBLEME Selectarea datelor

1. Proiectai o interogare, ce ar afia denumirea tuturor


companiilor.

2. Proiectai o interogare, ce ar afia localitatea i regiunea tuturor


oficiilor.

3. Proiectai o interogare, ce ar afia coninutul tuturor campurilor


tabelului oficii.

4. Proiectai o interogare, ce ar afia coninutul tuturor campurilor


tabelului produse.

5. Proiectai o interogare, ce ar afia: codul, numele, prenumele i


vrsta tuturor angajailor.

6. Proiectai o interogare, ce ar afia coninutul tuturor campurilor


tabelului companii.

7. Proiectai o interogare, ce ar afia: codul, numele, prenumele


tuturor angajailor.

8. Proiectai o interogare, ce ar afia codul i denumirea tuturor


companiilor.

9. Proiectai o interogare, ce ar afia: codul, numele, prenumele,


funcia i vrsta tuturor angajailor.

10. Proiectai o interogare, ce ar afia coninutul cmpurilor


localitatea i regiunea cu titlurile respective: Localitatea oficiului" i Regiunea oficiului". 1. Proiectai o interogare, ce ar afia: codul, numele, prenumele tuturor angajailor cu titlurile cmpurilor: Cod personal" pentru codul angajatului, Numele angajatului" pentru numele angajatului i Prenumele angajatului" pentru prenumele angajatului.

2. Proiectai o interogare, ce ar afia denumirea companiilor


i datoria lor n ordinea alfabetic dup denumirea companiei.

3. Proiectai o interogare, ce ar afia: numele, prenumele i funcia angajailor n ordinea alfabetic dup nume i prenume. 4. Proiectai o interogare, ce ar afia denumirea companiilor
i datoria lor n ordinea descresctoare dup datorie.

5. Proiectai o interogare, ce ar afia: numele, prenumele,


funcia celor mai tineri 10 angajai.

6. Proiectai o interogare, ce ar afia: numele, prenumele, funcia celor mai vrstnici 10 angajai. 7. Proiectai o interogare, ce ar afia: numele, prenumele,
funcia a 10 angajai cu o vechime mai mare in munc.

8. Proiectai o interogare, ce ar afia denumirea companiei cu cea mai mare datorie. 9. Proiectai o interogare, ce ar afia: numele, prenumele, codul personal i funcia celui mai tnr angajat. 19. Proiectai o interogare, ce ar afia descrierea i preul tuturor produselor ce exist la depozit. 20. Proiectai o interogare, ce ar afia localitile oficiilor regiunii de
nord.

21. Proiectai o interogare, ce ar afia localitile oficiilor regiunii de


sud.

22. Proiectai o interogare, ce ar afia localitile oficiilor regiunii de


centru.

23. Proiectai o interogare, ce ar afia denumirea companiilor ce au


datorii mai mari ca 10 000 euro.

24. Proiectai o interogare, ce ar afia denumirea companiilor ce au


datorii mai mici ca 10 000 euro.

25. Proiectai o interogare, ce ar afia denumirea companiilor ce au


datorii nu mai mici ca 10 000 euro.

26. Proiectai o interogare, ce ar afia denumirea companiilor ce au


datorii nu mai mari ca 10 000 euro.

27. Proiectai o interogare, ce ar afia denumirea companiilor ce nu


au datorii.

28. Proiectai o interogare, ce ar afia: numele, prenumele, funcia


angajailor, crora nu li s-a planificat nimic.

29. Proiectai o interogare, ce ar afia: numele, prenumele, vrsta i


funcia angajailor, crora li s-a planificat mai mult de 10 000 euro.

20. Proiectai o interogare, ce ar afia localitile oficiilor regiunii de


nord sau sud.

21. Proiectai o interogare, ce ar afia localitile oficiilor regiunii de


nord sau centru.

22. Proiectai o interogare, ce ar afia localitile oficiilor regiunii de


centru sau sud.

23. Proiectai o interogare, ce ar afia: numele, prenumele


angajailor a cror nume incepe cu litera v".

24. Proiectai o interogare, ce ar afia: numele, prenumele


angajailor a cror nume se sfrete cu litera a".

25. Proiectai o interogare, ce ar afia: numele, prenumele


angajailor a cror nume conine litera o".

26. Proiectai o interogare, ce ar afia: numele, prenumele i vrsta


celui mai tnr angajat, a crui nume incepe cu litera g".

27. Proiectai o interogare, ce ar afia: numele, prenumele, funcia


angajailor, a cror nume incepe cu literele gr" n ordinea alfabetic dup nume i prenume.

28. Proiectai o interogare, ce ar afia numrul de angajai. 29. Proiectai o interogare, ce ar afia numrul de companii, ce nu au
datorii. Proiectai o interogare, ce ar afia numrul de companii ce au datorii mai mici ca 10 000 euro. 40. Proiectai o interogare, ce ar afia numrul de contabili.

41. Proiectai o interogare, ce ar afia numrul de manageri. 42. Proiectai o interogare, ce ar afia numrul de
reprezentani.

43. Proiectai o interogare, ce ar afia suma datoriilor tuturor


companiilor.

44. Proiectai o interogare, ce ar afia descrierea celui mai scump produs.

45. Proiectai o interogare, ce ar afia descrierea celui mai ieftin produs. 46. Proiectai o interogare, ce ar afia descrierea celui mai
scump produs, ce exist la depozit.

47. Proiectai o interogare, ce ar afia descrierea celui mai ieftin produs, ce exista la depozit. 48. Proiectai o interogare, ce ar afia descrierea celui mai scump produs, ce nu exist la depozit. 49. Proiectai o interogare, ce ar afia descrierea celui mai
ieftin produs, ce nu exist la depozit.

50. Proiectai o interogare, ce ar afia regiunea i numrul de


oficii in fiecare regiune. 51. Proiectai o interogare, ce ar afia: numele, prenumele i funcia angajatului, cruia i s-a planificat cel mai mult.

52. Proiectai o interogare, ce ar afia: numele, prenumele i


funcia angajatului, cruia i s-a planificat cel mai puin.

53. Proiectai o interogare, ce ar afia valoarea medie a datoriilor companiilor. 54. Proiectai o interogare, ce ar afia valoarea medie a datorilor companiilor, ce au datorii mai mari ca 10 000 euro. 55. Proiectai o interogare, ce ar afia numrul de angajai,
ce sunt mai in varst de 30 ani.

56. Proiectai o interogare, ce ar afia numrul de angajai ce sunt mai n vrst de 40 ani sau mai tineri de 25 ani. 57. Proiectai o interogare, ce ar afia: numele, prenumele, funcia i vrsta angajailor, ce sunt mai n vrst de 25 ani i mai tineri de 35 ani. 58. Proiectai o interogare, ce ar afia: numele, prenumele,
funcia, data angajrii managerului cu cea mai mare sum planificat.

10

59. Proiectai o interogare, ce ar afia: numele, prenumele, funcia, data angajrii reprezentantului unei companii cu cea mai mic sum planificat. 60. Proiectai o interogare, ce ar afia regiunea cu cele mai
multe oficii.

61. Proiectai o interogare, ce ar afia regiunea cu cele mai


puine oficii.

62. Proiectai o interogare, ce ar afia: compania, numele i prenumele reprezentantului companiei, in ordinea alfabetic dup nume i prenume. 63. Proiectai o interogare, ce ar afia: compania, numele i
prenumele angajailor, ce reprezint compania i sunt mai tineri de 30 de ani i mai in vrst de 20 ani.

64. Proiectai o interogare, ce ar afia: numele, prenumele


angajailor i localitatea unde activeaz in ordinea alfabetic dup nume i prenume.

65. Proiectai o interogare, ce ar afia: numele, prenumele, funcia, i localitatea angajailor ce sunt manageri intr-un oficiu in ordinea invers alfabetic dup nume i prenume. 66. Proiectai o interogare, ce ar afia descrierea produselor,
ce au fost vndute precum i cantitatea lor.

67. Proiectai o interogare, ce ar afia: numele, prenumele i funcia reprezentanilor unei singuri companii, in ordinea alfabetic a companiilor. 68. Proiectai o interogare, ce ar afia: numele, prenumele i suma planificat a angajailor, care sunt manageri intr-o singur localitate, n ordinea alfabetic dup nume i prenume. 69. Proiectai o interogare, ce ar afia ziua, cand s-au vandut
produse la o sum minimal. 70. Proiectai o interogare, ce ar afia ziua, cand s-a vandut cea mai mic cantitate de produse.

71. Proiectai o interogare, ce ar afia ziua, cand s-au vandut


cea mai mare cantitate de produse.

11

72. Proiectai o interogare, ce ar afia ziua, cand s-au vndut


produse de o sum maximal.

73. Proiectai o interogare, ce ar afia: numele, prenumele, funcia, localitatea angajatului, care a incheiat contractul de cea mai mare sum. 74. Proiectai o interogare, ce ar afia: numele, prenumele,
funcia, localitatea angajatului, care a incheiat contractul de cea mai mic sum.

75. Proiectai o interogare, ce ar afia: numele, prenumele, data angajrii, funcia angajailor de la Soroca in ordinea alfabetic dup nume i prenume. 76. Proiectai o interogare, ce ar afia: numele, prenumele, data angajrii, funcia i regiunea angajatului, care a incheiat contractul de cea mai mic sum. 77. Proiectai o interogare, ce ar afia compania, ce a
incheiat contractul de cea mai mare sum, precum i numele, prenumele reprezentatului ei.

78. Proiectai o interogare, ce ar afia compania ce a incheiat contractul de cea mai mic sum, precum i numele, prenumele reprezentatului ei. 79. Proiectai o interogare, ce ar afia: numele, prenumele, vrsta celui mai tnr reprezentant a unei companii i denumirea companii pe care o reprezint. 80. Proiectai o interogare, ce ar afia: numele, prenumele, varsta celui mai varstnic reprezentant a unei companii i denumirea companii pe care o reprezint. 81. Proiectai o interogare, ce ar afia data realizrii fiecrei
tranzacii diferite, precum i suma de bani acumulat in rezultatul tranzaciei n ordinea cresctoare a datei. o interogare, ce ar afia denumirea companiilor, ce particip la tranzacii i numrul de tranzacii realizate de companie.

82. Proiectai

12

83. Proiectai o interogare, ce ar afia: numele, prenumele i suma de bani acumulat de angajat in ordinea alfabetic dup nume i prenume. 84. Proiectai o interogare, ce ar afia: numele, prenumele, funcia i varsta angajatului care a acumulat cea mai mare sum de bani. 85. Proiectai o interogare, ce ar afia: numele, prenumele, funcia i varsta angajatului care a acumulat cea mai mic sum de bani. 86. Proiectai o interogare, ce ar afia descrierea celui mai
scump produs cumprat de compania Avon. Proiectai o interogare, ce ar afia descrierea celui mai scump produs cumprat de compania Petrom i care exist la depozit. 90. Proiectai o interogare, ce ar afia denumirea companiei, care a incheiat cel mai mare numr de contracte.

91. Proiectai o interogare, ce ar afia denumirea companiei,


ce a incheiat cel mai mic numr de contracte.

92. Proiectai o interogare, ce ar afia denumirea companiei, ce nu a incheiat nici un contract. 93. Proiectai o interogare, ce ar afia: numele prenumele, suma planificat, suma acumulat a angajailor, care au realizat tranzacii, n ordinea alfabetic dup nume i prenume. 94. Proiectai o interogare, ce ar afia: numele, prenumele, diferena dintre suma planificat i suma acumulat a angajailor, care au realizat tranzacii, n ordinea alfabetic dup nume i prenume. 95. Proiectai o interogare ce ar afia: numele, prenumele, funcia angajailor, care au acumulat mai mult decat li s-a planificat, n ordinea alfabetic dup nume i prenume. 96. Proiectai o interogare, ce ar afia: numele, prenumele, funcia angajailor, care au acumulat mai puin decat li s-a planificat n ordinea alfabetic dup nume i prenume.

13

97. Proiectai o interogare, ce ar afia: numele, prenumele, funcia angajailor care au acumulat ct li s-a planificat, n ordinea alfabetic dup nume i prenume. 98. Proiectai o interogare, ce ar afia localitatea oficiului, angajaii cruia au acumulat cea mai mare sum de bani. 99. Proiectai o interogare, ce ar afia localitatea oficiului,
angajaii cruia au acumulat cea mai mic sum de bani.

100. Proiectai o interogare, ce ar afia numele i prenumele managerului oficiului, angajaii cruia au acumulat cea mai mare sum de bani. 101. Proiectai o interogare, ce ar afia numele i prenumele managerului oficiului, angajaii cruia au acumulat cea mai mic sum de bani.
Actualizarea datelor

102. Proiectai o interogare, ce ar introduce in baza de date


un angajat nou cu numele Ciobanu i prenumele Vasile.

103. Proiectai o interogare, ce ar introduce in baza de date


o companie nou cu denumirea Dumbrava Nord, ce are datorii n sum de 3 000 euro.

104. Proiectai o interogare, ce ar introduce in baza de date


un produs nou, ce exist la depozit cu descrierea telefon Nokia 32", cu preul de 105 euro.

105. Proiectai o interogare, ce ar anula datoria companiei


Astra.

106. Proiectai o interogare, ce ar mri suma acumulat a


angajatului Grosu Leonid cu 1 000 euro.

107. Proiectai o interogare, ce ar mri suma acumulat a angajatului Nanu Vasile cu 30%. 108. Proiectai o interogare, ce ar aduga o tranzacie nou,
realizat de Cozma Ion cu compania Zorile, ce a cumprat 10 monitoare LG 17".

109. Proiectai o interogare, ce ar terge din baza de date Marketing angajatul Vrabie Ion.
14

110. Proiectai o interogare, ce ar terge din baza de date


Marketing angajatul, care reprezint compania Zorile.

111. Proiectai o interogare, ce ar modifica numele


angajatului Mutu Livia in Grozavu.

112. Proiectai o interogare, ce ar modifica denumirea companiei Astra in BloomCom, iar codul in BC. 113. Proiectai o interogare, ce ar terge toate tranzaciile realizate pe data de 02.02.2005. 114. Proiectai o interogare, ce ar terge toate tranzaciile cu
compania Basarabia.

115. Proiectai o interogare, ce ar modifica varsta tuturor


angajailor prin mrirea cu un an.

116. Proiectai o interogare, ce ar terge din baza de date angajaii, a cror nume coincide cu numele altor angajai. 117. Proiectai o interogare, ce ar modifica funcia
angajatului Surdu Mihaiela in manager. 107. Proiectai o interogare, ce ar modifica denumirea companiei Bizpro in Bussines Inc. Proiectai o interogare, ce ar aduga un oficiu nou n Otaci a regiunii de nord a crui manager va fi seful. Proiectai o interogare, ce ar terge din baza de date toi angajaii de la Orhei.

108. 109.

110. Proiectai o interogare, ce ar crea un tabel nou cu numele Nord, alctuit din cmpurile: Cod-angajat, Nume, Prenume i ar conine lista angajailor din regiunea de nord a rii.
Proiectai o interogare, ce ar crea un tabel nou cu numele Sud, alctuit din cmpurile: Cod-angajat, Nume, Prenume i ar conine lista angajailor din regiunea de sud a rii. 112. Proiectai o interogare, ce ar crea un tabel nou cu numele Angajatii de nord, alctuit din cmpurile: Cod-angajat, Nume, Prenume Suma planificata i ar conine lista angajailor din regiunea de nord a rii.

111.

15

113. Proiectai o interogare, ce ar crea un tabel nou cu numele Marfa, alctuit din cmpurile: Cod-produs, Descriere, Pret i ar conine lista produselor ce exist la depozit. 114. Proiectai o interogare, ce ar terge din baza de date toi angajaii de la Soroca.
115. Proiectai o interogare, ce tranzaciile realizate pe data de 22.08.2005. Parametrizarea interogrilor ar terge toate

Proiectai o interogare cu un parametru, ce ar afia codul, numele i prenumele angajailor, iar campul nume se va compara dac coincide cu parametrul interogrii.

127.

128. Proiectai o interogare cu doi parametri, ce ar afia codul, numele i prenumele angajailor, iar cmpul nume se va compara dac coincide cu primul parametru, iar prenume cu al doilea parametru.
Proiectai o interogare cu un parametru, ce ar afia codul, descrierea i preul produselor, ce sunt mai ieftine ca parametrul introdus de utilizator.

129.

130. Proiectai o interogare cu un parametru, ce ar afia codul, descrierea i preul produselor, ce sunt mai scumpe ca parametrul introdus de utilizator. 131. Proiectai o interogare cu un parametru, ce ar afia codul, descrierea i preul produselor, ce sunt mai ieftine ca parametrul introdus de utilizator i exist la depozit.
Proiectai o interogare cu un parametru, ce ar afia codul, descrierea i preul produselor, ce sunt mai scumpe ca parametrul introdus de utilizator i nu exist la depozit.

132.

133. Proiectai o interogare cu un parametru, ce ar terge din baza de date angajatul cu numele indicat de utilizator in parametrul interogrii. 134. Proiectai o interogare cu un parametru, ce ar terge din baza de date produsul cu preul indicat de utilizator n parametrul interogrii. LIMBAJUL SQL

16

Introducere Istoria SQL (Structured Query Language) incepe in laboratoarele IBM din San Jose. Iniial a fost dezvoltat pentru produsul DB 2 al IBM. SQL este un limbaj procedural fiind diferit de celelalte limbajele procedurale, ce au fost create in acea perioad. Limbajul de manipulare a datelor (LMD) SQL are o sintax puin diferit de la un sistem de gestiune a bazelor de date (SGBD) la altul. Pentru rezolvarea problemelor din capitolul precedent se va folosi limbajul standard SQL. Standard SQL nu face diferena dintre majuscule i minuscule la scrierea unui cod de instruciune. Cele mai des folosite instruciuni in standard SQL sunt: SELECT, DELETE, INSERT, UPDATE. La scrierea unui cod SQL aceste instruciuni folosesc diferite clauze cum ar fi: TOP, FROM, AS, ORDER BY, GROUP BY, WHERE, SET, INTO, VALUES, etc. Instruciunile i clauzele pot avea un parametru, ce se indic imediat dup denumirea clauzei. In calitate de parametru a unei clauze se poate folosi un numr, un text, un nume de camp, o list de cmpuri, diferite simboluri speciale, operaii aritmetice, expresii logice, operatori logici, funcii. Instruciunea de selecie Instruciunea SELECT permite regsirea i afiarea datelor din BD i are urmtoarea sintax: SELECT listcampuri FROM listtabele Parametrul listcmpuri ne permite s alegem cmpurile, coninutul crora se va afia la ecran, precum i ordinea campurilor. Numele cmpurilor se separ prin virgul i se indic exact aa cum este n tabel. De exemplu: 1. SELECT localitatea, regiunea 2. SELECT nume, prenume, functia 3. SELECT compania Dac numele cmpului este alctuit din dou sau mai multe cuvinte atunci numele cmpului se indic ntre paranteze ptrate. Nu este greeal dac se indic i numele format dintr-un singur cuvnt ntre paranteze ptrate. De exemplu: 1. SELECT compania, [reprezentantul companiei] 2. SELECT nume, [suma planificata], [data angajarii] 3. SELECT [nume], [prenume], [suma planificata]

17

Dac este nevoie de a afia toate campurile unui tabel atunci parametrul listcmpuri este nlocuit printr-un simbol special numit asterisc (*) sau cuvantul cheie ALL. De exemplu: 1. SELECT * 2. SELECT All Parametrul listcmpuri mai poate conine i operaii aritmetice dintre cmpurile numerice i numere folosind parantezele rotunde i operatorii: adunarea +", scderea -", nmulirea *", mprirea /", ridicarea la putere A." Valorile campurilor textuale pot fi concatenate cu un oarecare text, notand operaia de concatenare prin simbolul +". Constantele textuale in SQL sant reprezentate intre simbolurile apostrof: ' ', iar constantele calendaristice intre simbolurile # #. Valoarea logic se scrie TRUE" dac are valoarea adevrat i FALSE" dac are valoarea fals. Pentru numerele reale partea ntreag se separ de cea zecimal prin punct. De exemplu: 1. SELECT nume, prenume, [suma planificata]-100 2. SELECT nume, prenume, ([suma planificata]+100)*2 3. SELECT nume + 'A' 4. SELECT nume, prenume, [suma planificata] *0.5 Parametrul instruciunii SELECT mai poate conine i o funcie statistic cum ar fi: MAX() - valoarea maximal, MIN() valoarea minimal, AVG() - valoarea medie, COUNT() -numrul total, SUM() - suma. Intre parantezele rotunde a funciei se indic numele cmpului. De exemplu: 1. SELECT MAX(virsta) 2. SELECT MIN([suma planificata]) Parametrul listtabele a clauzei FROM se folosete pentru a indica numele tabelului, cmpurile cruia sunt utilizate n instruciunea SELECT. De exemplu: 1.SELECT nume, prenume FROM angajati 2. SELECT * FROM oficii 3. SELECT nume, prenume, [reprezentantul companiei] FROM angajati, companii Modificarea titlului unui camp se face cu ajutorul clauzei AS, ce are sintaxa: SELECT nume-camp1 AS titlul-camp1, nume-camp2 AS titlul-camp2, ..., nume-campN AS titlul-campN FROM listtabele

18

Dac titlul cmpului este alctuit din dou sau mai multe cuvinte atunci se indic ntre paranteze ptrate. De exemplu: 1. SELECT nume AS [numele angajatului], prenume AS [prenumele angajatului] FROM angajati 2. SELECT min(virsta) AS [virsta celui mai tinar angajat] FROM angajati Dac este nevoie de a afia un numr limitat de nregistrri, atunci se utilizeaz clauza TOP, ce are urmtoarea sintax: SELECT TOP numr listcampuri FROM listtabele Parametrul numr a clauzei TOP indic cte nregistrri vor fi afiate. De exemplu: 1.SELECT TOP 10 nume, prenume FROM angajai 2.SELECT TOP 5 localitatea AS [localitati 5] FROM oficii Pentru afiarea datelor dintr-un tabel intr-o anumit ordine este nevoie de a utiliza clauza ORDER BY, care are urmtoarea sintax: SELECT listcmpuri FROM listtabele ORDER BY listcmpuri Parametrul listcmpuri a clauzei ORDER BY indic dup care cmp se vor ordona datele. Dac la sfritul unui camp este cuvantul cheie DESC, atunci sortarea se va face descresctor sau n ordinea invers alfabetic, n caz contrar sortarea este n ordinea alfabetic sau cresctor. De exemplu: 1.SELECT nume, prenume FROM angajati ORDER BY nume 2. SELECT localitatea, regiunea FROM oficii ORDER BY localitatea DESC, regiunea Deseori la folosirea funciilor statistice este nevoie de a grupa datele dup unu sau mai multe campuri i pentru aceasta n SQL se folosete clauza GROUP BY cu urmtoarea sintax: SELECT listcmpuri FROM listtabele GROUP BY listcmpuri Parametrul listcmpuri a clauzei GROUP BY indic dup care cmp se va realiza grupare datelor. De exemplu:

19

1.

SELECT nume, max(virsta) AS virsta FROM angajati GROUP BY nume 2. SELECT COUNT(localitatea) AS [numarul de oficii] FROM oficii GROUP BY regiunea Cel mai des In SQL se folosete afiarea datelor cu anumite condiii. Clauza WHERE a instruciunii SELECT permite afiarea datelor n dependen de condiii i are urmtoarea sintax: SELECT listcmpuri FROM listtabele WHERE condiii Parametrul condiii a clauzei WHERE reprezint o expresie ce compar dou valori, dou cmpuri, un cmp cu o valoare folosind unul din operatorii de comparare: <" mai mic, >" mai mare, <=" mai mic sau egal, >= mai mare sau egal", =" egal, <>" diferit. De exemplu: 1. SELECT nume, prenume FROM angajati WHERE [suma planificata]>10000 2. SELECT localitatea, regiunea FROM oficii WHERE regiunea='nord' Dac condiia este compus, atunci ntre condiii se folosesc operatorii logici: AND - i; OR - sau; NOT - nu. De exemplu: 1. SELECT localitatea, regiunea FROM oficii WHERE NOT regiunea='nord' 2. SELECT nume, prenume FROM angajati WHERE [suma planificata]>10000 AND [suma planificata]<=150000 Dac este nevoie de a afia careva date, valorile cmpurilor crora sunt texte i conin unu sau mai multe simboluri consecutive, atunci se folosete funcia textual LIKE cu urmtoarea sintax: SELECT listcmpuri FROM listtabele WHERE numecamp-textual LIKE 'text' - dac valoarea campului coincide cu textul 'text', sau WHERE numecamp-textual LIKE 'text%' - dac valoarea campului incepe cu textul 'text', sau WHERE numecamp-textual LIKE '%text' - dac valoarea campului se termin cu textul 'text', sau

20

WHERE numecamp-textual LIKE '%text%' - dac valoarea campului conine textul 'text'. De exemplu: 1.SELECT nume, prenume FROM angajati WHERE nume LIKE 'gr%' 2. SELECT localitatea, regiunea FROM oficii WHERE localitatea LIKE 'C%' La afiarea datelor din mai multe tabele trebuie de stabilit legtura dintre tabele. Aceasta se realizeaz folosind clauza WHERE cu urmtoarea sintax: SELECT listcmpuri FROM listtabele WHERE numetabel 1. nume_camp1= nume_tabel2. nume_camp2 AND condiii De exemplu: 1. SELECT nume, prenume, localitatea FROM angajai, oficii WHERE angajati.[codul oficiului]=oficii.[cod-oficiu] 2. SELECT nume, prenume, localitatea, regiunea FROM oficii, angajati WHERE angajati.[codul oficiului]=oficii.[cod-oficiu] AND regiunea='nord' Dac este necesar de a plasa datele selectate de instruciunea SELECT ntr-un tabel nou, care trebuie creat atunci se folosete clauza INTO cu urmtoarea sintax: SELECT listcmpuri FROM listtabele INTO nume_tabel_nou Parametrul nume_tabel_nou a clauzei INTO indic numele tabelului care se va crea, folosind datele din campurile indicate in instruciunea SELECT. Din cele expuse mai sus putem stabili formatul general al instruciunii SELECT. Se vor indica intre paranteze figurate clauzele opionale: SELECT {TOP numr}list_cmpuri {AS titlul_camp} FROM list_tabele {INTO nume_tabel_nou} {WHERE condiie} {GROUP BY listcmpuri} {ORDER BY listcmpuri}

21

Instruciunea de tergere Instruciunea DELETE permite tergerea datelor din BD i are urmtoarea sintax: DELETE FROM nume_tabel Parametrul nume_tabel a clauzei FROM din instruciunea DELETE indic din care tabel se vor terge toate datele. De exemplu: 1.DELETE FROM angajati 2. DELETE FROM oficii Dac este nevoie de a terge numai unele nregistrri, atunci se va utiliza clauza WHERE, ce are urmtoarea sintax: DELETE FROM nume_tabel WHERE condiie Parametrul condiie a clauzei WHERE are aceiai structur ca i cel din clauza WHERE a instruciunii SELECT. La executarea acestei interogri din BD se vor terge toate nregistrrile, ce satisfac condiia din clauza WHERE. Deci formatul general al instruciunii DELETE este: DELETE FROM nume_tabel {WHERE condiie} Clauza WHERE este opional in instruciunea DELETE, de aceia ea se indic intre paranteze figurate. Instruciunea de adugare Instruciunea INSERT permite adugarea datelor in BD i are urmtoarea sintax: INSERT INTO numetabel (listcampuri) VALUES(list_valori) Parametrul nume_tabel a clauzei INTO determin tabelul in care se va face adugarea. Intre paranteze rotunde se indic parametrul listcmpuri, care reprezint numele campurilor tabelului indicat la inceput. Parametrul listvalori a clauzei VALUES se folosete pentru a indica valorile fiecrui cmp n nregistrarea nou. In acest parametru trebuie respectate regulile de scriere a valorilor. Valorile se indic n ordinea in care au fost indicate campurile respective in clauza INTO. Numrul de valori n listvalori este acelai ca i numrul de cmpuri din listcampuri. De exepmlu:

22

1. 2.

INSERT INTO produse(descriere) VALUES ('Telefon Siemens C65') INSERT INTO produse (descriere, pret, exist) VALUES('Telefon Siemens C75',100,TRUE) Deci formatul general al instruciunii INSERT este: INSERT INTO numetabel (listacampuri) VALUES(listavalori) Instruciunea de modificare

Instruciunea UPDATE permite modificarea datelor din BD i are urmtoarea sintax: UPDATE numetabel SET listcampuri-valori Parametrul numetabel determin n care tabel se va realiza modificarea. Clauza SET se folosete pentru nscrierea valorii noi peste cea veche. Parametrul listcmpuri-valori are formatul nume_camp=valoare. De exepmlu: 1.UPDATE Produse SET pret=10 2. UPDATE Produse SET pret=10, exist=true Dac este nevoie de a modifica numai unele date ce satisfac careva condiii, atunci se folosete clauza WHERE cu urmtoarea sintax: UPDATE nume_tabel SET listcmpuri-valori WHERE condiie Parametrul condiie a clauzei WHERE din instruciunea UPDATE este la fel ca i n instruciunea SELECT. De exepmlu: 1. UPDATE Produse SET pret=pret*10 WHERE descriere- CD-R Benq 700MB' 2. UPDATE Produse SET pret=pret/2 WHERE NOT exist-'true' Deci, in urma celor expuse, putem stabili formatul instruciunii UPDATE: UPDATE numetabel SET listcmpuri-valori (WHERE condiie} Clauza WHERE este opional n instruciunea UPDATE, de aceia ea se indic ntre paranteze figurate. Instruciunea de selecie inclus

23

O rspandire foarte larg n SQL le au cererile imbricate, care mai sunt numite cereri incluse. Cererea imbricat este o interogare de selecie, n interiorul creia este inclus o alt interogare de selecie. La proiectarea unei cereri incluse este necesar ca interogarea imbricat s returneze valori dintr-un singur camp. Interogarea imbricat este o comparare de tipul apartenenei la o mulime. O valoare se compar cu o coloan de date, returnat de interogarea inclus. Dac aceast valoare coincide cu o valoare din coloan, atunci se afieaz cmpurile indicate in interogarea principal. O cerere imbricat are urmtoarea sintax: SELECT listcmpuri FROM listtabele WHERE numecamp IN (SELECT numecamp FROM numetabel) De exemplu: 1. SELECT nume, prenume FROM angajati WHERE [codul oficiului] IN (SELECT [cod-oficiu] FROM oficii WHERE localitatea='Beltsy') 2. SELECT nume, prenume,virsta FROM angajati WHERE [codul oficiului] IN (SELECT [cod-oficiu] FROM oficii WHERE regiunea<>'sud') Dac interogarea inclus returneaz o singur valoare, atunci in loc de cuvantul cheie IN se poate utiliza un operator relaional. De exemplu: 1. SELECT nume, prenume FROM angajati WHERE [codul oficiului]=(SELECT [cod-oficiu] FROM oficii WHERE localitatea='Beltsy') 2. SELECT nume, prenume, virsta FROM angajati WHERE [codul oficiului]<>(SELECT [cod-oficiu] FROM oficii WHERE localitatea='Soroca') Parametrizarea interogrilor

24

La activarea unei instruciuni de selecie la ecran, de obicei apare un tabel care afieaz informaia bazei de date conform coninutului instruciunii SELECT. La activarea unei instruciuni de actualizare cum ar fi tergerea datelor, modificarea datelor, inserarea datelor sau crearea unui tabel la ecran apare un mesaj care ne anun c interogarea s-a executat cu succes i cte nregistrri au fost actualizate. Rezultatul instruciunilor de afiare i actualizare a datelor, poate depinde de unele valori ce pot fi modificate la fiecare lansare a interogrii. Aceste valori se numesc parametri sau variabile, iar interogrile ce conin astfel de valori se numesc interogri parametrizate. Pentru a parametriza o interogare se folosete cuvntul cheie PARAMETERS, care se indic la nceputul instruciunii i are urmtoarea sintax: PARAMETERS lista_parametrilor Lista_parametrilor indic valorile ce vor fi introduse nainte de afiarea sau actualizarea datelor i sunt separate prin virgul. Dac parametrul este alctuit din dou sau mai multe cuvinte, atunci el se indic ntre paranteze ptrate. Dac este un singur cuvant atunci parantezele ptrate pot fi neglijate. Dup indicarea parametrului trebuie de specificat tipul de date a parametrului. De exemplu: 1. PARAMETERS [indica numele persoanei cautate] TEXT 2. PARAMETERS nume TEXT, prenume TEXT 3. PARAMETERS [coeficientul de majorare] NUMBER Parametrul declarat de instruciunea PARAMETERS poate fi folosit n codul instruciunii ca o valoare constant n clauza WHERE a instruciunii sau la descrierea unui camp calculat. Valoarea parametrului este constant pe toat perioada de execuie a instruciunii. De exemplu: 1. PARAMETERS numele TEXT SELECT nume, prenume FROM angajati WHERE nume=numele 2. PARAMETERS [majorarea pretului] NUMBER UPDATE produse SET pret=pret*[majorarea pretului]

RSPUNSURI

25

n continuare se va prezenta n form de tabele rspunsurile la problemele bazate pe selectarea datelor. Problema 1: Compania Auto Lada Asito______ Astra______ Avon Basarabia Bizpro Cascad Floribel Floarea InLac______ Knauf______ Luck Oil Patria______ Petrom TransCom Tirex Tutun Ind Vitanta Zorile_______ Problema 2: Localitatea Regiunea Beltsy nord Kishinew centru Cahul sud Edinets nord Glodeni nord Orhei centru Localitatea Regiunea Rezina nord Soroca nord Ungheni centru

26

Problema 3: Cod-oficiu Localitatea Regiunea Codul managerului BL Beltsy nord ML C Kishinew centru VD CH Cahul sud HI ED Edinets nord ML GL Glodeni nord ML OR Orhei centru LV RZ Rezina nord SD SR Soroca nord BN UN Ungheni centru VD Problema Cod-produs Descriere Pret Exist Cod-produsDescrierePretExist1Monitor LG 35.50 False 4: 17 Monitor Samtron 15" 17"100.00True2Monitor Samsung 18 Televizor Alfa 51cm 15"50.00False3Televizor 100.40 True JVS 54cm280.00False4Procesor Pentium 19 Televizor Polar 54cm 200.00 False 4130.00True5Procesor 20 Filtru SvenCeleron 220V 2000125.00True6Mouse 3.75 True Genius optic4.00False7Mouse Logitech 21 Telefon Siemens A55 85.00 True

optic5.00True8Televizor Sony 72cm485.00False9DVD Sony 5075.00False10DVD Sony 32-16-32135.00True11CD-R Benq 700MB0.10True12CD-RW Benq 700MB0.25True13Tastiera Logitech alba6.75True14Tastiera Logitech neagra9.75False15Monitor Samsung 17"85.50True16Monitor Samsung 21"109.50False

Problema 5: Cod-angajat BC BN CI DE DR FE FN GC GI GL GM

Nume Bucataru Bucur Cozma Dodon Dutca Frumosu Florea Grosu Gomoja Grosu Grosu

Prenume Constantin Nicolae Ion Elena Radion Emilia Nicoleta Corina Ilie Leonid Mihai

Virsta 31 27 20 34 33 37 23 19 32 23 42

27

GT HI LA LV ML MS NV PI RD SA SD SM VD VI Cod-companie

Graur Harea Lungu Lisnic Mutu Mutu Nanu Prisacaru Rusu Speriatu Spada Surdu Vieru Vrabie Compania

AL AS AT AV BA BI CA FL FB IL KN LO PA PE TC TI TU VT ZO Problema 7: Cod-angajat GC_________ BC_________ GI_________ BN_________ CI_________ DE_________ DR_________ _FE________ FN_________

Teodor Igor Alexandru Vladimir Livia Sorina Vasile Inga Dorina Ana Doru Mihaiela Dorin Ion Reprezentantul companiei Auto Lada NV Asito PI Astra PI Avon GC Basarabia GC Bizpro PI Cascad GI Floarea GL Floribel GL InLac GI Knauf PI Luck Oil NV Patria DR Petrom NV TransCom MS Tirex NV Tutun Ind GL Vitanta GI Zorile GT

35 25 43 29 38 35 45 27 35 31 29 25 32 42 Datoria 7 500.00 26 000.00 14 780.00 12 000.00 0.00 13 050.00 12 300.00 0.00 600.00 1 000.00 0.00 13 000.00 500.00 50 000.00 6 000.00 5 000.00 1 000.00 800.00 22 890.00

28

Nume Bucataru Bucur Cozma Dodon

Prenume Dutca Constantin Frumosu Nicolae Florea Ion Grosu Elena Gomoja

Radion Emilia Nicoleta Corina Ilie

CodangajatNumePrenumeGLGrosuLeonidGM GrosuMihaiGTGraurTeodorHIHareaIgorL ALunguAlexandruLVLisnicVladimirML MutuLiviaMSMutuSorinaNVNanuVasileP IPrisacaruIngaRDRusuDorinaSASperiatu AnaSDSpadaDoruSMSurduMihaielaVDVi eruDorinVIVrabieIon

Problema 8:

Cod-companie AL AS AT AV BA BI CA FB FL IL KN LO PA PE

Compania Auto Lada Asito Astra Avon Basarabia Bizpro Cascad Floribel Floarea InLac Knauf Luck Oil Patria Petrom

29

Problema Cod9: angajatNumePrenumeFunctiaVirstaBCBucataruConstantinco

20DEDodonElenacontabil34DRDutcaRadionreprezentant33F EFrumosuEmiliacontabil37FNFloreaNicoletareprezentant23G CGrosuCorinareprezentant19GIGomojaIliereprezentant32GL GrosuLeonidreprezentant23GMGrosuMihaisef42GTGraurTe odorreprezentant35HIHareaIgormanager25LALunguAlexand rusef adjunc43LVLisnicVladimirmanager29MLMutuLiviamanager 38MSMutuSorinareprezentant35NVNanuVasilereprezentant4 5PIPrisacaruIngareprezentant27RDRusuDorinareprezentant3 5SASperiatuAnacontabil31SDSpadaDorumanager29SMSurd uMihaielareprezentant25VDVieruDorinmanager32VIVrabieI oncontabil42 Cod-companie
Compania TC TransCom TI Tirex TU Tutun Ind VT Vitanta ZO Zorile Localitatea Regiunea Problema 11: oficiului oficiului Beltsy Kishinew Cahul Edinets Glodeni Orhei Rezina Soroca Ungheni

nord centru sud nord nord centru nord nord centru

Cod Numele Prenumele personal angajatului angajatului BC Bucataru Constantin BN Bucur Nicolae CI Cozma Ion DE Dodon Elena DR Dutca Radion FE Frumosu Emilia FN Florea Nicoleta GC Grosu Corina GI Gomoja Ilie GL Grosu Leonid GM Grosu Mihai GT Graur Teodor HI Harea Igor LA Lungu Alexandru LV Lisnic Vladimir ML Mutu Livia MS Mutu Sorina NVNanuVasile Cod Numele Prenumele personal angajatului angajatului PI Prisacaru Inga

30

RD SA SD SM VD VI Problema 12: Compania Asito Astra Auto Lada Avon Basarabia Bizpro Cascad Floarea Floribel InLac Knauf Luck Oil Patria Petrom Tirex TransCom Tutun Ind Vitanta Zorile Problema 13: Nume Bucataru Nume Bucur Cozma Dodon Dutca Florea Frumosu Gomoja Graur Grosu Grosu Grosu Harea Lisnic Lungu

Rusu Speriatu Spada Surdu Vieru Vrabie

Dorina Ana Doru Mihaiela Dorin Ion

Datoria 26 000.00 14 780.00 7 500.00 12 000.00 0.00 13 050.00 12 300.00 0.00 600.00 1 000.00 0.00 13 000.00 500.00 50 000.00 5 000.00 6 000.00 1 000.00 800.00 22 890.00 Prenume Constantin Prenume Nicolae Ion Elena Radion Nicoleta Emilia Ilie Teodor Mihai Leonid Corina Igor Vladimir Alexandru Functia contabil Functia manager reprezentant contabil reprezentant reprezentant contabil reprezentant reprezentant sef reprezentant reprezentant manager manager sef adjunc

31

Mutu Livia manager Mutu Sorina reprezentant Nanu Vasile reprezentant Prisacaru Inga reprezentant Rusu Dorina reprezentant Spada Doru manager Speriatu Ana contabil Surdu Mihaiela reprezentant Vieru Dorin manager Vrabie Ion contabil Problema 14: Compania Datoria Petrom 50 000.00 Asito 26 000.00 Zorile 22 890.00 Astra 14 780.00 Bizpro 13 050.00 Luck Oil 13 000.00 Compania Datoria Cascad 12 300.00 Avon 12 000.00 Auto Lada 7 500.00 TransCom 6 000.00 Tirex 5 000.00 Tutun Ind 1 000.00 InLac 1 000.00 Vitanta 800.00 Floribel 600.00 Patria 500.00 Basarabia 0.00 Knauf 0.00 Floarea 0.00 Problema 15: Nume Prenume Functia Grosu Corina reprezentant Cozma Ion reprezentant Grosu Leonid reprezentant Florea Nicoleta reprezentant Surdu Mihaiela reprezentant Harea Igor manager Bucur Nicolae manager Prisacaru Inga reprezentant Spada Doru manager Lisnic Vladimir manager ema 16:

32

Nume Prenume Nanu Vasile Lungu Alexandru Grosu Mihai Vrabie Ion Mutu Livia Nume Prenume Frumosu Emilia Rusu Dorina Graur Teodor Mutu Sorina Dodon Elena ema 17: Nume Prenume Lungu Alexandru Grosu Mihai Vieru Dorin Nanu Vasile Frumosu Emilia Mutu Livia Dutca Radion Dodon Elena Surdu Mihaela Grosu Leonid Problema 18:

Functia reprezentant sef adjunc sef contabil manager Functia contabil reprezentant reprezentant reprezentant contabil Functia sef adjunc sef manager reprezentant contabil manager reprezentant contabil reprezentant reprezentant Compan ia Petrom

Problema 19: Nume Prenume Codul personal Grosu Corina GC Problema 20: Descriere Pret Monitor LG 17" 100.00 Procesor Pentium 4 130.00 Procesor Celeron 2000 125.00 Mouse Logitech optic 5.00 DVD Sony 32-16-32 135.00 CD-R Benq 700MB 0.10 CD-RW Benq 700MB 0.25 Descriere ____________________ Tastiera Logitech alba Monitor Samsung 17" Televizor Alfa 51cm

Functia reprezentant

" F il t r

33

u Sven 220V Telefon Siemens A55 Problema 21: ______________ Localitatea Beltsy Edinets Glodeni Rezina Soroca Problema 22: ______________ Localitatea Cahul Problema 23: Localitatea Kishinew Orhei Ungheni Problema 24: ______________ Compania Asito ___________ Astra ___________ Avon Bizpro Cascad Luck Oil Petrom Zorile

Pret 6.75 85.50 100.40 3.75 85.00

Problema 27:

Problema 26:

34

Compania Auto Lada Basarabia Floribel Floarea InLac Knauf Patria TransCom Tirex Tutun Ind Vitanta Compania Asito Astra Avon Bizpro Cascad Luck Oil Petrom Zorile Compania Auto Lada Basarabia Floribel Floarea InLac Knauf Patria TransCom

35

Problema 25:

Compania Tirex Tutun Ind Vitanta Problema 2: Compania Basarabia Floarea Knauf Problema 29: Nume Bucataru Dodon Frumosu Grosu Lungu Speriatu Vrabie Prenume Constantin Elena Emilia Mihai Alexandru Ana Ion Functia contabil contabil contabil sef sef adjunc contabil contabil Functia manager reprezentant manager manager manager reprezentant manager

Problema : Nume Prenume Bucur Nicolae Graur Teodor Harea Igor Mutu Livia Spada Doru Surdu Mihaela Vieru Dorin Problema 31:

Virsta 27 35 25 29 25 32

Localitatea Beltsy Cahul Edinets Glodeni Localitatea Rezina Soroca Problema 32: Localitatea Beltsy Kishinew Edinets Glodeni Orhei

36

Problema 33:

Rezina Soroca Ungheni ______________ Localitatea Kishinew Cahul Orhei Ungheni

Problema 34:

Prenum e Dorin
Nume Vrabie Ion Vieru

Problema 35:
Nume Prenume Cozma Ion Dutca Radion Florea Nicoleta Gomoja Ilie Harea Igor Spada Doru Nume Prenume Cozma Ion Dodon Elena Frumosu Emilia Florea Nicoleta Grosu Corina Gomoja Ilie Grosu Leonid Grosu Mihai Problema 37: Nume Prenume Grosu Corina

Virsta 19

Problema 38: NumePrenumeFunctiaGraurTeodorrepreze ntantGrosuCorinareprezentantGrosuLeonid reprezentantGrosuMihaisef

Problema 39:

37

Problema 25:

Problema 40:

Problema 41: Problema 42:

Rezultat ______25 Rezultat _______3 Rezultat ______ 1J_ Rezultat Rezultat ________6_ _____________ Rezultat _______12_ ________________ Rezultat 186 420.00 Descriere____________ Televizor Sony 72cm

Problema 44:

Problema 45: Problema 46:

Problema 47: Descriere____________ CD-R Benq 700MB Problema 48:______________________ Descriere____________ DVD Sony 32-16-32 Problema 49:______________________ Descriere____________ CD-R Benq 700MB Problema 50: Descriere____________ Televizor Sony 72cm Problema 51: Descriere____________ Mouse Genius optic Problema 52: Regiunea Numarul de localitati centru 3 nord 5 Sud 1

38

NumePrenumeFunctiaVieruDorinmana gerlema 54:NumePrenumeFunctiaVrabieIoncon tabilFrumosuEmiliacontabilGrosuMiha isefBucataruConstantincontabilSperiat uAnacontabilDodonElenacontabilLung uAlexandrusef adjunc

Problema 55:
Rezultat 9 811.58 ______________ Rezultat 20 502.50 _____________ Rezultat _______15_ Rezultat

Problema 56:

Problema 57:

Problema 58:

Problema 59: NumePrenumeFunctiaVirstaBucataruConstan tincontabil31BucurNicolaemanager27Dodon Elenacontabil34DutcaRadionreprezentant33G omojaIliereprezentant32LisnicVladimirmana ger29PrisacaruIngareprezentant27

________8_

39

Problema 25:

NumePrenumeFunciaVirstaSperiatuAnacontabil31Spad aDorumanager29VieruDorinmanager32Problema 60:NumePrenumeFunciaData angajriiVieruDorinmanager08.02.1998Problema 61:NumePrenumeFunciaData angajariiGrosuCorinareprezentant04.04.2000Problema 62:

Regiune a nord
Problema 63 : ____________ Regiunea

Problema 64: CompaniaNumePrenumePatriaDutcaRadio nInLacGomojaIlieVitantaGomojaIlieCasca dGomojaIlieZorileGrauTeodorAvonGrosu CorinaBasarabiaGrosuCorinaFloribelGrosu LeonidFloareaGrosuLeonidTutun IndGrosuLeonidTransComMutuSorinaLuc k OilNanuVasileAuto LadaNanuVasilePetromNanuVasileTirexN anuVasile

sud______

40

CompaniaNumePrenumeBizproPrisacaruIn gaAstraPrisacaruIngaAsitoPrisacaruIngaKn aufPrisacaruInga

Problema 65:

Compania Nume Asito Prisacaru Astra Prisacaru Bizpro Prisacaru Floribel Grosu Floarea Grosu Knauf Prisacaru Tutun Ind Grosu Problema 66: Nume Prenume Bucataru Constantin Bucur Nicolae Cozma Ion Dodon Elena Dutca Radion Florea Nicoleta Frumosu Emilia Gomoja Ilie Graur Teodor Grosu Corina Grosu Leonid Grosu Mihai Harea Igor Lisnic Vladimir Lungu Alexandru Mutu Livia Mutu Sorina

Prenume Inga Inga Inga Leonid Leonid Inga Leonid Localitatea Soroca Soroca Orhei Edinets Glodeni Beltsy Edinets Cahul Soroca Rezina Edinets Kishinew Cahul Orhei Kishinew Beltsy Ungheni

41

Problema 25:

Problema DescriereCantitatea totalaCD-R Benq 68: 700MB24CD-RW Benq 700MB22DVD Sony 502Filtru Sven 220V9Monitor Samsung 15"3Monitor Samsung 17"15Monitor Samsung 21"11Monitor Samtron 15"13Mouse Genius optic2Mouse Logitech optic5Procesor Celeron 200021

Nume Prenume Localitatea Nanu Vasile Kishinew Prisacaru Inga Ungheni Rusu Dorina Orhei Spada Doru Rezina Speriatu Ana Glodeni Surdu Mihaiela Beltsy Vieru Dorin Kishinew Vrabie ma 67:IonRezin a Nume Prenume Localitatea Vieru Dorin Ungheni Vieru Dorin Kishinew Spada Doru Rezina Mutu Livia Glodeni Mutu Livia Edinets Mutu Livia Beltsy Lisnic Vladimir Orhei Harea Igor Cahul Bucur Nicolae Soroca

42

DescriereCantitatea totalaProcesor Pentium 414Tastiera Logitech alba20Tastiera Logitech neagra28Telefon Siemens A555Televizor Alfa 51cm11Televizor JVS 54cm13Televizor Polar 54cm8Televizor Sony 72cm4

Problema 69:

G r a u r TeodorreprezentantDutcaRadionreprezentantProble ma 70: Nume Prenume Suma planificata Bucur Nicolae 28 000.00 Harea Igor 22 000.00 Lisnic Vladimir 351.00 Spada Doru 18 000.00 Problema 71: Data comenzii 03.03.2005 Problema 72: Data comenzii 02.02.2005 22.02.2005 02.03.2005 Problema 73: Data comenzii 16.08.2005 03.01.2005

Nume Prenume Functia Mutu Sorina

reprezentant

43

Problema 74:

Data

comenzii

Problema NumePrenumeFunctiaLocalitateaFloreaNicoletareprezenta 75: ntBeltsyProblema 76:NumePrenumeFunctiaLocalitateaGomojaIliereprezentan tCahulProblema 77:NumePrenumeData angajariiFunctiaBucataruConstantin18.01.2001contabilBuc urNicolae31.01.2001managerGraurTeodor18.08.2004repre zentant

Problema 78:
24.05.2005 ~

NumePrenumeGomoja Ilie Problema 79:


13.07.2005 reprezentant sud Compania Nume Prenume Astra Prisacaru Inga Problema 80: Compania Nume Prenume Cascad Gomoja Ilie Problema 81: Nume Prenume Virsta Compania Grosu Corina 19 Avon Grosu Corina 19 Basarabia Data comenzii Suma de bani Problema 01.01.2005 25.00 82: NumePrenumeVirstaCompaniaNanuVasile4 01.01.2005 342.00 5TirexNanuVasile45PetromNanuVasile45L uck OilNanuVasile45Auto Lada 03.01.2005 0.75 03.01.2005 117.00 14.01.2005 684.00 18.01.2005 0.75 31.01.2005 0.20 31.01.2005 87.75

44

Problema 74:

02.02.2005 11.02.2005 11.02.2005 22.02.2005 02.03.2005 03.03.2005 04.03.2005 12.03.2005 12.03.2005 26.03.2005 26.03.2005 04.04.2005 14.04.2005 18.04.2005 18.04.2005 18.04.2005 01.05.2005 24.05.2005 24.05.2005 13.06.2005 13.06.2005 16.06.2005 04.07.2005 Data comenzii 11.07.2005 16.07.2005 16.07.2005 08.08.2005 08.08.2005 16.08.2005 16.08.2005 20.09.2005 20.09.2005 10.10.2005 10.10.2005 11.11.2005 12.11.2005 12.11.2005 19.11.2005 12.12.2005

0.50 150.00 170.00 13.50 71.00 0.30 29.25 39.00 485.00 2.50 1 455.00 0.50 20.25 280.00 803.20 7.50 255.00 2 800.00 400.00 74.25 150.00 876.00 0.50 Suma de bani 256.50 301.20 1 430.00 1 125.00 0.40 1 500.00 106.50 8.00 328.50 26.25 0.50 1 200.00 1.00 390.00 284.00 560.00

45

Problema 74:

12.12.2005 27.00 Problema 84: Compania Numarul de tranzacii Asito 2 Astra 4 Auto Lada 1 Avon 1 Bizpro 1 Cascad 3 Floarea 3 Floribel 2 InLac 2 Knauf 1 Luck Oil 2 Patria 5 Petrom 4 Compania Numarul de tranzactii Tirex 1 TransCom 1 Tutun Ind 5 Vitanta 6 Zorile 4 Problema 85: Nume Prenume Suma acumulata Bucataru Constantin 803.20 Bucur Nicolae 1 446.00 Cozma Ion 1 900.00 Dodon Elena 1 126.75 Florea Nicoleta 2 970.00 Gomoja Ilie 599.95 Grosu Corina 1 605.60 Grosu Leonid 27.75 Harea Igor 191.75 Lisnic Vladimir 351.00 Mutu Livia 1 437.50 Mutu Sorina 26.75 Nanu Vasile 473.50 Prisacaru Inga 2 243.80 Rusu Dorina 309.20 Spada Doru 1 231.75 Surdu Mihaiela 170.75

46

Problema NumePrenumeFunctiaVirstaFloreaNicolet 86: areprezentant233roblema 87:NumePrenumeFunctiaVirstaMutuSorin areprezentant35

Problema 74:

Descrierea___________ Televizor Polar 54cm Problema 89: _____________________ Descrierea__________ Procesor Pentium 4 Problema 90: _______________ Compania Vitanta Problema 91: Compania Knauf_______ Auto Lada Avon_______ TransCom Tirex_______ Bizpro Problema 92: _______________

NumePrenumeSuma planificataSuma acumulataMutuSorina3 Problema 500.0026.75NanuVasile4 500.00473.50PrisacaruInga2 750.002 NumePrenumeSuma planificataSuma 93: 243.80RusuDorina3 500.00309.20SpadaDoru18 000.001 acumulataBucataruConstantin0.00803.20BucurNicolae28 231.75SurduMihaiela20 000.00170.75 000.001 416.75CozmaIon2 000.001 900.00DutcaRadion3 250.001 126.50FloreaNicoleta2 500.002 970.00GomojaIlie3 250.00599.95GrosuCorina1 900.001 605.40GrosuLeonid2 500.0027.75HareaIgor22 Problema 000.00191.75LisnicVladimir351.00351.00MutuLivia15 000.001 94: 437.50

Nume Bucataru Bucur Cozma Dutca Florea Gomoja Grosu Grosu

Compania Basarabia Prenume Diferenta Constantin -803.20 Nicolae 26 583.25 Ion 100.00 Radion 2 123.50 Nicoleta -470.00 Ilie 2 650.05 Corina 294.6 Leonid 2 472.25

47

Problema : 96 NumePrenumeFunctiaBucurNicolaemanag er

Problema 74:

Harea Lisnic Mutu Mutu Nanu Prisacaru Rusu Spada Surdu ema 95: Nume Bucataru Florea

Igor Vladimir Livia Sorina Vasile Inga Dorina Doru Mihaiela


3

21 808.25 0.00 13 562.50 3 473.25 4 026.50 506.20 3 190.80 16 768.25 19 829.25 Functia contabil reprezentant

renume Constantin Nicoleta

NumePrenumeFunctiaCozmaIonreprezenta ntDutcaRadionreprezentantGomojaIlierepr ezentantGrosuCorinareprezentantGrosuLe onidreprezentantHareaIgormanagerMutuLi viamanagerMutuSorinareprezentantNanuV asilereprezentantPrisacaruIngareprezentant RusuDorinareprezentantSpadaDorumanage rSurduMihaielareprezentant

Nume Lisnic Problema 98: Problema 99:

Problema 97:

Prenume Vladimir Localitatea Beltsy Localitatea Edinets

Functia manager 1

Problema 100: Nume Prenume Mutu_______Livia Problema 101: Nume_______Prenume Mutu_______Livia

48

Problema 74:

ANEX

PRODUSE Cod-produsDescrierePretExist1Monitor LG 17"100.00True2Monitor Samsung 15"50.00False3Televizor JVS 54cm280.00False4Procesor Pentium 4130.00True5Procesor Celeron 2000125.00True6Mouse Genius optic4.00False7Mouse Logitech optic5.00True8Televizor Sony 72cm485.00False9DVD Sony 5075.00False10DVD Sony 3216-32135.00True11CD-R Benq 700MB0.10True12CD-RW Benq 700MB0.25True13Tastiera Logitech alba6.75True14Tastiera Logitech neagra9.75False15Monitor Samsung 17"85.50True16Monitor Samsung 21"109.50False17Monitor Samtron 15"35.50False18Televizor Alfa 51cm100.40True19Televizor Polar 54cm200.00False20Filtru Sven 220V3.75True21Telefon Siemens A5585.00True

49

OFICI Cod-oficiuLocalitateaRegiuneaCodul I manageruluiBLBeltsynordMLCKishinewcentruVDCHCahuls udHIEDEdinetsnordMLGLGlodeninordMLOROrheicentruL VRZRezinanordSDSRSorocanordBNUNUnghenicentruVD

COMPANI Cod-companieCompaniaReprezentantul I companieiDatoriaALAuto LadaNV7 500.00ASAsitoPI26 000.00ATAstraPI14 780.00AVAvonGC12 000.00BABasarabiaGC0.00BIBizproPI13 050.00CACascadGI12 300.00FBFloribelGL600.00FLFloareaGL0.00ILInLacGI1 000.00KNKnaufPI0.00LOLuck OilNV13 000.00PAPatriaDR500.00PEPetromNV50 000.00TCTransComMS6 000.00TITirexNV5 000.00TUTutun IndGL1 000.00VTVitantaGI800.00ZOZorileGT22 890.00

50

ta " 's C NumePrenumea t

ANGAJAT I

>FunctiaCodul oficiuluiData angajariiSuma planificataBCBucataruConstantin31contabilSR18.01.20010BNBucurNicol ae27managerSR31.01.200128 000CICozmaIon20reprezentantOR17.11.20012 000DEDodonElena34contabilED20.02.20000DRDutcaRadion33reprezenta ntGL12.12.19993 250FEFrumosuEmilia37contabilED12.02.19980FNFloreaNicoleta23reprez entantBL13.06.20002 500GCGrosuCorina19reprezentantRZ04.04.20001 900GIGomojaIlie32reprezentantCH13.07.20053 250GLGrosuLeonid23reprezentantED28.03.20002 500GMGrosuMihai42sefC07.02.19980GTGraurTeodor35reprezentantSR1 8.08.200435 000HIHareaIgor25managerCH30.03.200322 000LALunguAlexandru43sef adjuncC07.02.19980LVLisnicVladimir29managerOR13.09.2001351MLM utuLivia38managerBL09.02.199915 000MSMutuSorina35reprezentantUN06.04.20043 500NVNanuVasile45reprezentantC09.02.19984 500PIPrisacaruInga27reprezentantUN18.03.20012 750RDRusuDorina35reprezentantOR18.09.20013 500SASperiatuAna31contabilGL15.01.20030SDSpadaDoru29managerRZ 12.01.200318 000SMSurduMihaiela25reprezentantBL12.03.200020 000VDVieruDorin32managerC08.02.199880 000VIVrabieIon42contabilRZ18.10.20020
Data comenzii 01.01.2005 01.01.2005 03.01.2005 03.01.2005 14.01.2005 18.01.2005 31.01.2005 31.01.2005 02.02.2005 11.02.2005 11.02.2005 22.02.2005 Codul clientului BI IL VT ZO VT TI CA VT PE LO TI TI TRANZACTI I Codul Codul vinzatorului produsului NV 7 PI 15 HI 14 GI 12 BN 15 GL 12 GI 11 BN 14 SM 12 SM 2 FN 21 NV 13 Cantitatea

5 4 12 3 8 3 2 9 2 3 2 2

51

02.03.2005 03.03.2005 04.03.2005 12.03.2005 12.03.2005 26.03.2005 26.03.2005 04.04.2005 14.04.2005 18.04.2005 18.04.2005 18.04.2005 01.05.2005 24.05.2005 24.05.2005 13.06.2005 13.06.2005 16.06.2005 Data comenzii 04.07.2005 11.07.2005 16.07.2005 16.07.2005 08.08.2005 08.08.2005 16.08.2005 16.08.2005 20.09.2005 20.09.2005 10.10.2005 10.10.2005 11.11.2005 12.11.2005 12.11.2005 19.11.2005 12.12.2005 12.12.2005

AL FL TI FL VT AS PA AT FL AS PE TC ZO AT AV AT PA FB Codul clientului ZO TI FB ZO LO PA CA VT KN PA AT VT PE PA PE CA IL TI

LV PI SD PI GI GC SD DR SM LV BC ML BN FN CI GC HI PI

17 11 14 8 14 8 12 11 13 3 18 20 21 3 19 9 13 16

Codul Codul vinzatorului produsului HI 11 PI 15 RD 18 ML 4 DR 5 GC 11 CI 5 NV 17 RD 6 NV 16 MS 11 MS 20 SD 19 DR 12 BN 4 PI 17 GL 13 GI 3 BIBLIOGRAFIE

2 3 3 1 4 3 10 5 3 1 8 2 3 10 2 2 11 8 Cantitatea 5 3 3 11 9 4 12 3 2 3 5 7 6 4 3 8 4 2

1.

Vasile Florescu. Baze de date: fundamente teoretice i practice. Bucureti: Editura Infomega, 2002. - 548p. 2. Vasile Florescu. Baze de date: organizare, proiectare i implementare. Bucureti: Editura Economic, 1995. -348p. 3. Ion Lungu. Baze de date: organizare, proiectare i implementare. Bucureti: Editura All, 1995. - 354p.

52

4.

Robert Dollinger. Baze de date i gestiunea tranzaciilor. Cluj - Napoca: Editura Albastr, 2000. -304p. 5. . Microsft SQL - Server 21 . : M, 2001. -704. 6. Pascu Corina. Totul despre SQL: interogarea bazelor de date. Bucureti: Editura Tehnic, 1994. - 159p. 7. Vasile Florescu. Baze de date: concepere prin normalizare, dezvoltare i utilizare folosind Microsoft Access, interogare n SQL. Bucureti: Editura Economic, 1999. 352p. 8. . Microsoft SQL - Server 2000: . : DiaSoft, 2001. 688. 9. . Microsoft SQL - Server 7 . , , 2000. - 896.

53

S-ar putea să vă placă și