Sunteți pe pagina 1din 0

Dr. ing.

Liviu PERNIU
PROCESAREA
DATELOR
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauze SQL
Clauze SQL
n gramatic, o clauz este un cuvnt sau un grup de cuvinte care n mod
obinuit este alctuit dintr-un subiect i un predicat, fiind posibil ca,
n anumite limbi/limbaje sau n anumite clauze, subiectul s nu apar
n mod explicit
n gramatic, o clauz este un cuvnt sau un grup de cuvinte care n mod
obinuit este alctuit dintr-un subiect i un predicat, fiind posibil ca,
n anumite limbi/limbaje sau n anumite clauze, subiectul s nu apar
n mod explicit
cea mai simpl propoziie este alctuit dintr-o singur clauz, dar
propoziiile complexe pot conine mai multe clauze
cea mai simpl propoziie este alctuit dintr-o singur clauz, dar
propoziiile complexe pot conine mai multe clauze
este posibil ca o clauz s conin o alt clauz sau sub-clauz
este posibil ca o clauz s conin o alt clauz sau sub-clauz
n limbajul SQL, s-a optat pentru folosirea conceptului de clauz i nu
pentru folosirea celui de instruciune, deoarece se consider c, de
fapt, toate operaiile de regsire a datelor n bazele de date se pot
reduce la nite cereri formulate n mod asemntor clauzelor
n limbajul SQL, s-a optat pentru folosirea conceptului de clauz i nu
pentru folosirea celui de instruciune, deoarece se consider c, de
fapt, toate operaiile de regsire a datelor n bazele de date se pot
reduce la nite cereri formulate n mod asemntor clauzelor
clauza principal folosit la regsirea datelor n bazele de date este
SELECT (poate conine sub-clauze)
clauza principal folosit la regsirea datelor n bazele de date este
SELECT (poate conine sub-clauze)
de obicei, n vorbirea curent, nu se folosete denumirea de sub-clauz, ci
tot cea de clauz
de obicei, n vorbirea curent, nu se folosete denumirea de sub-clauz, ci
tot cea de clauz
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
sintaxa complet a unei clauze SELECT difer de la un sistem la altul
sintaxa complet a unei clauze SELECT difer de la un sistem la altul
SELECT <lista_campuri> [INTO <numele_noului_tabel>]
FROM <lista_tabele>
[WHERE <conditii>]
[GROUP BY <lista_campuri>]
[HAVING <conditii>]
[ORDER BY <lista_ordonare> [ASC | DESC] ]
SELECT <lista_campuri> [INTO <numele_noului_tabel>]
FROM <lista_tabele>
[WHERE <conditii>]
[GROUP BY <lista_campuri>]
[HAVING <conditii>]
[ORDER BY <lista_ordonare> [ASC | DESC] ]
n care:
n care:
lista_campuri conine coloanele ce vor apare n setul de rezultate
INTO <numele_noului_tabel> indic faptul c setul de rezultate
este utilizat ntr-un tabel nou care se i creeaz cu aceast
ocazie.
lista_tabele reprezint tabelele din care provin coloanele ce apar n
lista_campuri
lista_campuri conine coloanele ce vor apare n setul de rezultate
INTO <numele_noului_tabel> indic faptul c setul de rezultate
este utilizat ntr-un tabel nou care se i creeaz cu aceast
ocazie.
lista_tabele reprezint tabelele din care provin coloanele ce apar n
lista_campuri
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
OBS
OBS
trebuie respectat ordinea de utilizare a clauzelor
nu toate aceste clauze se folosesc tot timpul mpreun i nici toate
odat
trebuie respectat ordinea de utilizare a clauzelor
nu toate aceste clauze se folosesc tot timpul mpreun i nici toate
odat
Sub-clauza (clauza) FROM
Sub-clauza (clauza) FROM
este obligatorie n orice instruciune SELECT
este obligatorie n orice instruciune SELECT
poate specifica:
poate specifica:
unul sau mai multe tabele
una sau mai multe vederi
asocieri ntre dou tabele sau vederi
unul sau mai multe tabele derivate ce conin clauza SELECT
n interiorul clauzei FROM
unul sau mai multe tabele
una sau mai multe vederi
asocieri ntre dou tabele sau vederi
unul sau mai multe tabele derivate ce conin clauza SELECT
n interiorul clauzei FROM
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) WHERE
Sub-clauza (clauza) WHERE
folosind construcia:
folosind construcia:
SELECT *
FROM Note;
SELECT *
FROM Note;
se returneaz toate liniile dintr-un tabel
se returneaz toate liniile dintr-un tabel
folosind cuvntul cheie WHERE, se poate specifica o condiie care
s reduc numrul de linii returnate n setul de nregistrri
folosind cuvntul cheie WHERE, se poate specifica o condiie care
s reduc numrul de linii returnate n setul de nregistrri
Exemplu
Exemplu
SELECT *
FROM Note
WHERE Nota > 8;
SELECT *
FROM Note
WHERE Nota > 8;
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) WHERE
Sub-clauza (clauza) WHERE
n clauza WHERE se pot folosi operatori de comparare sau predicate
pentru a verifica o condiie
n clauza WHERE se pot folosi operatori de comparare sau predicate
pentru a verifica o condiie
Operatorii de comparare
Operatorii de comparare
> (mai mare dect)
< (mai mic dect)
= (egal)
<= (mai mic dect sau egal)
>= (mai mare dect sau egal)
!= sau < > (diferit de)
!< (nu mai mic dect)
!> (nu mai mare dect)
> (mai mare dect)
< (mai mic dect)
= (egal)
<= (mai mic dect sau egal)
>= (mai mare dect sau egal)
!= sau < > (diferit de)
!< (nu mai mic dect)
!> (nu mai mare dect)
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) WHERE
Sub-clauza (clauza) WHERE
uneori, aceast clauz mai este folosit pentru a reprezenta o
jonciune dintre dou tabele (corect, dar nerecomandabil)
uneori, aceast clauz mai este folosit pentru a reprezenta o
jonciune dintre dou tabele (corect, dar nerecomandabil)
Sub-clauza (clauza) ORDER BY
Sub-clauza (clauza) ORDER BY
clauza ORDER BY pune la dispoziie o metod de ordonare a
rezultatelor operaiilor
clauza ORDER BY pune la dispoziie o metod de ordonare a
rezultatelor operaiilor
dac nu a fost definit o cheie primar rezultatele vor apare n
ordinea introducerii liniilor
dac nu a fost definit o cheie primar rezultatele vor apare n
ordinea introducerii liniilor
Exemplu
Exemplu
SELECT *
FROM Note
ORDER BY Nota DESC;
SELECT *
FROM Note
ORDER BY Nota DESC;
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) ORDER BY
Sub-clauza (clauza) ORDER BY
n mod implicit rezultatele unui set sunt ordonate cresctor
n mod implicit rezultatele unui set sunt ordonate cresctor
subinterogrile i definiiile vederilor nu pot include clauza ORDER
BY
subinterogrile i definiiile vederilor nu pot include clauza ORDER
BY
uneori ar putea fi util folosirea clauzei ORDER BY pentru mai
multe cmpuri
uneori ar putea fi util folosirea clauzei ORDER BY pentru mai
multe cmpuri
clauza ORDER BY poate avea coloane care s nu apar n lista de
selecie
clauza ORDER BY poate avea coloane care s nu apar n lista de
selecie
dac clauza SELECT este utilizat mpreun cu clauzele DISTINCT
sau UNION, atunci coloanele dup care se face ordonarea
trebuie s apar i n lista de selecie
dac clauza SELECT este utilizat mpreun cu clauzele DISTINCT
sau UNION, atunci coloanele dup care se face ordonarea
trebuie s apar i n lista de selecie
Sub-clauza (clauza) GROUP BY
Sub-clauza (clauza) GROUP BY
formeaz grupuri de nregistrri ale unei relaii, pe baza valorilor
comune ale unui atribut
formeaz grupuri de nregistrri ale unei relaii, pe baza valorilor
comune ale unui atribut
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) GROUP BY
Sub-clauza (clauza) GROUP BY
Componente
Componente
una sau mai multe expresii care se refer la coloanele dup
care se poate face o grupare de rezultate expuse n setul
afiat
cuvntul cheie opional, ALL care specific faptul c n
rezultatul final vor apare toate grupurile produse de clauza
GROUP BY, chiar dac unele grupuri nu ndeplinesc condiia
impus
una sau mai multe expresii care se refer la coloanele dup
care se poate face o grupare de rezultate expuse n setul
afiat
cuvntul cheie opional, ALL care specific faptul c n
rezultatul final vor apare toate grupurile produse de clauza
GROUP BY, chiar dac unele grupuri nu ndeplinesc condiia
impus
Formatul general :
Formatul general :
SELECT <lista_campuri>
FROM <nume_tabel>
GROUP BY <lista_campuri_grupare>
SELECT <lista_campuri>
FROM <nume_tabel>
GROUP BY <lista_campuri_grupare>
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) GROUP BY
Sub-clauza (clauza) GROUP BY
n clauza GROUP BY trebuie specificate numele coloanelor din
tabelul sau vederea creia le aparin
n clauza GROUP BY trebuie specificate numele coloanelor din
tabelul sau vederea creia le aparin
de multe ori, clauza GROUP BY este utilizat atunci cnd se folosesc
funcii agregat n clauza SELECT
de multe ori, clauza GROUP BY este utilizat atunci cnd se folosesc
funcii agregat n clauza SELECT
Exemplu
Exemplu
SELECT CodS, AVG(Nota)
FROM Note
GROUP BY Cods, An;
SELECT CodS, AVG(Nota)
FROM Note
GROUP BY Cods, An;
dac n interogarea de mai sus nu ar apare clauza GROUP BY atunci
MS SQL Server ar genera un mesaj e eroare
dac n interogarea de mai sus nu ar apare clauza GROUP BY atunci
MS SQL Server ar genera un mesaj e eroare
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) GROUP BY
Sub-clauza (clauza) GROUP BY
grupurile de rezultate pot fi afiate cu ajutorul unei expresii atta
timp ct aceasta nu conine funcii agregat
grupurile de rezultate pot fi afiate cu ajutorul unei expresii atta
timp ct aceasta nu conine funcii agregat
Exemplu
Exemplu
SELECT DATEPART(yy, Data_inceput) AS An, COUNT(*)
AS Numar_studenti
FROM Student
GROUP BY DATEPART(yy, Data_inceput);
SELECT DATEPART(yy, Data_inceput) AS An, COUNT(*)
AS Numar_studenti
FROM Student
GROUP BY DATEPART(yy, Data_inceput);
n clauza GROUP BY trebuie specificat numele coloanei din tabelul
sau vederea respectiv i nu denumirea nlocuitoare ce se
introduce prin AS
n clauza GROUP BY trebuie specificat numele coloanei din tabelul
sau vederea respectiv i nu denumirea nlocuitoare ce se
introduce prin AS
dac n loc de GROUP BY DATEPART(yy, Data_inceput) s-ar scrie
GROUP BY An s-ar genera un mesaj de eroare
dac n loc de GROUP BY DATEPART(yy, Data_inceput) s-ar scrie
GROUP BY An s-ar genera un mesaj de eroare
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) GROUP BY
Sub-clauza (clauza) GROUP BY
un tabel poate fi grupat dup orice combinaie de coloane (n clauza
GROUP BY se pot utiliza mai multe nume de coloane dintr-un
tabel)
un tabel poate fi grupat dup orice combinaie de coloane (n clauza
GROUP BY se pot utiliza mai multe nume de coloane dintr-un
tabel)
n clauza SELECT nu se folosesc coloane care au mai multe valori
pentru aceeai valoare a coloanei utilizate n clauza GROUP
BY
n clauza SELECT nu se folosesc coloane care au mai multe valori
pentru aceeai valoare a coloanei utilizate n clauza GROUP
BY
afirmaia invers nu este adevrat
afirmaia invers nu este adevrat
Sub-clauza (clauza) HAVING
Sub-clauza (clauza) HAVING
este asemntoare utilizrii clauzei WHERE
este asemntoare utilizrii clauzei WHERE
permite specificarea unor condiii de selecie care se aplic la nivel
de seturi de nregistrri obinute prin aplicarea clauzei GROUP
BY
permite specificarea unor condiii de selecie care se aplic la nivel
de seturi de nregistrri obinute prin aplicarea clauzei GROUP
BY
din rezultat sunt eliminate toate grupurile care nu satisfac condiia
specificat
din rezultat sunt eliminate toate grupurile care nu satisfac condiia
specificat
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) HAVING
Sub-clauza (clauza) HAVING
Formatul general :
Formatul general :
SELECT <lista_campuri>
FROM <nume_tabel>
GROUP BY <lista_coloane_grupare>
HAVING <conditie_grup>
SELECT <lista_campuri>
FROM <nume_tabel>
GROUP BY <lista_coloane_grupare>
HAVING <conditie_grup>
Exemplu
Exemplu
se folosete tabelul Note pentru gruparea studenilor pe ani
de studii i afiarea mediei pentru fiecare an n parte:
se folosete tabelul Note pentru gruparea studenilor pe ani
de studii i afiarea mediei pentru fiecare an n parte:
SELECT CodS, AVG (Nota)
FROM Note
GROUP BY Cods, An;
SELECT CodS, AVG (Nota)
FROM Note
GROUP BY Cods, An;
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) HAVING
Sub-clauza (clauza) HAVING
Exemplu
Exemplu
dac se modific aceast interogare pentru a returna numai
acei studeni care au media peste o anumita valoare :
dac se modific aceast interogare pentru a returna numai
acei studeni care au media peste o anumita valoare :
SELECT CodS, AVG (Nota)
FROM Note
WHERE AVG(Nota)>9
GROUP BY Cods,An;
SELECT CodS, AVG (Nota)
FROM Note
WHERE AVG(Nota)>9
GROUP BY Cods,An;
se va obine un mesaj de eroare (WHERE nu opereaz cu
funcii totalizatoare)
se va obine un mesaj de eroare (WHERE nu opereaz cu
funcii totalizatoare)
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) HAVING
Sub-clauza (clauza) HAVING
Exemplu
Exemplu
o soluie corect ar fi:
o soluie corect ar fi:
SELECT CodS, AVG (Nota)
FROM Note
GROUP BY Cods,An
HAVING AVG(Nota)>9
SELECT CodS, AVG (Nota)
FROM Note
GROUP BY Cods,An
HAVING AVG(Nota)>9
clauza HAVING permite utilizarea funciilor totalizatoare ntr-o
instruciune de comparare, asigurnd pentru funciile
totalizatoare ceea ce WHERE asigur pentru linii individuale
clauza HAVING permite utilizarea funciilor totalizatoare ntr-o
instruciune de comparare, asigurnd pentru funciile
totalizatoare ceea ce WHERE asigur pentru linii individuale
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) HAVING
Sub-clauza (clauza) HAVING
Exemplu
Exemplu
rezultatul interogrii urmtoare :
rezultatul interogrii urmtoare :
SELECT CodS, AVG (Nota)
FROM Note
GROUP BY Cods,An,Nota
HAVING Nota >9
SELECT CodS, AVG (Nota)
FROM Note
GROUP BY Cods,An,Nota
HAVING Nota >9
este diferit de precedentul
este diferit de precedentul
construcia HAVING AVG (Nota) >9 a evaluat fiecare grup n
parte i a transmis la ieire numai grupurile care aveau o
medie mai mare de 9, adic exact ceea ce se dorea
construcia HAVING AVG (Nota) >9 a evaluat fiecare grup n
parte i a transmis la ieire numai grupurile care aveau o
medie mai mare de 9, adic exact ceea ce se dorea
construcia HAVING Nota >9 conduce la un rezultat deferit
construcia HAVING Nota >9 conduce la un rezultat deferit
dac utilizatorul cere evaluarea i afiarea grupurilor de medii
care respect condiia Nota >9, ar trebui examinat
fiecare grup n parte i eliminate acelea n care exist o
not mai mic de 9
dac utilizatorul cere evaluarea i afiarea grupurilor de medii
care respect condiia Nota >9, ar trebui examinat
fiecare grup n parte i eliminate acelea n care exist o
not mai mic de 9
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) HAVING
Sub-clauza (clauza) HAVING
unele versiuni de SQL returneaz un mesaj de eroare n cazul n care
se folosete altceva dect o funcie totalizatoare ntr-o clauz
HAVING
unele versiuni de SQL returneaz un mesaj de eroare n cazul n care
se folosete altceva dect o funcie totalizatoare ntr-o clauz
HAVING
n cauza HAVING se pot folosi i mai multe condiii (separate prin
AND, OR sau NOT)
n cauza HAVING se pot folosi i mai multe condiii (separate prin
AND, OR sau NOT)
Exemplu
Exemplu
SELECT COUNT(CodS), AVG(Nota)
FROM Note
GROUP BY An
HAVING COUNT(CodS)>1 AND AVG(Nota)>5
SELECT COUNT(CodS), AVG(Nota)
FROM Note
GROUP BY An
HAVING COUNT(CodS)>1 AND AVG(Nota)>5
n clauza HAVING se poate folosi o funcie totalizatoare care nu a
fost folosit n instruciunea SELECT
n clauza HAVING se poate folosi o funcie totalizatoare care nu a
fost folosit n instruciunea SELECT
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Clauza SELECT
Clauza SELECT
Sub-clauza (clauza) HAVING
Sub-clauza (clauza) HAVING
Exemplu
Exemplu
care sunt studenii care au primit note n anul 1
care sunt studenii care au primit note n anul 1
SELECT CodS
FROM Note
GROUP BY Cods,An
HAVING COUNT(*) > 0 AND An='1'
SELECT CodS
FROM Note
GROUP BY Cods,An
HAVING COUNT(*) > 0 AND An='1'
operatorul IN opereaz corect ntr-o clauz HAVING
operatorul IN opereaz corect ntr-o clauz HAVING
n clauza HAVING se pot utiliza i subinterogri
n clauza HAVING se pot utiliza i subinterogri
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
subinterogrile ofer un mijloc de a baza o interogare pe o alta
(imbricarea interogrilor)
subinterogrile ofer un mijloc de a baza o interogare pe o alta
(imbricarea interogrilor)
REGULI
REGULI
lista de selecie a unei subinterogri create cu ajutorul unui
operator de comparare poate conine doar o singur expresie sau
nume de coloan;
dac clauza WHERE a unei interogri exterioare conine numele
unei coloane, aceasta trebuie s fie compatibil din punct de
vedere al jonciunii cu coloana din subinterogare;
tipurile de date ntext, text i image nu sunt permise ntr-o
subinterogare;
clauza DISTINCT nu poate fi utilizat n subinterogri ce conin
clauza GROUP BY;
ntr-o subinterogare nu poate fi utilizat clauza ORDER BY dect
dac s-a utilizat i restricia TOP;
o vedere creat pe baza unei subinterogri nu poate fi
actualizat;
lista de selecie a unei subinterogri create cu ajutorul unui
operator de comparare poate conine doar o singur expresie sau
nume de coloan;
dac clauza WHERE a unei interogri exterioare conine numele
unei coloane, aceasta trebuie s fie compatibil din punct de
vedere al jonciunii cu coloana din subinterogare;
tipurile de date ntext, text i image nu sunt permise ntr-o
subinterogare;
clauza DISTINCT nu poate fi utilizat n subinterogri ce conin
clauza GROUP BY;
ntr-o subinterogare nu poate fi utilizat clauza ORDER BY dect
dac s-a utilizat i restricia TOP;
o vedere creat pe baza unei subinterogri nu poate fi
actualizat;
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
OBS
OBS
construciile SELECT pot fi imbricate pe max. 16 nivele
o subinterogare difer de operatorul de cuplare prin aceea c
rezultatul final conine date doar de la ultimul tabel
construciile SELECT pot fi imbricate pe max. 16 nivele
o subinterogare difer de operatorul de cuplare prin aceea c
rezultatul final conine date doar de la ultimul tabel
SUBINTEROGARE
SUBINTEROGARE
o clauz SELECT care este inserat n cadrul altei clauze SELECT
o clauz SELECT care este inserat n cadrul altei clauze SELECT
se folosete, de obicei, n cadrul unei clauze WHERE
se folosete, de obicei, n cadrul unei clauze WHERE
Varianta 1
Varianta 1
Predicatele [ANY | SOME | ALL]
Predicatele [ANY | SOME | ALL]
este folosit atunci cnd se compar o valoare cu o alt valoare
obinut n urma folosirii unei subinterogri
este folosit atunci cnd se compar o valoare cu o alt valoare
obinut n urma folosirii unei subinterogri
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
SUBINTEROGRI
SUBINTEROGRI
Varianta 1
Varianta 1
Exemplu
Exemplu
urmtoarea construcie ntoarce toi studenii (i notele
corespunztoare acestora) care au cele mai mari note
urmtoarea construcie ntoarce toi studenii (i notele
corespunztoare acestora) care au cele mai mari note
SELECT Nume, Prenume, Nota
FROM Student INNER JOIN Note ON
Student.Cods=Note.Cods
WHERE Nota = (SELECT Max(Nota) FROM Note);
SELECT Nume, Prenume, Nota
FROM Student INNER JOIN Note ON
Student.Cods=Note.Cods
WHERE Nota = (SELECT Max(Nota) FROM Note);
ceea ce conduce la un rezultat diferit de varianta:
ceea ce conduce la un rezultat diferit de varianta:
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
SUBINTEROGRI
SUBINTEROGRI
Varianta 1
Varianta 1
Exemplu
Exemplu
SELECT Nume, Prenume, MAX(Nota)
FROM Student INNER JOIN Note ON
Student.Cods=Note.Cods
GROUP BY Nume, Prenume;
SELECT Nume, Prenume, MAX(Nota)
FROM Student INNER JOIN Note ON
Student.Cods=Note.Cods
GROUP BY Nume, Prenume;
n care rspunsul corespunde ntrebrii: "Care este cea mai mare
not obinut de fiecare student?"
n care rspunsul corespunde ntrebrii: "Care este cea mai mare
not obinut de fiecare student?"
se observ faptul c, deoarece subinterogarea ntoarce o singur
valoare, nu este nevoie s se foloseasc nici unul dintre
predicatele ANY, SOME sau ALL
se observ faptul c, deoarece subinterogarea ntoarce o singur
valoare, nu este nevoie s se foloseasc nici unul dintre
predicatele ANY, SOME sau ALL
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
SUBINTEROGRI
SUBINTEROGRI
Varianta 1
Varianta 1
Exemplu
Exemplu
urmtoarea construcie prezint toi studenii (i notele
corespunztoare acestora) care au note mai mari dect
notele studentului Radu Tiberiu:
urmtoarea construcie prezint toi studenii (i notele
corespunztoare acestora) care au note mai mari dect
notele studentului Radu Tiberiu:
SELECT Nume, Prenume, Nota
FROM Student INNER JOIN Note ON
Student.Cods=Note.Cods
WHERE Nota > All(
SELECT Nota
FROM Note INNER JOIN Student ON
Student.Cods =Note.Cods
WHERE Nume = 'Radu' And
Prenume='Tiberiu');
SELECT Nume, Prenume, Nota
FROM Student INNER JOIN Note ON
Student.Cods=Note.Cods
WHERE Nota > All(
SELECT Nota
FROM Note INNER JOIN Student ON
Student.Cods =Note.Cods
WHERE Nume = 'Radu' And
Prenume='Tiberiu');
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
SUBINTEROGRI
SUBINTEROGRI
Varianta 1
Varianta 1
OBS
OBS
se observ faptul c predicatele ANY i SOME conduc la
obinerea aceluiai rezultat, returnnd toate variantele
ce respect condiia de comparare pentru cel puin una
dintre valorile returnate de ctre subinterogare
se observ faptul c predicatele ANY i SOME conduc la
obinerea aceluiai rezultat, returnnd toate variantele
ce respect condiia de comparare pentru cel puin una
dintre valorile returnate de ctre subinterogare
dac se nlocuiete ALL cu SOME n interogarea anterioar,
rezultatul obinut va conine toi studenii (i notele
corespunztoare acestora) care sunt mai mari dect cea
mai mic not acordat studentului Radu Tiberiu
dac se nlocuiete ALL cu SOME n interogarea anterioar,
rezultatul obinut va conine toi studenii (i notele
corespunztoare acestora) care sunt mai mari dect cea
mai mic not acordat studentului Radu Tiberiu
Varianta 2
Varianta 2
Predicatul [NOT] IN
Predicatul [NOT] IN
se folosete la cutarea unei valori a unei coloane dintr-un
tabel rezultat n urma altei interogri
se folosete la cutarea unei valori a unei coloane dintr-un
tabel rezultat n urma altei interogri
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
SUBINTEROGRI
SUBINTEROGRI
Varianta 2
Varianta 2
Exemplu
Exemplu
urmtoarea construcie returneaz toi studenii (i notele
corespunztoare) din tabelul "Student" care nu apar n
tabelul "Note" (studenii care nu au note):
urmtoarea construcie returneaz toi studenii (i notele
corespunztoare) din tabelul "Student" care nu apar n
tabelul "Note" (studenii care nu au note):
SELECT Cods,Nume, Prenume
FROM Student
WHERE Cods NOT IN (SELECT Cods FROM Note);
SELECT Cods,Nume, Prenume
FROM Student
WHERE Cods NOT IN (SELECT Cods FROM Note);
Varianta 3
Varianta 3
Predicatul [NOT] EXISTS
Predicatul [NOT] EXISTS
se folosete atunci cnd se verific dac o anumit valoare
exist (este returnat) n urma executrii subinterogrii
se folosete atunci cnd se verific dac o anumit valoare
exist (este returnat) n urma executrii subinterogrii
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
SUBINTEROGRI
SUBINTEROGRI
Varianta 3
Varianta 3
Exemplu
Exemplu
urmtoarea construcie afieaz toi studenii care nu au note:
urmtoarea construcie afieaz toi studenii care nu au note:
SELECT Cods, Nume, Prenume
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM Note WHERE Note.Cods
=Student.Cods);
SELECT Cods, Nume, Prenume
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM Note WHERE Note.Cods
=Student.Cods);
se observ faptul c tabelul "Note" este referit n
subinterogare, ceea ce face ca SQL Server s evalueze
subinterogarea cte o dat pentru fiecare valoare a
identificatorului "CodS" din tabelul "Note"
se observ faptul c tabelul "Note" este referit n
subinterogare, ceea ce face ca SQL Server s evalueze
subinterogarea cte o dat pentru fiecare valoare a
identificatorului "CodS" din tabelul "Note"
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
SUBINTEROGRI. REGULI
SUBINTEROGRI. REGULI
SUBINTEROGRI
SUBINTEROGRI
OBS
OBS
atunci cnd se folosete varianta 1 sau 2, subinterogarea
trebuie s returneze o singur coloan, altfel va apare un
mesaj de eroare.
construcia SELECT care conine subinterogarea pstreaz
acelai format i reguli ca oricare alt construcie SELECT,
dar trebuie n mod obligatoriu introdus ntre paranteze
atunci cnd se folosete varianta 1 sau 2, subinterogarea
trebuie s returneze o singur coloan, altfel va apare un
mesaj de eroare.
construcia SELECT care conine subinterogarea pstreaz
acelai format i reguli ca oricare alt construcie SELECT,
dar trebuie n mod obligatoriu introdus ntre paranteze
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
DEZAVANTAJELE MODELUL RELAIONAL
DEZAVANTAJELE MODELUL RELAIONAL
crearea de relaii care nu corespund entitilor din lumea real,
datorit procesului de normalizare care impune fragmentarea
unei entiti n mai multe relaii, necesitnd, n timpul prelucrrii
interogrii, formarea de uniuni multiple care sunt operaii
costisitoare;
suprancrcarea semantic a modelului relaional, datorit
inexistenei unui mecanism care s poat face distincia dintre
entiti i relaii sau pentru a deosebi diferitele tipuri de relaii
care exist ntre entiti, ceea ce face s nu fie posibil s se
construiasc semantica n cadrul operaiilor;
operaii limitate doar la cele cu mulimi i tupluri, insuficiente
pentru a modela comportamentul multor obiecte din lumea real
crearea de relaii care nu corespund entitilor din lumea real,
datorit procesului de normalizare care impune fragmentarea
unei entiti n mai multe relaii, necesitnd, n timpul prelucrrii
interogrii, formarea de uniuni multiple care sunt operaii
costisitoare;
suprancrcarea semantic a modelului relaional, datorit
inexistenei unui mecanism care s poat face distincia dintre
entiti i relaii sau pentru a deosebi diferitele tipuri de relaii
care exist ntre entiti, ceea ce face s nu fie posibil s se
construiasc semantica n cadrul operaiilor;
operaii limitate doar la cele cu mulimi i tupluri, insuficiente
pentru a modela comportamentul multor obiecte din lumea real
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
DEZAVANTAJELE MODELUL RELAIONAL
DEZAVANTAJELE MODELUL RELAIONAL
impunerea de ctre modelul relaional a unei omogeniti a
datelor att orizontal, prin faptul c fiecare tuplu al unei relaii
trebuie s fie compus din aceleai atribute, ct i vertical, prin
faptul c valorile dintr-o coloan a unei relaii trebuie s provin
din acelai domeniu, dar i a faptului c la intersecia dintre o
coloan i un rnd trebuie s existe o valoare atomic, ceea ce
duce la impunerea prea multor restricii a unor obiecte complexe
din lumea real;
dificultate n manipularea interogrilor recursive, adic
interogrile despre asocierile create de o relaie (direct sau
indirect) cu ea nsi;
impunerea de ctre modelul relaional a unei omogeniti a
datelor att orizontal, prin faptul c fiecare tuplu al unei relaii
trebuie s fie compus din aceleai atribute, ct i vertical, prin
faptul c valorile dintr-o coloan a unei relaii trebuie s provin
din acelai domeniu, dar i a faptului c la intersecia dintre o
coloan i un rnd trebuie s existe o valoare atomic, ceea ce
duce la impunerea prea multor restricii a unor obiecte complexe
din lumea real;
dificultate n manipularea interogrilor recursive, adic
interogrile despre asocierile create de o relaie (direct sau
indirect) cu ea nsi;
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
DEZAVANTAJELE MODELUL RELAIONAL
DEZAVANTAJELE MODELUL RELAIONAL
dificulti referitoare la concuren, modificrile schemei, accesul
navigaional;
nu se permite descrierea structurilor de date complexe (date n
format multimedia, documente electronice, grafice etc.);
nu se permite definirea unor tipuri de date definite de utilizator;
nu se permite partajarea/reutilizarea structurilor de date;
nu se permite declararea prelucrrilor aferente structurilor de
date deoarece datele sunt descrise separat de prelucrri;
dificulti referitoare la concuren, modificrile schemei, accesul
navigaional;
nu se permite descrierea structurilor de date complexe (date n
format multimedia, documente electronice, grafice etc.);
nu se permite definirea unor tipuri de date definite de utilizator;
nu se permite partajarea/reutilizarea structurilor de date;
nu se permite declararea prelucrrilor aferente structurilor de
date deoarece datele sunt descrise separat de prelucrri;
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
sistemele de gestiune a bazelor de date relaionale nu pot fi aplicate n
cazul aplicaiilor, cum ar fi:
sistemele de gestiune a bazelor de date relaionale nu pot fi aplicate n
cazul aplicaiilor, cum ar fi:
proiectarea asistat de calculator
fabricarea asistat de calculator
ingineria programrii asistat de calculator
sistemele multimedia
editarea digital
sistemele informaionale geografice
proiectarea asistat de calculator
fabricarea asistat de calculator
ingineria programrii asistat de calculator
sistemele multimedia
editarea digital
sistemele informaionale geografice
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
modelarea orientat pe obiect se bazeaz pe urmtoarele concepte:
modelarea orientat pe obiect se bazeaz pe urmtoarele concepte:
obiect
abstractizare
ncapsulare
motenire
polimorfism
obiect
abstractizare
ncapsulare
motenire
polimorfism
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
este o entitate cu identitate proprie caracterizat prin stare i
comportament
este o entitate cu identitate proprie caracterizat prin stare i
comportament
Identitatea
Identitatea
este proprietatea acestuia care l distinge de alte obiecte i
este de regul o adres logic invariant (pointer)
este proprietatea acestuia care l distinge de alte obiecte i
este de regul o adres logic invariant (pointer)
identificarea obiectelor este asigurat automat de sistem i
este transparent utilizatorului
identificarea obiectelor este asigurat automat de sistem i
este transparent utilizatorului
fiecare obiect are un identificator unic pentru ntregul sistem,
care este independent de valorile atributelor sale i,
ideal, este vizibil pentru utilizatori
fiecare obiect are un identificator unic pentru ntregul sistem,
care este independent de valorile atributelor sale i,
ideal, este vizibil pentru utilizatori
dou obiecte O1 i O2 sunt identice (se noteaz O1= =O2)
dac au acelai identificator, adic egalitatea obiectelor
este de fapt o egalitate de pointeri
dou obiecte O1 i O2 sunt identice (se noteaz O1= =O2)
dac au acelai identificator, adic egalitatea obiectelor
este de fapt o egalitate de pointeri
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
Identitatea
Identitatea
dou obiecte O1 i O2 sunt egale (se noteaz O1=O2) dac au
aceleai valori
dou obiecte O1 i O2 sunt egale (se noteaz O1=O2) dac au
aceleai valori
se poate spune c identitatea obiectelor implic egalitatea
lor, reciproca fiind fals
se poate spune c identitatea obiectelor implic egalitatea
lor, reciproca fiind fals
Starea
Starea
este definit de valorile atributelor sale
este definit de valorile atributelor sale
un atribut este definit printr-un nume i poate lua valori
elementare (numeric, alfanumeric etc.) sau complexe
(structuri de valori multiple, referine spre alte obiecte,
tipuri utilizator etc.)
un atribut este definit printr-un nume i poate lua valori
elementare (numeric, alfanumeric etc.) sau complexe
(structuri de valori multiple, referine spre alte obiecte,
tipuri utilizator etc.)
atributele se pot concretiza n locaii de memorie n care sunt
stocate datele aferente
atributele se pot concretiza n locaii de memorie n care sunt
stocate datele aferente
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
Starea
Starea
Exemplu
Exemplu
Studentul S1: CodS = 001
Nume =Banu
Prenume = Andrei
Studentul S1: CodS = 001
Nume =Banu
Prenume = Andrei
Comportamentul
Comportamentul
este definit de setul de operaii (metode) aplicabile obiectului
respectiv
este definit de setul de operaii (metode) aplicabile obiectului
respectiv
metodele pot fi utilizate pentru a modifica starea obiectului,
prin modificarea valorilor atributelor, sau pentru
interogarea valorilor atributelor selectate
metodele pot fi utilizate pentru a modifica starea obiectului,
prin modificarea valorilor atributelor, sau pentru
interogarea valorilor atributelor selectate
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
Comportamentul
Comportamentul
operaiile unui obiect constituie de regul, modaliti de
rspuns la mesajele primite din exterior
operaiile unui obiect constituie de regul, modaliti de
rspuns la mesajele primite din exterior
mesajele sunt mijloace prin care comunic obiectele
mesajele sunt mijloace prin care comunic obiectele
un mesaj este pur i simplu o cerere a unui obiect (emitent)
ctre alt obiect (receptor), prin care cel de-al doilea
obiect este solicitat s execute una dintre metodele
sale
un mesaj este pur i simplu o cerere a unui obiect (emitent)
ctre alt obiect (receptor), prin care cel de-al doilea
obiect este solicitat s execute una dintre metodele
sale
emitentul i receptorul pot reprezenta acelai obiect
emitentul i receptorul pot reprezenta acelai obiect
o operaie este definit printr-o semntur compus din
denumire, un set opional de parametri de apel i un set
opional de parametri de retur
o operaie este definit printr-o semntur compus din
denumire, un set opional de parametri de apel i un set
opional de parametri de retur
operaiile sunt de regul proceduri sau funcii ce acioneaz
asupra atributelor obiectului respectiv
operaiile sunt de regul proceduri sau funcii ce acioneaz
asupra atributelor obiectului respectiv
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
Abstractizarea
Abstractizarea
este procesul prin care obiectele cu aceleai atribute i cu un
comportament comun sunt grupate n tipuri abstracte de
date numite clase
este procesul prin care obiectele cu aceleai atribute i cu un
comportament comun sunt grupate n tipuri abstracte de
date numite clase
obiectele devin realizri (instanieri) ale claselor
obiectele devin realizri (instanieri) ale claselor
clasele sunt reprezentri (modele) abstracte, conceptuale ale
entitilor descrise de obiecte
clasele sunt reprezentri (modele) abstracte, conceptuale ale
entitilor descrise de obiecte
Comparaie ntre modelul obiectual i cel relaional
Comparaie ntre modelul obiectual i cel relaional
Modelul O.O. Modelul relaional
Clasa Tabel (rela ie)
Obiect Tupl u (nregistrare)
Atribut Cmp
Operaie (metod) -
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
ncapsularea
ncapsularea
const din capacitatea obiectelor (claselor) de a conine la un
loc att date ct i metode dintre care numai o parte
sunt vizibile din exterior
const din capacitatea obiectelor (claselor) de a conine la un
loc att date ct i metode dintre care numai o parte
sunt vizibile din exterior
obiectele/clasele apar ca nite cutii negre care ascund
detaliile de implementare, oferind n schimb o interfa
pentru acces
obiectele/clasele apar ca nite cutii negre care ascund
detaliile de implementare, oferind n schimb o interfa
pentru acces
Exemplu
Exemplu
se consider clasa Student descris prin atributele invizibile
(private) din interiorul clasei:
se consider clasa Student descris prin atributele invizibile
(private) din interiorul clasei:
CodS, Nume, Prenume, Data_inceput, Data_sfarsit, Sex
CodS, Nume, Prenume, Data_inceput, Data_sfarsit, Sex
i operaiile accesibile din exterior (publice):
i operaiile accesibile din exterior (publice):
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
Exemplu
Exemplu
Creeaza(CodS, Nume, Prenume, DataInceput,
DataSfarsit, Sex)
ReturneazCodS(): text
ReturneazNume(): text
ReturneazPrenume(): text
ReturneazDataInceput(): data
ReturneazDataSfarsit(): data
ReturneazSex(): text
ReturneazAniStudii(AnInceput, AnSfarsit): integer
Creeaza(CodS, Nume, Prenume, DataInceput,
DataSfarsit, Sex)
ReturneazCodS(): text
ReturneazNume(): text
ReturneazPrenume(): text
ReturneazDataInceput(): data
ReturneazDataSfarsit(): data
ReturneazSex(): text
ReturneazAniStudii(AnInceput, AnSfarsit): integer
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
Sisteme de gestiune a bazelor de date
orientate pe obiecte (SGBDOO)
OBIECTUL
OBIECTUL
Exemplu
Exemplu
datele studentului Banu Andrei sunt atribuite numai la
crearea instanei (obiectului) respectiv, prin apelarea
metodei-constructor vizibil din interiorul obiectului:
datele studentului Banu Andrei sunt atribuite numai la
crearea instanei (obiectului) respectiv, prin apelarea
metodei-constructor vizibil din interiorul obiectului:
Creeaza(001, Banu, Andrei, 01-11-2002,b)
Creeaza(001, Banu, Andrei, 01-11-2002,b)
dup ce a fost creat un obiect, datele aferente studentului
respectiv nu mai pot fi modificate, ci numai citite prin
intermediul metodelor de tip Returneaz
dup ce a fost creat un obiect, datele aferente studentului
respectiv nu mai pot fi modificate, ci numai citite prin
intermediul metodelor de tip Returneaz
utilizatorul va percepe un obiect Student numai prin datele
read-only
utilizatorul va percepe un obiect Student numai prin datele
read-only
este exclus posibilitatea modificrii unei persoane ulterior
crerii sale
este exclus posibilitatea modificrii unei persoane ulterior
crerii sale
se asigur astfel i o securitate a datelor stocate de un obiect
mpotriva modificrii neautorizate sau/i accidentale
se asigur astfel i o securitate a datelor stocate de un obiect
mpotriva modificrii neautorizate sau/i accidentale
Dr. ing. Liviu PERNIU
Curs 6
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
CLAUZE SQL. SISTEME DE GESTIUNE A BAZELOR DE DATE ORIENTATE PE
OBIECTE (SGBDOO)
Laborator 6 - prezentare
Laborator 6 - prezentare

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

  • Prezentare PPT - PPSX
    Prezentare PPT - PPSX
    Document14 pagini
    Prezentare PPT - PPSX
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • MIS Lab5
    MIS Lab5
    Document4 pagini
    MIS Lab5
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • MIS Lab6
    MIS Lab6
    Document4 pagini
    MIS Lab6
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C11 SN - RNvs
    C11 SN - RNvs
    Document6 pagini
    C11 SN - RNvs
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • MIS Lab7
    MIS Lab7
    Document4 pagini
    MIS Lab7
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • MIS Lab4
    MIS Lab4
    Document4 pagini
    MIS Lab4
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • MIS Lab2
    MIS Lab2
    Document4 pagini
    MIS Lab2
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 7 BD
    Curs 7 BD
    Document8 pagini
    Curs 7 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • MIS Lab3
    MIS Lab3
    Document3 pagini
    MIS Lab3
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • MIS Lab1
    MIS Lab1
    Document5 pagini
    MIS Lab1
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 9-10 BD
    Curs 9-10 BD
    Document8 pagini
    Curs 9-10 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 8 BD
    Curs 8 BD
    Document9 pagini
    Curs 8 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 11-12 BD
    Curs 11-12 BD
    Document10 pagini
    Curs 11-12 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 6 Rom
    Curs 6 Rom
    Document7 pagini
    Curs 6 Rom
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 5 BD
    Curs 5 BD
    Document8 pagini
    Curs 5 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C19 Estim Stare1
    C19 Estim Stare1
    Document7 pagini
    C19 Estim Stare1
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 3 BD
    Curs 3 BD
    Document4 pagini
    Curs 3 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Baze de Date - Subiecte-examen-2013-Propuse 1
    Baze de Date - Subiecte-examen-2013-Propuse 1
    Document1 pagină
    Baze de Date - Subiecte-examen-2013-Propuse 1
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 4 BD
    Curs 4 BD
    Document10 pagini
    Curs 4 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Curs 1 BD
    Curs 1 BD
    Document4 pagini
    Curs 1 BD
    c_caltea
    Încă nu există evaluări
  • Curs 2 BD
    Curs 2 BD
    Document5 pagini
    Curs 2 BD
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C20 Estim Stare2
    C20 Estim Stare2
    Document9 pagini
    C20 Estim Stare2
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C15 PrSistRegMI - Regl Predictie
    C15 PrSistRegMI - Regl Predictie
    Document10 pagini
    C15 PrSistRegMI - Regl Predictie
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C18 Reg Stare - Estim Stare
    C18 Reg Stare - Estim Stare
    Document9 pagini
    C18 Reg Stare - Estim Stare
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C17 Reg Stare2
    C17 Reg Stare2
    Document9 pagini
    C17 Reg Stare2
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C16 Reg Stare1
    C16 Reg Stare1
    Document8 pagini
    C16 Reg Stare1
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • c12 Icsn Sint RN Pi - Pid
    c12 Icsn Sint RN Pi - Pid
    Document10 pagini
    c12 Icsn Sint RN Pi - Pid
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C13 PrSistNumMetRaspImpus
    C13 PrSistNumMetRaspImpus
    Document10 pagini
    C13 PrSistNumMetRaspImpus
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • C14 PrSistRegMI1
    C14 PrSistRegMI1
    Document10 pagini
    C14 PrSistRegMI1
    Rodica Petronela Ghiță
    Încă nu există evaluări
  • Comentarii Privind Modelele Discrete Ale Elementelor de Ordinul 1 (T1) Şi 2 (T2)
    Comentarii Privind Modelele Discrete Ale Elementelor de Ordinul 1 (T1) Şi 2 (T2)
    Document11 pagini
    Comentarii Privind Modelele Discrete Ale Elementelor de Ordinul 1 (T1) Şi 2 (T2)
    Rodica Petronela Ghiță
    Încă nu există evaluări