Upload
truongtuong
View
280
Download
8
Embed Size (px)
Citation preview
UNIVERSITATEA DE STAT „B. P. HASDEU” DIN CAHUL
LIMBAJUL SQL: exemple și aplicații
Indicații metodico-didactice
Svetlana BÎRLEA
CAHUL, 2015
2
CZU 004.655.3(076.5)
B 54
Aprobată spre publicare de către Comisia Metodico-
Științifică a Universității de Stat „B.P.Hasdeu” din Cahul,
proces verbal nr. 1 din 12.11.2015 în calitate de indicații
metodico-didactice pentru studeții specialităților: Informatică și
Informatică-Matematică.
Recenzenţi:
Braicov Andrei, doctor conferențiar universitar, decan al
Facultății de Fizică, Matematică și Tehnologii Informaționale,
Universitatea de Stat din Tiraspol.
Bîclea Diana, doctor, conf. univ. interim., Universitatea
de Stat „B.P. Hasdeu din Cahul”.
Velicova Tatiana, doctor, Universitatea de Stat din
Comrat.
ISBN 978-9975-88-005-3.
Universitatea de Stat „Bogdan Petriceicu Hasdeu” din Cahul
Limbajul SQL: exemple și aplicații: Indicații metodico-
didactice / Svetlana Bîrlea. – Cahul: Universitatea de Stat
"Bogdan Petriceicu Hasdeu" din Cahul, 2015 (Tipogr.
"Centrografic"). – 43 p.
Bibliogr.: p. 37. – 150 ex.
ISBN 978-9975-88-005-3.
004.655.3(076.5)
B 54
3
CUPRINS
PREFAȚĂ ................................................................................ 4
I. PREZENTAREA BAZEI DE DATE „UNIVERSITATE”
................................................................................................... 4
1.1. Crearea tabelelor și declararea atributelor prin
comenzi SQL ............................................................................ 8
1.2. Modificarea structurii tabelelor ...................................... 9
1.3. Ștergerea tabelelor ......................................................... 11
1.4. Aplicații practice ............................................................ 11
II. INSERAREA, MODIFCAREA ȘI ȘTERGEREA
LINIILOR .............................................................................. 12
2.1. Comanda INSERT ......................................................... 12
2.2. Comanda DELETE ........................................................ 13
2.3. Comanda UPDATE ........................................................ 14
2.4. Aplicații practice ............................................................ 15
III. EXTRAGEREA INFORMAȚIILOR DIN BAZA DE
DATE (FRAZA SELECT) .................................................... 17
3.1. Opțiunea ORDER BY .................................................... 19
3.2. Operatorii BETWEEN, LIKE, IN ................................ 21
3.3. Funcții-agregat: SUM, COUNT, AVG, MAX, MIN ... 25
3.4. Clauza GROUP BY ........................................................ 26
3.5 Clauza HAVING ............................................................. 27
3.6. Aplicații practice ............................................................ 28
IV. LUCRU INDIVIDUAL................................................... 35
BIBLIOGRAFIA ................................................................... 37
ANEXE ................................................................................... 38
4
PREFAȚĂ
Sistemele de calcul au fost utilizate încă din anii 1950 în
scopul stocării și procesării datelor. Conceptul de bază de date
a apărut în a doua jumătate a anilor 1960. În prezent, bazele de
date constituie principala modalitate de stocare și gestionare a
datelor în cadrul sistemelor informatice.
Informatica de gestiune a impus dezvoltarea şi
diversificarea rapidă a Sistemelor de Gestiune a Bazelor de
Date (S.G.B.D.) şi a condus la realizarea unui număr
impresionant de aplicaţii informatice cu baze de date.
Sistemele şi aplicaţiile informatice cu baze de date sunt
utilizate azi în orice domeniu de activitate și constituie o
tehnologie de infrastructură esențială pentru mediul de faceri
modern.
Lucrarea SQL exemple și aplicații are menirea de a
consolida cunoștințele teoretice și formarea aptitudinilor
practice în ceea ce privește crearea şi utilizarea bazelor de date
prin intermediul limbajului SQL (Structured Query Language).
În ziua de azi, limbajul standard SQL reprezintă nucleul
dezvoltării aplicațiilor ce utilizează baze de date. Astfel,
obiectivul principal al lucării este pregătirea studenților în
domeniul proiectării și utilizării bazelor de date în diferite
domenii economico-sociale.
Lucrarea dată este structurată în 4 compartimente.
Primele trei compartimente din lucrare conțin partea teoretică
(noțiuni generale), exemple rezolvate, precum și sunt propuse
aplicații practice pentru lucrări de laborator. În ultimul
compartiment se propune lucrul individual care va constitui
portofoliul studentului la disciplina Baze de Date.
Considerăm că indicațiile din lucrare vor fi utile
studenţilor şi profesorilor specializaţi în informatică, economie,
baze de date etc., cît și celor care doresc să cunoască limbajul
SQL.
5
I. PREZENTAREA BAZEI DE DATE „UNIVERSITATE”
Pentru facilitarea realizării obiectivelor și sarcinilor
propuse în lucrarea dată, vom crea și utiliza baza de date –
„UNIVERSITATE”. Astfel, vom utiliza cu precădere baza de
date UNIVERSITATE, în calitate de „cobai” sau bază de date
„martor”.
Baza de date UNIVERSITATE este proiectată pentru
evidența reușitei studenților. Deci, ea trebuie să conțină notele
studenților la toate disciplinele din sesiunea de examene,
precum și informații despre studenți, profesori și disciplinele
studiate. Pentru a stoca informația vom folosi modelul
relațional de reprezentare a datelor. Acest model stochează
datele în unu sau mai multe tabele (entități, relații) între care
există relații de tip unu-la-mulți (1-n ).
Este necesar, mai întîi de toate, să identificăm entitățile
bazei de date, cît și atributele entităților. O atenție deosebită
trebuie acordată și atributelor PRIMARY KEY, pentru
identificarea unică a înregistrărilor dintr-un tabel.
În cazul nostru structura bazei de date va fi următoarea:
STUDENȚI [Idstud, Grupa, Nume, Prenume, Annast, Adresa,
Tel]
DISCIPLINA [Iddiscip, Dendiscip, Nrore, Nrcrdite, Idprof]
PROFESOR [Idprof, Nume, Prenume, Titlust, Gradst,
Idcatedra]
CATEDRA [Idcatedra, Dencatedra, sefcatedra]
REUSITA [Idr, Idstud, Iddiscip, Nota, Dataexam]
Numele coloanelor ce alcătuiesc cheia primară sunt
subliniate cu o linie continuă.
În figura 1. este prezentat modelul relațional al bazei de
date UNIVERSITATE.
6
Figura 1. Modelul relațional al bazei de date
UNIVERSITATE.
Tabelul STUDENȚI conține informații generale despre
studenți. Fiecare linie din tabel descrie un student. Atributele
sunt:
Idstud – codul studentului;
Grupa – denumirea grupei în care este înmatriculat
studentul;
Nume – numele studentului;
Prenume – prenumele studentului;
Annast – anul nasterii studentului;
Adresa – adresa studentului;
Tel – numărul de telefon al studentului;
Tabelul DISCIPLINA conține informații generale despre
disciplinele studiate. Fiecare linie din tabel descrie o disciplină.
Atributele sunt:
Iddiscip – codul disciplinei;
Dendiscip – denumirea disciplinei;
Nrore – numărul total de ore, conform planului de
studii;
Nrcredite – numărul de credite, conform planului de
studii;
7
Idprof – codul profesorului.
Tabelul PROFESOR conține informații generale despre
profesori. Fiecare linie din tabel descrie un profesor. Atributele
sunt:
Idprof – codul profesorului;
Nume – numele profesorului;
Prenume – prenumele profesorului;
Titlust – titlul științific;
Gradst – gradul științific;
Idcatedra – codul catedrei unde activează cadrul
didactic.
Tabelul CATEDRA conține informații generale despre
profesori. Fiecare linie din tabel descrie o catedră. Atributele
sunt:
Idcatedra – codul catedrei unde activează cadrul
didactic.
Dencatedra – denumirea catedrei;
Prenume – prenumele profesorului;
Sefcatedra – șeful de catedră.
Tabelul REUSITA conține informații generale despre
rezultatele obținute de studenți la sesiunea de examinare, adică
ce note au primit la fiecare disciplină în sesiune. Atributele
sunt:
Idr – codul reușitei.
Idstud – codul studentului;
Iddiscip – codul disciplinei;
Nota – nota obținută la examen;
Dataexam – data susținerii examenului.
8
1.1. Crearea tabelelor și declararea atributelor prin
comenzi SQL
Principalele comenzi SQL care se regăsesc, într-o formă
sau alta, în multe SGBD-uri actuale sunt:
Comenzi pentru definirea bazei de date:
CREATE table – adaugă un nou tabel în baza de date;
DROP table - șterge un tabel din baza de date;
ALTER table – modifică structura unui tabel;
RENAME table – redenumeste tabelul cu un nume nou.
Comenzi pentru manipularea datelor:
SELECT – permite extragerea datelor din baza de date;
INSERT – adăugarea de noi linii (înregistrări) în tabele;
DELETE - ștergerea liniilor din tabele;
UPDATE – modificarea valorilor unor atribute (cîmpuri).
În cele ce urmează, vom da exemple de creare a tabelelor
și modificare a structurii lor.
Comanda SQL utilizată pentru crearea unei tabele este
CREATE table. Sintaxa simplificată pentru această comandă
este următoarea:
CREATE table <nume tabelă> (
<coloana_1> <tip de dată>,
<coloana_2> <tip de dată>,
<coloana_3> <tip de dată>,
...............................................
<coloana_n> <tip de dată>,
[alte restricții])
Tipurile de date utilizate în SQL sunt: int sau integer,
char sau varchar, smallint, numeric, float, date, time.
Pentru crearea unui tabel și declararea atributelor
acestuia, comanda CREATE table are, în cazul tabelului
Studenți următoarea formă:
9
CREATE table Studenți(
Idstud int not null primary key,
Grupa varchar(15),
Nume varchar(35),
Prenume varchar(35),
Annast int,
Adresa varchar(50),
Tel integer);
Cheia primară a unei tabele este definită de clauza primary
key, care poate fi plasată fie imediat după atributul-cheie (ca în
exemplul precedent), fie după descrierea ultimului atribut al
tabelei.
Exemplul 1:
CREATE table Studenți(
Idstud integer not null,
Grupa varchar(15),
Nume varchar(35),
Prenume varchar(35),
Datanast date,
Adresa varchar(50),
Tel integer,
Primary key(Idstud));
1.2. Modificarea structurii tabelelor
Structura unei tabele poate fi modificată ulterior, în
sensul că este posibil să adăugăm o coloană nouă în tabelă, să
ștergem o coloană existentă din tabelă, sau să modificăm
specificațiile (de tip, de restricții etc.) ale unei coloane
existente.
Comanda dedicată modificării tabelelor în SQL este
ALTER table:
ALTER table <nume-tabelă> ADD/MODIFY/DROP
<nume-coloană> specificații...
10
Adăugarea unui nou atribut (coloane): Instabsolv
(instituția absolvită) în tabelul Studenți se realizează astfel:
ALTER table Studenți ADD Instabsolv varchar(50)
Coloanele noi, adăugate prin intermediul comenzii
ALTER table se adaugă la sfîrșitul tabelei, în cazul nostru
coloana Instabsolv se va adăuga la sfîrșitul tabelei Studenți și
anume după cîmpul Tel.
Schimbarea tipului de date a unei coloane deja existente
în tabel poate fi modificat doar în cazul cînd în coloana
respectivă încă nu s-au introdus date.
Pentru eliminarea coloanei Instabsolv adăugate anterior
se folosește:
ALTER table Studenți DROP column Instabsolv
În cazul cînd la crearea tabelelor nu s-au definit
restricțiile, atunci ele de asemenea pot fi adăugate (s-au
eliminate) cu comanda ALTER table:
Eliminarea restricției primary key din tabelul Studenți:
ALTER table Studenți DROP primary key
Adăugarea restricției primary key după crearea tabelei sau
reinstituirea ei după ce a fost dezactivată:
ALTER table Studenți ADD primary key(Idstud)
În acest caz coloanele primary key trebuie să fi fost definite
anterior astfel încît să nu accepte valoarea NULL.
11
1.3. Ștergerea tabelelor
Comanda de ștergere a unei tabele este DROP table.
Înainte de a elimina o tabelă din baza de date trebuie să ne
asigurăm ca ea nu mai conține înregistrări.
Sintaxa acestei comenzi este:
DROP table <nume-tabelă>
Pentru a șterge din baza de date UNIVERSITATE tabela
Studenți se realizează astfel:
DROP table Studenți
1.4. Aplicații practice
1. Creați tabela Disciplina din baza de date UNIVERSITATE
utlizînd comanda CREATE table.
2. Creați tabela Profesor din baza de date UNIVERSITATE
utlizînd comanda CREATE table.
3. Creați tabela Catedra din baza de date UNIVERSITATE
utlizînd comanda CREATE table.
4. Creați tabela Reușita din baza de date UNIVERSITATE
utlizînd comanda CREATE table.
5. Modificați structura tabelei Profesor, adăugînd coloana
Stagiu.
6. Modificați structura tabelei Profesor, adăugînd coloana
Annastere.
7. Modificați structura tabelei Catedra, adăugînd coloana
Adresa.
8. Modificați structura tabelei Profesor, adăugînd coloana
Email.
9. Eliminați coloana Stagiu din tabela Profesor.
10. Eliminați coloana Annastere din tabela Profesor.
11. Eliminați coloana Adresa din tabela Catedra.
12. Eliminați restricția primary key din tabela Catedra.
13. Reinstituiți restricția primary key în tabela Catedra.
12
II. INSERAREA, MODIFCAREA ȘI ȘTERGEREA
LINIILOR
Limbajul SQL prezintă comenzi dedicate modificării
conținutului unei tabele, înțelegînd prin aceasta 3 acțiuni prin
care se actualizează baza de date:
adăugarea de noi linii (înregistrări în tabelă);
ștergerea unor linii;
modificarea valorii unui atribut (coloane, cîmp).
utilizînd următoarele comenzi de manipulare a datelor:
INSERT, DELETE și UPDATE.
2.1. Comanda INSERT
Comanda SQL de adăugare de noi linii în tabelă este
INSERT, care are, în modul de lucru cel mai simplu, următorul
format:
INSERT into <nume-tabelă>
Values (valoare-atribut1, valoare-atribut2,...)
Valorile se introduc în conformitate cu lista coloanelor
precizată la crearea tabelei respective, lista valorilor trebuie să
fie completă.
Exemplul 1:
INSERT into Studenți values
(1,’IT14’,’Ursachi’,’Daniel’,1998,’Gotesti’,78987542);
În cazul cînd un cîmp de tip integer nu conține nici o
valoare, atunci se va scrie NULL, iar dacă este de tip text se va
lăsa spațiu.
Exemplul 2:
INSERT into Studenți values
(2,’IT14’,’Levitchi’,’Iulia’,1997,”,NULL);
După rularea comenzii INSERT din ambele exemple, tabela
STUDENȚI va arăta astfel:
13
Idstud Grupa Nume Prenume Annast Adresa Tel
1 IT14 Ursachi Daniel 1998 Gotesti 78987542
2 IT14 Levitchi Iulia 1997
Un alt mod de introducere a datelor în tabele este prin
specificarea coloanelor:
INSERT into <nume-tabelă> [(atribut1, atribut2,...)]
Values (valoare-atribut1, valoare-atribut2,...)
Exemplul 3:
INSERT into Studenți (Idstud, Grupa, Nume, Prenume, Annast,
Adresa, Tel)
Values
(3,’IT14’,’Roman’,’Alexandru’,1998,’Cahul’,65287542);
2.2. Comanda DELETE
Comanda SQL pentru ștergerea uneia sau mai multe linii
dintr-o tabelă este DELETE. Fromatul general al acestei
comenzi este:
DELETE
FROM <nume-tabela>
WHERE <condiție>
Astfel, din tabelă vor fi șterse toate liniile care îndeplinesc
condiția specificată în predicatul din clauza WHERE.
În cazul cînd nu se specifică nici o condiție sunt șterese toate
liniile tabelei.
Exemplul 1:
Din tabela Studenti să se elimine studenții născuți în anul
1998.
DELETE
FROM Studenți
WHERE anul=1998
14
Exemplul 1:
Din tabela Studenti să se elimine studenții din Cahul născuți
după anul 1996.
DELETE
FROM Studenți
WHERE Adresa=’Cahul’ and Annast>1996.
2.3. Comanda UPDATE
Pentru a modifica valoare unuia sau mai multor atribute
pe una sau mai multe linii dintr-o tabelă, se folosește comanda
UPDATE cu formatul general (simplificat):
UPDATE <nume-tabela>
SET atribut=valoare
[WHERE condiție]
Drept urmare, sunt actualizate toate liniile din tabelă pentru
care este satisfăcută condiția specificată în clauza WHERE. În
cazul cînd nu se specifică nici o condiție se actualizează toate
liniile tabelei. Noile valori sunt date de clauza SET.
Exemplul 1:
În urma comasării grupelor academice, se decide modificarea
denumirii grupei din IT14 în IM14 pentru toți studenții.
UPDATE Studenți
SET Grupa=’IM14’
Exemplul 2:
Modificați numele studentului cu Idstud=2 din Levitchi în
Ciobanu.
UPDATE Studenți
SET Nume=’Ciobanu’
WHERE Idstud=2
15
Exemplul 3:
Noul număr de telefon al studentului Roman este 079384568.
Să se opereze modificarea în baza de date.
UPDATE Studenți
SET Tel=079384568
WHERE Nume=’Roman’
2.4. Aplicații practice
I. Inserarea liniilor în tabele
1. Introduceți datele în tabela Disciplina din baza de date
UNIVERSITATE.
2. Introduceți datele în tabela Profesor din baza de date
UNIVERSITATE.
3. Introduceți datele în tabela Catedra din baza de date
UNIVERSITATE.
4. Introduceți datele în tabela Reușita din baza de date
UNIVERSITATE.
II. Ștergerea liniilor
1. Eliminați din baza de date disciplinele predate de profesorul
Munteanu Ivan.
2. Eliminați din baza de date toți studenții care s-au născut în
orașul Leova.
3. Eliminați din baza de date toți studenții care s-au născut
după anul 1997.
4. Eliminați din baza de date toate disciplinele cu numărul de
ore mai mic de 120 ore.
5. Eliminați din baza de date toate disciplinele de 4 credite.
6. Eliminați din baza de date toti profesorii de la catedra de
Informatică și Matematică.
7. Efectuați 3 comenzi diferite de ștergere a datelor dintr-o
tabelă a bazei de date UNIVERSITATE, după criteriile alese
de Dvs.
III. Modificarea valorilor unor atribute
1. Noua adresa a studenților din grupa IM14 este
[email protected]. Să se opereze modificarea în baza de date.
16
2. Modificați denumirea disciplinei cu codul 4 din Statistica în
Statistica Economică.
3. Efectuați 5 comenzi de modificare a datelor din baza de date
UNIVERSITATE, condiția de modificare o specificați Dvs.
17
III. EXTRAGEREA INFORMAȚIILOR DIN BAZA DE
DATE (FRAZA SELECT)
Procesul de extragere a informațiilor dintr-o bază de date
se numește interogare. Realizarea unei interogări în limbajul
SQL se realizează prin intermediul frazei SELECT.
O clauză SELECT are un format pe cît de simplu pe atît
de flexibil. Formatul general al clauzei SELECT poate fi
reprezentat astfel:
SELECT [DISTINCT] lista_rezultat
FROM tabela sau tabele
[WHERE conditie]
[GROUP BY coloana1, coloana2….]
[HAVING conditie_de_grup]
[ORDER BY coloana1 [ASC|DESC],…]
După cum se observă doar clauzele SELECT și FROM sunt
obligatorii, celelalte fiind opționale.
La modul general și cel mai simplist, o consultare simplă
în SQL poate fi reprezentată astfel:
SELECT C1,C2,…, Cn
FROM R1, R2,…, Rm
WHERE condiție
În clauza SELECT se desemnează lista de atribute (coloane)
din rezultat. Clauza FROM este cea în care sunt enumerate
tabelele (relațiile) din care vor fi extrase informațiile. În clauza
WHERE se specific condiția de selecție. Astfel, prin execuția
unei fraze SELECT se obține un rezultat de formă tabelară.
C1, C2,…, Cn – reprezintă coloanele rezultat;
R1, R2,…, Rm – sunt relațiile ce trebuie parcurse pentru
obținerea rezultatului;
Dacă în locul coloanelor C1, C2,…, Cn, apare simbolul
*, rezultatul va fi alcătuit din toate coloanele relațiilor
18
specificate în clauza FROM. Coloanele din tabela rezultat
preiau denumirea din tabela/tabelele specificate în FROM.
Schimbarea denumirii coloanei se realizează prin clauza AS.
În limbajul SQL, liniile identice (dublurile) din rezultat
nu se elimină automat. Pentru a elimina liniile duplicat se
folosește clauza DISTINCT care apare între cuvîntul SELECT
și lista de elemente ale rezultatului:
SELECT DISTINCT C1,C2,…, Cn
FROM R1, R2,…, Rm
WHERE condiție
Exemplul 1: Selectați toată informația din tabela Studenți.
SELECT *
FROM Studenți
Exemplul 2: Selectați toată informația din tabela Profesor.
SELECT *
FROM Profesor
Exemplul 3: Selectați studenții din Cahul.
SELECT Nume, Prenume, Adresa
FROM Studenți
WHERE Adresa=’Cahul’
Exemplul 4: Selectați disciplinele cu numărul de credite mai
mare de 4.
SELECT *
FROM Disciplina
WHERE Nrcredite>4
Exemplul 4: Selectați studenții născuți în anul 1999 și 2002.
SELECT *
FROM Studenți
WHERE Annast=1999 or Annast=2003
19
3.1. Opțiunea ORDER BY
În practică, ordinea de prezentare a rezultatelor este
importantă. În SQL există posibilitatea de sortare a
înregistrărilor în funcție de necesitățile utilizatorilor.
Ordonarea înregistrărilor (liniilor) în rezultatul unei
interogări este posibilă prin clauza ORDER BY. Aceasta este
ultima clauză a frazei SELECT, care poate conține nume de
coloane, aliasuri de coloane.
Exemplul 1: Să se obțină lista studenților în ordine alfabetică.
SELECT*
FROM Studenți
ORDER BY Nume
Aranjarea se va face implicit crescător (ASC). Prin
opțiunea DESC, ordinea prezentării se inversează, adică va fi în
ordine descrescătoare. Cum am menționat anterior, se pot
specifica mai multe coloane care să servească drept criterii
suplimentare de ordonare. La valori egale ale primului atribut,
intră în acțiune criteriul de „balotaj”, care este al doilea atribut
etc.
Exemplul 2: Să se obțină, în ordinea descrescătore a adresei,
lista studenților în ordine crescătoare.
SELECT Idstud, Adresa, Nume, Prenume
FROM Studenți
ORDER BY Adresa DESC, Nume ASC
20
Idstud Adresa Nume Prenume
8 Telenești Manole Valeriu
7 Telenești Rotari Andrei
29 Taraclia Balan Victor
27 Taraclia Miron Valeriu
28 Taraclia Tulum Alexei
4 Leova Butnaru Ion
22 Leova Chihai Maria
19 Leova Lavric Stelia
23 Leova Para Ion
6 Leova Pascal Lidia
12 Leova Stoica Mihai
21 Gotești Chihai Andrei
9 Gotești Onica Nina
2 Gotești Ursachi Daniel
13 Gotești Zaharia Inga
31 Cimișlia Eni Vera
30 Cimișlia Vieru Sergiu
17 Cantemir Dandeș Gheorghe
18 Cantemir Iacob Nicolae
10 Cantemir Para Ana
15 Cantemir Vulpe Iurie
3 Cahul Blaja Maria
25 Cahul Ciobanu Ion
5 Cahul Drangoi Elena
1 Cahul Levitchi Iulia
26 Cahul Miron Petru
11 Cahul Muchi Dumitru
20 Cahul Petcu Oleg
14 Cahul Roman Iulia
16 Cahul Roman Alexandru
24 Cahul Zaharia Ana
Figura 3.1. Două criterii de ordonare
21
3.2. Operatorii BETWEEN, LIKE, IN
Prin utilizarea clauzei WHERE se poate specifica o
condiție de selecție. Pentru formularea condițiilor de selecție,
SQL permite utilizarea operatorilor obișnuiți: <, >, =, ≠, ≤, ≥;
conectori logici: AND (pentru și), OR (pentru sau), NOT
(pentru negație, inversarea condiției).
Pe lîngă operatorii menționați mai sus, SQL permite și
utilizarea altor operatori, dintre care ne vom opri la BETWEEN
(între, cuprins între), LIKE (ca și, la fel ca), IN (în), la care se
adaugă IS NULL.
Operatorul BETWEEN
Este util pentru definirea intervalelor. Utilizarea
operatorului BETWEEN este echivalentă cu utilizarea
operatorilor obișnuiți: >=, AND,<= , care se utilizează pentru
selectarea valorilor dintr-un interval.
Exemplul 1: Selectați lista studenților născuți în perioada
1995-2000.
SELECT*
FROM Studenți
WHERE Annast >= 1995 AND Annast <= 2000
Formatul general și simplist de utilizare a operatorului
BETWEEN este următorul:
BETWEEN valoare inferioară AND valoare superioară
Exemplul 2: Selectați lista studenților născuți în perioada
1995-2000 (utilizînd operatorul BETWEEN).
SELECT*
FROM Studenți
WHERE Annast BETWEEN 1995 AND 2000
22
Operatorul BETWEEN poate fi utilizat atît pentru cîmpuri ce
conțin valori numerice, cît și pentru cîmpuri cu date de tip text
(șir de caractere).
Exemplul 3: Să se obțină în ordine descrescătoare lista
studenților cu adresa cuprinsă între Cahul și Gotești.
SELECT Idstud, Adresa, Nume, Prenume
FROM Studenți
WHERE Adresa BETWEEN 'Cahul’ AND 'Gotești'
ORDER BY Nume DESC
Idstud Adresa Nume Prenume
13 Gotești Zaharia Inga
24 Cahul Zaharia Ana
15 Cantemir Vulpe Iurie
30 Cimișlia Vieru Sergiu
2 Gotești Ursachi Daniel
14 Cahul Roman Iulia
16 Cahul Roman Alexandru
20 Cahul Petcu Oleg
10 Cantemir Para Ana
9 Gotești Onica Nina
11 Cahul Muchi Dumitru
26 Cahul Miron Petru
1 Cahul Levitchi Iulia
18 Cantemir Iacob Nicolae
31 Cimișlia Eni Vera
5 Cahul Drangoi Elena
17 Cantemir Dandeș Gheorghe
25 Cahul Ciobanu Ion
21 Gotești Chihai Andrei
3 Cahul Blaja Maria
Figura 3.2. Operatorul BETWEEN aplicat atributelor șir de
caractere
23
Operatorul LIKE
Nu întotdeauna cînd dorim să obținem o anumită
informație din baza de date cunoaștem valoarea exactă, suntem
în postura de a nu ști cu exactitate cum se numește un student,
client, un oarecare produs etc. Această situația se întîmplă, cel
mai des, cînd baza de date conține un număr foarte mare de
valori. Anume pentru asemenea situații se utilizează operatorul
LIKE.
LIKE permite compararea unui atribut (exprsii) cu un
literal utilizînd o „mască” construită cu ajutorul specificatorilor
multipli ”%” și ”_” . procentul substituie un șir de lungime
variabilă, 0 – n caractere, în timp ce liniuța (underscore)
substituie un singur caracter.
Exemplul 1: Să se obțină lista studenților al căror nume este
format din 8 caractere.
SELECT*
FROM Studenți
WHERE Nume LIKE '________'
Exemplul 2: Să se obțină lista studenților al căror nume
începe cu litera B.
SELECT*
FROM Studenți
WHERE Nume LIKE 'B%
Exemplul 3: Să se obțină lista studenților al căror nume are
litera d pe a treia poziție.
SELECT*
FROM Studenți
WHERE Nume LIKE '__d%'
Exemplul 4: Să se obțină lista studenților în a căror adresă
apare măcar odată litera m.
SELECT*
FROM Studenți
24
WHERE Adresa LIKE '%m%'
Operatorul IN
Operatorul IN indică apartenența la o mulțime de valori.
Atunci cînd se testează dacă valoarea unui atribut se încadrează
sau nu într-o listă de valori, în locul folosirii abundente a
operatorului OR este indicat să utilizăm operatorul IN.
Formatul general al operatorului IN:
valoare_atribut IN (expresie1, expresie2,...)
Rezultatul unei cereri ce conține operatorul IN va fi adevărat
dacă valoare_atribut va fi egală cu cel puțin una din valorile
expresie1, expresie2,...
Exemplul 1: Să se obțină lista studenților din Cahul, Telenești
și Leova (fără operatorul IN).
SELECT*
FROM Studenți
WHERE Adresa = 'Cahul' OR Adresa = 'Telenești' OR
Adresa = 'Leova'
Exemplul 2: Să se obțină lista studenților din Cahul, Telenești
și Leova (cu operatorul IN).
SELECT*
FROM Studenți
WHERE Adresa IN( 'Cahul','Telenești','Leova')
Exemplul 3: Care sunt studenții născuți în anul 1995, 1998 și
2001.
SELECT*
FROM Studenți
WHERE Annast IN(1995,1998,2001)
Se întîlnesc situații cînd la completarea bazei de date,
unui student nu i se cunosc adresa, numărul de telefon etc.,
astfel pe una sau mai multe linii aceste atribute au valoarea
NULL.
25
Operatorul IS NULL a fost introdus pentru asemenea
situații, de a extrage toate valorile NULL pentru un anumit
atribut.
Exemplul 4: Pentru care studenți nu se cunoaște adresa?
SELECT*
FROM Studenți
WHERE Adresa IS NULL
3.3. Funcții-agregat: SUM, COUNT, AVG, MAX, MIN
Funcțiile-agregat sunt funcții care returnează o singură
valoare pentru un grup de linii dintr-un tabel. Formatul general
al unei fraze SELECT ce conține funcții-agregat (funcții de
grup) este:
SELECT funcția-predefenită1, funcția-predefinită2,...
FROM listă tabele
WHERE condiție
Drept rezultat al unei astfel de cereri se va obține o singură
linie.
Principalele funcții-agregat sunt:
Funcția COUNT(x) – care returnează numărul de valori
nenule ale expresiei x sau numărul de linii dintr-un rezultat al
unei interogări. Dacă x este precedat de cuvîntul DISTINCT
atunci funcția COUNT returnează numărul de valori distincte și
nenule ale expresiei x.
Dacă utilizăm: COUNT(*), atunci vom obține numărul
de înregistrări din grup.
Exemplul 1: Afișați numărul studenților.
SELECT COUNT (*) AS NumarStudenți
FROM Studenți
Prezența * ca argument al funcției COUNT are ca efect
numărarea liniilor tabelei Studenți.
26
Exemplul 2: Afișați numărul studenților cu nume diferite.
SELECT COUNT (DISTINCT Nume) AS NumeDiferite
FROM Studenți
Funcția SUM – este una dintre cele mai utilizate funcții în
aplicațiile economice. Această funcție întoarce suma valorilor
unei expresii.
Exemplul 3: Afișați numărul total de ore la toate disciplinele
din tabela DISCIPLINA.
SELECT SUM (Nrore) AS TotalOre
FROM Disciplina
Exemplul 4: Afișați cîte discipline sunt de 6 credite și care
este numărul lor total de ore.
SELECT COUNT(Dendiscip) AS Numardiscipline,
SUM(Nrore) AS TotalOre
FROM Disciplina
WHERE Nrcredite=6
Funcția AVG – calculează media artimetică a unei coloane,
într-o tabelă oarecare.
Funcția MIN– determină valoare minimă dintr-un atribut.
Funcția MAX – determină valoare maximă dintr-un atribut.
Exemplul 6: Afișați valoare minimă și valoarea maximă
pentru coloana Annast.
SELECT MIN(Annast), MAX(Annast)
FROM Studenți
3.4. Clauza GROUP BY
Clauza GROUP BY permite gruparea datelor dintr-o
tabelă și obținerea informațiilor despregrupurile diferite.
Rezultatul unei farze SELECT ce conține această clauză se
obține prin regruparea tuturor liniilor din tabelele enumerate în
27
FROM, extrăgîndu-se cîte o apariție pentru fiecare valoare
distinctă a coloanei/grupului de coloane.
Este important de reținut faptul că toate cîmpurile care
apar în SELECT, în afara funcțiilor-agregat, trebuie să apară în
clauza GROUP BY.
Formatul general al clauzei GROUP BY este:
SELECT coloana1, coloana2,...
FROM tabelă sau tabele
GROUP BY coloana-de-regrupare
Exemplul 1: Afișați numărul de studenți din fiecare localitate.
SELECT COUNT(Nume) AS Numărstudenți, Adresa
FROM Studenți
GROUP BY Adresa
Exemplul 2: Să se obțină numărul de studenți pentru fiecare
an.
SELECT COUNT(Nume) AS Numărstudenți, Annast
FROM Studenți
GROUP BY Annast
3.5 Clauza HAVING
În cazul cînd dorim să obținem doar o parte din grupurile
obținute prin utilizarea clauzei GROUP BY trebuie să utilizăm
clauza HAVING. Clauza HAVING este WHERE-ul ce operează
la nivel de grupuri, adică permite specificarea unor condiții de
selecție care se aplică grupurilor de linii create prin clauza
GROUP BY.
Exemplul 1: Să se afișeze localitățile pentru care avem cel
puțin 5 studenți.
SELECT COUNT(Nume) AS Numărstudenți, Adresa
FROM Studenți
GROUP BY Adresa
HAVING (COUNT(Nume)=>5)
Exemplul 2: Care sunt anii pentru care avem cîte 2 studenți.
28
SELECT COUNT(Nume) AS Numărstudenți, Annast
FROM Studenți
GROUP BY Annast
HAVING (COUNT(Annast)=2)
Exemplul 3: Care sunt disciplinele care au mai mult de 75
ore.
SELECT MAX(Nrore) AS Numărore, Dendiscip
FROM Disciplina
GROUP BY Dendiscip
HAVING (MAX(Nrore)=>75)
3.6. Aplicații practice
Realizați următoarele interogări:
1. Afișați toate înregistrările din tabela Studenți.
2. Afișați anul nasterii și adresa studenților.
3. Afișați toate înregistrările din tabela Profesori.
4. Afișați toate înregistrările din tabela Disciplina.
5. Din ce localități vin studenții?
6. Afișați datele despre studenții din grupa IM14?
7. Afișați toate datele despre studentul Roman Alexandru.
8. Afișați lista studenților din grupa IT14 și IMA14.
9. În ce grupă studiază elevii din Cahul?
10. Afișați lista disciplinelor cu numărul de ore mai mic de
120 ore.
11. Cîte credite are disciplina Algebra?
12. Afișați lista studenților născuți pînă în anul 1998.
13. La ce catedra activează profesorii: Bîrlea și Bunea?
Order BY
14. Afișați lista catedrelor în ordine alfabetică.
15. Să se obțină în ordine descrescătoare a anului nasterii, lista
adreselor în ordine crescătoare a denumirii.
29
16. Să se obțină în ordine alfabetică a adreselor, lista
studenților în ordine descrescătoare a numelui.
17. Să se obțină în ordine descrescătoare a numărului de ore
lista disciplinelor.
18. Afișați în ordine descrescătoare lista disciplinelor cu
numarul de credite mai mare de 4.
19. Să se obțină în ordine alfabetică lista studenților din Cahul
și Gotești, născuți după anul 1998.
20. Să se obțină în ordine crescătoare a codului disciplinei,
lista disciplinelor în ordine crescătoare.
21. Afișați în ordine descrescătoare lista catedrelor.
22. Afișați în ordine decrescătoare a numelui lista profesorilor
de la catedra EMAS.
23. Afișați în ordine descrescătoare lista șefilor de catedră.
24. Afișați în ordine alfabetică a denumirii disciplinei, numele
profesorilor.
Operatorii BETWEEN, LIKE, IN
25. Afișați lista studenților născuți în perioada 1997-2001 în
Cahul.
26. Afișați lista studenților din Cahul, Leova și Telenești.
27. Ce grad și titlu științific au profesorii care predau: Algebra,
PGI, TCI și SIM.
28. La ce catedra activează profesorii Antohi, Zarișneac și
Boboc?
29. Afișați în ordine descrescătore lista disciplinelor cu
numărul de ore cuprins între 70 și 150.
30. Afișați lista studenților din Cantemir și Leova al căror
nume începe cu litera P.
31. Afișați lista studenților al căror prenume conține litera e.
32. Care din discipline au denumirea din 3 caractere?
30
33. Ce profesori au prenumele conținînd litera n pe a 4-a
poziție?
34. Afișați în ordine descrescătoare lista studenților din
Taraclia și Cahul, născuți în perioada 1998-2001, al căror nume
se sfîrșește cu litera a.
35. Cîte credite și cîte ore au disciplinele predate de profesorii
a căror prenume conține îmbinarea na.
36. În ce grupă învață studenții Ciobanu, Blaja, Para și
Chihai?
37. La ce catedră activează profesorii cu gradul de doctor?
38. Afișați lista studenților care au note negative la SIM,
Statistica și Economia întreprinderii.
39. Ce note au primit studenții din grupa IMA14 la PAC și
GAC.
40. Din ce grupă sunt studenții care au note cuprinse între 8 și
10 la Engleză.
41. Ce note au primit studenții la disciplinele cu numărul de
credite cuprins între 4 și 6.
42. Care este adresa studenților al căror număr de telefon nu se
cunoaște?
43. În ce zi studenții au susținut examenul la Etica
profesională și ce note au primit?
44. Cine este profesorul disciplinelor cu codul cuprins între D4
și D10?
45. La ce catedra activează profesorii cu titlu științific de
asistent și conferențiar?
46. La ce catedra activează profesorii care nu au grad
științific?
Funcții-agregat: SUM, COUNT, AVG, MAX, MIN
47. Afișați numărul de discipline.
48. Afișați numărul profesorilor din Universitate.
31
49. Cîte catedre sunt în Universitate?
50. Cîți studenți sunt din Cahul?
51. Cîți studenți sunt în grupa IM14?
52. Cîți studenți sunt născuți în perioada anilor 1990-1995?
53. Cîți studenți din anul 1992 sunt din Cahul și Leova?
54. Cîte discipline au 120 ore total.
55. Cîți profesori au gradul științific de doctor?
56. Cîți profesori sunt la catedra Limbi moderne?
57. În cîte zile a fost planificată sesiunea examenelor.
58. Cîți studenți au primit note negative la disciplina PAC și
GAC?
59. Cîte note de 10 au primit studenții din grupa IMA14 în
sesiune?
60. Cîți studenți au primit note cuprinse între 8-9 în sesiune?
61. Care este numărul total de ore la cursurile predate de
profesorii de la catedra Inginerie și Științe Aplicate?
62. Care este numărul total de credite la cursurile profesorilor
Munteanu și Bagrin?
63. Afișați numărul de discipline, numărul total de ore la
disciplinele ghidate de catedra EMAS.
64. Afișați valoarea minimă, maximă și medie pentru coloana
Nota.
65. Să se obțină valoarea minimă și valoarea maximă pentru
cîmpul Nrcredite.
66. Care este primul și ultimul student (în ordinea numelui)
din orașul Cahul?
67. Care este numărul mediu de ore la disciplinele ghidate de
catedra Informatică și Matematică?
68. Care este localitatea cu ultima denumire, în ordine
alfabetică?
32
69. Să se obțină: numărul total de ore, numărul mediu, maxim
și minim, pentru disciplinele predate de profesorii cu gradul
științific de doctor.
70. Afișați care este cea mai mică și mai mare notă primită de
studenți.
71. Afișați media studenților, pe Universitate.
72. Afișați media studenților din grupa IT14.
73. Afișați nota medie, maximă și minimă la disciplina baze de
date.
74. Afișați valoarea minimă și maximă pe coloana Annastere,
pentru studenții din grupa IM14.
75. Pentru studenții din grupa IMA14, să se calculeze care
este: numărul de studenți, nota medie, minimă și maximă.
76. Să se obțină cîți studenți sunt din Cahul și să se calculeze
care este nota lor medie, minimă și maximă la disciplina PGI.
77. Pentru studenții Cantemir și Leova, să se calculeze care
este nota medie, minimă și maximă.
78. Pentru studenții din grupa IMA14, să se calculeze care
este: numărul de studenți, nota medie, minimă și maximă.
79. Afișați care este cea mai mică și cea mai mare notă primită
de studențiidin Cimișlia și Taraclia.
80. Afișați care este: nota medie, cea mai mare și cea mai mică
notă primită de studenții din grupa IM14 și IT14.
81. Afișați care este: nota medie, cea mai mare și cea mai mică
notă la disciplinele predate de profesorul Todos Irina.
82. Afișați care este nota medie la examenele susținute în luna
decembrie.
83. Afișați care este: nota medie, minimă și maximă a
studentului Chihai Andrei.
84. Afișați care este cea mai mică notă primită la disciplina
Teoria economică.
33
85. Afișați care este nota medie la examenele susținute pe data
de 16 și 18 decembrie.
Clauza GROUP BY
86. Afișați numărul studenți din Universitate grupați pe grupe
de studii.
87. Să se obțină numărul de discipline predate de fiecare
profesor.
88. Afișați cîți profesori sunt la fiecare catedră.
89. Care este numărul de studenți pentru fiecare localitate?
90. Afișați numărul de studenți grupați după coloana
Annastere.
91. Afișați numărul mediu și numărul total de ore, pentru
fiecare profesor.
92. Afișați nota medie, minimă și maximă pentru fiecare
student.
93. Să se obțină: nota medie, minimă și maximă, pentru
fiecare grupă de studii.
94. Care este cea mai mare notă primită de studenți, pentru
fiecare localitate.
95. Să se obțină: nota medie, minimă și maximă, pentru
fiecare zi din sesiune.
96. Să se obțină: nota medie, minimă și maximă, pentru
fiecare disciplină, în ordine albabetică după denumirea
disciplinei.
97. Să se obțină numărul disciplinelor predate de profesori,
conform gradului științific.
Clauza HAVING
98. În ce grupe de studii avem mai puțin de 10 studenți
înmatriculați?
99. Care profesori predau cel puțin 2 discipline?
34
100. Să se afișeze grupele de studii pentru care nota medie a
studenților nu este mai mică de 7.
101. Să se obțină lista disciplinelor cu nota medie mai mare de
8, în ordine descrecătoare după denumirea disciplinei.
102. Să se afișeze studenții care au media mai mică de nota 5.
103. Să se afiseșe lista catedrelor unde activează cel puțin doi
profesori.
104. Din ce localități avem doar cîte 2 studenți?
Indicații la problemele propuse:
Problemele propuse la fiecare compartiment se fac după
modelele de exemple prezentate în unitatea de învățare sau
după tipicul acestora.
35
IV. LUCRU INDIVIDUAL
A. Să se proiecteze o bază de date pentru:
1. Evidența mersului trenurilor și rezervare de bilete, gara
feroviară Chișinău.
2. Evidența cărților și a cititorilor unei biblioteci.
3. Gestiunea vînzărilor unui magazin de produse IT.
4. Gestiunea activității unei întreprinderi de construcții.
5. Evidența bolnavilor dintr-un spital.
6. Gestiunea exporturilor unei întreprinderi.
7. Evidența vînzărilor/închirierilor la un magazin AUTO.
8. Gestiunea activității unui aeroport (zboruri, destinații,
angajați etc.).
9. Evidența salariului angajaților unui gimnaziu.
10. Evidența medicamentelor într-o farmacie.
11. Evidența creditelor la o companie de microfinanțare.
12. Gestiunea activității unei pensiuni turistice (turiști,
rezervări camere etc.).
13. Evidența angajaților, de către serviciul Resurse umane,
din cadrul unei instituții de învățământ superior.
B. Definiți tabelele bazei de date, structura acestora și a
relațiilor dintre tabele. Creați tabelele prin comanda
CREATE table.
C. Introduceți date în tabele utilizînd comanda Insert (nu
mai puțin de 7 înregistrări).
D. Efectuați următoarele modificări în structura bazei de
date.
1. Redenumiți un tabel.
2. De adăugare a unui atribut (3 exemple).
3. De ștergere a unui atribut (2 exemple).
4. De anulare/instituire a restricției primary key (cîte 1
exemplu).
E. Modificați conținutul tabelelor:
1. Ștergeți cîte 2 linii din fiecare tabel.
2. Modificați valoarea unuia sau mai multor atribute
utilizînd comanda UPDATE (5 exemple).
36
F. Realizați următoarele tipuri de interogări:
1. Interogări simple de selecție a înregistrărilor (3
exemple).
2. Interogări de sortare a înregistrărilor (3 exemple).
3. Interogări cu utilizarea operatorului BETWEEN (2
exemple).
4. Interogări cu utilizarea operatorului LIKE (2 exemple).
5. Interogări cu utilizarea operatorului IN (2 exemple).
6. Interogări cu utilizarea operatorului IS NULL (1
exemplu).
7. Interogări ce conțin funcții-agregat: COUNT, MIN,
MAX, SUM, AVG (10 exemple).
8. Interogări de grupare a datelor (2 exemple).
9. Interogări de grupare cu utilizarea clauzei HAVING (2
exemple).
10. Interogări de grupare cu utilizarea clauzei ORDER BY
(2 exemple).
11. Interogări cu extragerea datelor din 2 sau mai multe
tabele (4 exemple).
La termenul programat de profesor, fiecare student, va
prezenta lucrul individual pe suport de hîrtie la catedra de
specialitate.
37
BIBLIOGRAFIE
1. Cotelea V., Cotelea M. Microsoft SQL Server 2008. Lucrări
practice. Baze de date. Chișinău: ASEM, 2009. 205 p.
2. Darie C., Bucica M. PHP5 și MYSQL pentru comerț
electronic. București: Teora, 2006. 598 p.
3. Dulu A. Baze de date – Access. ECDL modulul 5.
București: Andreco Educational, 2004. 64 p.
4. Fehily Chris. SQL. București: ALL, 2004. 416 p.
5. Florescu V. Baze de date: fundamente teoretice și practice.
București: Infomega, 2002. 548 p.
6. Forta B. SQL în lecții de 10 minute. București: Teora, 2004.
232 p.
7. Fotache M. SQL. Dialecte DB2, Oracle și Visual FoxPro.
Iași: Polirom, 2001. 368 p.
8. Fotache M. Dialecte DB2, Oracle și PostgreSQL și SQL
Server. Iași: Polirom, 2009. 880 p.
9. Fotache M. Proiectarea bazelor de date. Normalizare și
postnormalizare. Implementări Oracle și SQL. Iași: Polirom,
2005. 348 p.
10. Fotache M. Baze de date relaționale. Organizare,
interogare și normalizare. Iași: Junimea, 1997. 385 p.
11. Hernandez M. J. Proiectarea bazelor de date. București:
Teora, 2003. 402 p.
12. Lungu I. Baze de date: organizare, proiectare și
implementare. București: All, 1995. 354 p.
13. Oprea D., Airinei D., Fotache M. Sisteme informaționale
pentru afaceri. Iași: Polirom, 2002. 392 p.
14. Pascu C. Totul despre SQL: interogarea bazelor de date.
București: Tehnică, 1994. 159 p.
15. Popa G. ș.a. Baze de date Access. București: Cison, 2003.
372 p.
16. Великова Т., Сиркели В. Язык запросов SQL. учебно-
методическое пособие. Комрат: Комрат. гос. ун-т, 2012. 59
стр.
38
ANEXE
STUDENȚI
Idstud Grupa Nume Prenume Annast Adresa Tel
1 IT14 Levitchi Iulia 1997 Cahul 22557
2 IT14 Ursachi Daniel 1998 Gotești 58741
3 IM14 Blaja Maria 1994 Cahul 24598
4 IM14 Butnaru Ion 1995 Leova 32554
5 IMA14 Drangoi Elena 1991 Cahul 29898
6 IMA14 Pascal Lidia 2001 Leova 36512
7 IMA14 Rotari Andrei 2000 Telenești 78952
8 IT14 Manole Valeriu 2001 Telenești 74129
9 IT14 Onica Nina 1999 Gotești
10 IM14 Para Ana 1999 Cantemir 26614
11 IM14 Muchi Dumitru 1997 Cahul 21547
12 IMA14 Stoica Mihai 1992 Leova 35510
13 IM14 Zaharia Inga 1998 Gotești 56419
14 IM14 Roman Iulia 1995 Cahul 22014
15 IMA14 Vulpe Iurie 1998 Cantemir 22546
16 IT14 Roman Alexandru 1994 Cahul 22014
17 IT14 Dandeș Gheorghe 1995 Cantemir 21547
18 IM14 Iacob Nicolae 1993 Cantemir 20158
19 IM14 Lavric Stelia 1992 Leova
20 IM14 Petcu Oleg 1994 Cahul 21156
21 IM14 Chihai Andrei 1996 Gotești
22 IM14 Chihai Maria 1997 Leova 32189
23 IM14 Para Ion 2001 Leova 39245
24 IT14 Zaharia Ana 2000 Cahul 24498
25 IT14 Ciobanu Ion 1994 Cahul
26 IM14 Miron Petru 1992 Cahul
27 IT14 Miron Valeriu 1991 Taraclia 78452
28 IMA14 Tulum Alexei 1990 Taraclia 73264
29 IT14 Balan Victor 2000 Taraclia 71029
30 IMA14 Vieru Sergiu 1998 Cimișlia 98745
31 IT14 Eni Vera 1998 Cimișlia 93548
39
DISCIPLINA
Iddiscip Dendiscip Nrore Nrcredite Idprof
D1 Algebra 120 4 P4
D2 TCI 180 6 P3
D3 Engleza 90 3 P10
D4 Baze de date 120 4 P2
D5 Statistica 60 2 P3
D6 Etica profesionala 90 3 P5
D7 Ingineria
programarii
180 6 P1
D8 PAC 175 5 P8
D9 GAC 120 4 P7
D10 SIM 120 4 P2
D11 Teoria economica 90 3 P6
D12 PGI 175 5 P9
PROFESOR
Idprof Nume Prenume Titlust Gradst Idcated
ra
P1 Munteanu Ivan Asistent C1
P2 Bîrlea Svetlana Lector Doctor C1
P3 Popovici Ilona Lector C2
P4 Bagrin Dumitru Lector C2
P5 Todos Irina Confere
ntiar
Doctor C3
P6 Antohi Liudmila Lector C3
P7 Boboc Ana Lector C1
P8 Bunea Marina Lector Doctor C1
P9 Zarișneac Natalia Lector C3
P10 Bozbei Valentine Asistent C4
40
CATEDRA
Idcatedra Dencatedra Sefcatedra
C1 Inginerie și științe Aplicate Rumeus I.
C2 Informatica și Matematica Bagrin D.
C3 EMAS Rosca S.
C4 Limbi moderne Fugiji M.
REUSITA
Idr Idstud Iddiscip Nota Dataexam
r1 1 D1 5 29.12.2014
r2 2 D1 10 29.12.2014
r3 3 D1 6 29.12.2014
r4 4 D1 8 29.12.2014
r5 5 D1 9 29.12.2014
r6 6 D1 7 29.12.2014
r7 7 D1 10 29.12.2014
r8 8 D1 9 29.12.2014
r9 9 D1 8 29.12.2014
r10 10 D1 9 29.12.2014
r11 11 D1 10 29.12.2014
r12 12 D1 9 29.12.2014
r13 13 D1 2 29.12.2014
r14 14 D1 6 29.12.2014
r15 15 D1 8 29.12.2014
r16 16 D1 9 29.12.2014
r17 17 D1 9 29.12.2014
r18 18 D1 10 29.12.2014
r19 19 D1 10 29.12.2014
r20 20 D1 10 29.12.2014
r21 21 D1 10 29.12.2014
r22 22 D1 8 29.12.2014
r23 23 D1 8 29.12.2014
r24 24 D1 8 29.12.2014
r25 25 D1 7 29.12.2014
r26 26 D1 5 29.12.2014
41
r27 27 D1 5 29.12.2014
r28 28 D1 6 29.12.2014
r29 29 D1 6 29.12.2014
r30 30 D1 6 29.12.2014
r31 31 D1 6 29.12.2014
r32 1 D2 8 27.12.2014
r33 2 D2 8 27.12.2014
r34 3 D2 8 27.12.2014
r35 4 D2 7 27.12.2014
r36 5 D2 5 27.12.2014
r37 6 D2 7 27.12.2014
r38 7 D2 7 27.12.2014
r39 8 D2 27.12.2014
r40 9 D2 4 27.12.2014
r41 10 D2 4 27.12.2014
r42 11 D2 3 27.12.2014
r43 12 D2 2 27.12.2014
r44 13 D2 6 27.12.2014
r45 14 D2 9 27.12.2014
r46 15 D2 9 27.12.2014
r47 16 D2 8 27.12.2014
r48 17 D2 10 27.12.2014
r49 18 D2 10 27.12.2014
r50 19 D2 10 27.12.2014
r51 20 D2 10 27.12.2014
r52 21 D2 5 27.12.2014
r53 22 D2 4 27.12.2014
r54 23 D2 8 27.12.2014
r55 24 D2 8 27.12.2014
r56 25 D2 9 27.12.2014
r57 26 D2 9 27.12.2014
r58 27 D2 9 27.12.2014
r59 28 D2 8 27.12.2014
r60 29 D2 5 27.12.2014
r61 30 D2 5 27.12.2014
42
r62 31 D3 5 16.01.2015
r63 1 D3 5 16.01.2015
r64 2 D3 7 16.01.2015
r65 3 D3 16.01.2015
r66 4 D3 9 16.01.2015
r67 5 D3 6 16.01.2015
r68 6 D3 3 16.01.2015
r69 7 D3 3 16.01.2015
r70 8 D3 2 16.01.2015
r71 9 D4 5 12.01.2015
r72 10 D4 4 12.01.2015
r73 11 D4 4 12.01.2015
r74 12 D4 8 12.01.2015
r75 13 D4 8 12.01.2015
r76 14 D4 8 12.01.2015
r77 15 D4 7 12.01.2015
r78 16 D4 7 12.01.2015
r79 17 D5 7 28.12.2014
r80 18 D5 7 28.12.2014
r81 19 D5 10 28.12.2014
r82 20 D5 8 28.12.2014
r83 21 D5 7 28.12.2014
r84 22 D5 9 28.12.2014
r85 23 D5 2 28.12.2014
r86 24 D6 6 14.12.2014
r87 25 D6 5 14.12.2014
r88 26 D6 6 14.12.2014
r89 27 D6 8 14.12.2014
r90 28 D6 9 14.12.2014
r91 29 D6 6 14.12.2014
r92 30 D6 7 14.12.2014
r93 31 D6 8 14.12.2014
r94 1 D6 10 14.12.2014
r95 2 D6 10 14.12.2014
r96 3 D6 10 14.12.2014
43
r97 4 D7 5 26.12.2014
r98 5 D7 6 26.12.2014
r99 6 D7 5 26.12.2014
r100 7 D7 8 26.12.2014
r101 8 D7 8 26.12.2014
r102 9 D7 4 26.12.2014
r103 10 D8 9 18.12.2014
r104 11 D8 2 18.12.2014
r105 12 D8 8 18.12.2014
r106 13 D8 8 18.12.2014
r107 14 D8 5 18.12.2014
r108 15 D8 7 18.12.2014
r109 16 D9 6 16.01.2015
r110 17 D9 7 16.01.2015
r111 18 D9 7 16.01.2015
r112 19 D9 10 16.01.2015
r113 20 D9 5 16.01.2015
r114 21 D9 8 16.01.2015
r115 22 D10 9 12.01.2015
r116 23 D10 9 12.01.2015
r117 24 D10 9 12.01.2015
r118 25 D10 8 12.01.2015
r119 26 D11 8 23.12.2014
r120 27 D11 7 23.12.2014
r121 28 D11 5 23.12.2014
r122 29 D11 5 23.12.2014
r123 30 D11 6 23.12.2014
r124 31 D11 6 23.12.2014
r125 1 D12 6 16.12.2014
r126 2 D12 7 16.12.2014
r127 3 D12 8 16.12.2014
r128 4 D12 9 16.12.2014
r129 5 D12 10 16.12.2014