Sunteți pe pagina 1din 10

Obiective

Prezentarea operatorilor algebrei relaionale


Prezentarea sintaxei limbajului SQL
nelegerea utilizrii limbajului SQL

Operatorii algebrei relaionale (I)


Algebra relaional const dintr-un set de operatori care prelucreaz
relaii, iar rezultatul obinut este tot o relaie
Operatorii algebrei relaionale

Operaii pe mulimi:

Reuniunea
Intersecia
Diferena
Produsul cartezian

Operaii relaionale speciale:

Selecia
Proiecia
Jonciunea
Diviziunea

Operatorii algebrei relaionale (II)

Reuniunea

R3 = R1 R2, unde R3 va conine toate tupluri din R1 i R2 luate o


singur dat;

Diferena

R3 = R1 \ R2, unde R3 va conine toate tupluri ledin R1 care nu se


regsesc n R2;

Produsul cartezian

R3 = R1 R2, unde R3 va conine toate tuplurile construite din perechile


(x1 x2), unde x1R1 i x2R2;

Intersecia

R3 = R1 R2, unde R3 va conine toate tupluri lecare se gsesc att n


R1, ct i R2.

Operatorii algebrei relaionale (III)


Selecia

Din R1 se obine o subrelaie R2, care va conine o submulime din


tuplurile iniiale din R1 ce satisfac o condiie. Numrul de atribute din R2
este egal cu numrul de atribute din R1. Numrul de tupluri din R2 este
mai mic sau egal cu numrul de tupluri din R1.

Proiecia

Din R1 se obine o subrelaie R2, care va conine o submulime din


atributele iniiale din R1 i fr tuplurile duplicate. Numrul de atribute din
R2 este mai mic dect numrul de atribute din R1.

Jonciunea

este o derivaie a produsului cartezian, ce presupune utilizarea unui


calificator care s permit compararea valorilor unor atribute din R1 i R2,
iar rezultatul n R3. R1 i R2 trebuie s aib unul sau mai multe atribute
comune care au valori identice.

Limbajul SQL (I)


Instruciuni pentru selecia datelor
SELECT [DISTINCT / TOP n] <cmpuri (expresii)>
FROM <tabele>
[WHERE <condiii>]
[GROUP BY <cmpuri (expresii)>
[HAVING <condiii>]]
[ORDER BY <cmpuri (expresii)>];

Limbajul SQL (II)


Instruciuni pentru actualizarea datelor
UPDATE <tabela>
SET <camp>=<valoare>
[WHERE <condiii>];

Instruciuni pentru tergerea nregistrrilor


DELETE *
FROM <tabele>
[WHERE <condiii>];

Studiu de caz (I)


Clienti (CodCl, DenCl, LocCl)
Facturi (NrFact, DataFact, DataScad, ValFact, CodCl)
Cerine

S se afieze pentru fiecare client numele i localitatea.


S se afieze lista facturilor emise n anul 2009 i care au o valoare mai
mare de 10.000.
S se afieze lista facturilor emise anul acesta clienilor din Bucureti i
care devin scadente dup cel puin N zile.
S se afieze toate facturile emise societii ALFA n cursul anului curent
ordonate dup data facturii i dup numrul de factur.
S se afieze toate facturile emise societilor ALFA sau BETA n primul
trimestru al anului trecut ordonate alfabetic dup denumirea clientului, data
facturii i numrul de factur.


Studiu de caz (II)


Clienti (CodCl, DenCl, LocCl)
Facturi (NrFact, DataFact, DataScad, ValFact, CodCl)
Cerine

S se afieze valoarea total a facturilor emise fiecrui client.


S se afieze numrul de facturi emise fiecrui client anul acesta.
S se afieze n ordine alfabetic clienii crora le-au fost emise cel puin N
facturi.
S se afieze n ordine alfabetic clienii pentru care valoarea medie a
facturilor emise anul trecut este mai mare dect o valoare specificat
printr-un parametru
S se afieze pentru fiecare client valoarea minim i valoarea maxim a
facturilor emise n ultimele 30 de zile

Studiu de caz (III)


Clienti (CodCl, DenCl, LocCl)
Facturi (NrFact, DataFact, DataScad, ValFact, CodCl)
Cerine

S se afieze n ordine alfabetic toi clienii care nu au primit facturi anul


acesta.
S se afieze clienii pentru care valoarea total a facturilor emise este mai
mare dect valoarea clientului cu codul 121.
S se afieze clienii pentru care numrul facturilor emise anul acesta este
mai mare dect numrul facturilor emise acum doi ani clientului cu codul
121.
S se afieze clienii crora le-au fost emise cele mai multe facturi.



Studiu de caz (IV)


Clienti (CodCl, DenCl, LocCl)
Facturi (NrFact, DataFact, DataScad, ValFact, CodCl)
Cerine

S se majoreze cu 3 zile data scadenei pentru facturile emise astzi.


S se tearg toi clienii din Bucureti.
S se majoreze cu 3 zile data scadentei pentru facturile emise astzi
clienilor care anul acesta au primit mai mult de N facturi.
S se tearg toi clienii din Bucureti pentru care valoarea medie a
facturilor emise n ultimii N ani este mai mic dect o valoarea specificat
printr-un parametru.



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