Professional Documents
Culture Documents
Operatori SQL
SQL are urmtorii operatori:
@ valoarea absolut
! factorial
!! factorial, operator postfix
~ NOT orientat pe bii
operatori de comparaie
A BETWEEN min AND max (compar A cu dou valori: min i max)
A IN (v1,...,vn) compar A cu o list de valori
A IS NULL
A IS NOT NULL
A LIKE model_ir
operatori logici
Operatorii logici sunt legai prin cuvintele cheie AND, OR, NOT i
returneaz o valoare logic TRUE, FALSE sau NULL.
operatori relaionali
UNION (reuniune)
INTERSECT (intersecie)
MINUS (diferena).
Funcii definite n SQL
Funcii agregat
Funciile agregat calculeaz un rezultat din mai multe linii ale unui
tabel (funcii de totalizare):
COUNT (furnizeaz numrul de linii ale unui rezultat);
SUM (execut suma tuturor valorilor dintr-o coloan);
MAX (returneaz valoarea cea mai mare dintr-o coloan);
MIN (returneaz valoarea cea mai mic dintr-o coloan);
AVG (calculeaz media valorilor dintr-o coloan).
Aceste funcii vor fi folosite n instruciunea SELECT.
Funcii scalare
funcii numerice
- de calcul trigonometric: sin, cos, tg, ctg etc.
- de calcul al logaritmului: ln, log, lg
4
Tipuri de date
n limbajul SQL sunt definite mai multe tipuri de date: numeric, ir de
caractere, ir de bii, data (calendaristic), timp.
Denumirile tipurilor de date precum i limitele acestora difer de la un
SGBD la altul, dar n general, sunt destul de asemntoare.
Tipul numeric include
CHARACTER (n) sau CHAR (n) definesc iruri de caractere cu lungimea fix.
CHARACTER VARYING sau VARCHAR (n) definete irul de caractere cu
lungimea variabil.
Asemnarea dintre cele dou tipuri prezentate mai sus este aceea c
ambele reprezint iruri de maxim n caractere, iar deosebirea este aceea c
pentru iruri cu numr de caractere mai mic ca n, CHAR (n) completeaz irul cu
spaii albe pn la n caractere, iar VARCHAR (n) memoreaz numai attea
caractere cte are irul dat.
BIT (n) definete secvene de cifre binare (care pot lua valoarea 0 sau 1) de
lungime finit n;
BIT VARYING (n) definete secvene de lungime variabil, cu limita maxim n.
10
MODIFY
(nume_atribut
11
13
15
Datele se pot ordona dup orice cmp. Ordonarea se poate face att
cresctor ct i descresctor. Sintaxa pentru interogarea
16
Interogarea datelor din mai multe relaii este strns legat de noiunea de
cheie primar, cheie secundar, restricii de integritate, asocieri ntre relaii.
Exemplu: S se afieze ofertele i denumirile oraelor corespunztoare ofertelor.
SELECT id_co, nume_loc
FROM CERERI_OFERTE, LOCALITATI
WHERE CERERI_OFERTE.tipul=oferta AND
CERERI_OFERTE.cod_loc=LOCALITATI.cod_loc;
Observaii: Clauza FROM specific dou relaii. Clauza SELECT cuprinde valori
din relaia CERERI_OFERTE i din relaia LOCALITATI, prin urmare trebuie
definite cmpurile n funcie de tabela din care face parte. Se utilizeaz sintaxa
nume_tabel.nume_cmp
Clauza WHERE include condiii care exprim o egalitate ntre valorile
identificatorului nume_cmp a relaiei nume_tabel i a celei ale referinei la acest
identificator n tabela referit.
17
CURS 12. Limbaje relaionale de manipulare a datelor (LMD) Interogarea datelor din mai multe relaii
Atunci cnd n clauza FROM a unei comenzi SELECT apar mai multe tabele
se realizeaz produsul cartezian al acestora. De aceea numrul de linii rezultat
crete considerabil, fiind necesar restricionarea acestora cu o clauza WHERE.
Atunci cnd este necesar obinerea de informaii din mai multe tabele se
utilizeaz condiii de join. n acest fel liniile dintr-un tabel pot fi puse n legtura cu
cele din alt tabel conform valorilor comune ale unor coloane. Condiiile de corelare
utilizeaz de obicei coloanele cheie primar i cheie extern.
Tipuri de asocieri pentru relaii
Rolul unei relaii fiind acela de a modela entiti, ntre relaii exist aceleai
tipuri de asocieri ca i ntre entiti, prezentate la nceputul cursului, i anume
asocieri unu la unu, unu la mai muli, muli la mai muli.
Dou relaii stocheaz informaii n asocierea unu la unu dac unei nregistrri
din relaia A i corespunde (sau nu) o singur nregistrare din B.
Acest tip de asociere este utilizat mai rar. Exist, totui, cazuri n care este
necesar i util stabilirea unei astfel de relaii.
Exemplu:
CERERI_OFERTE
id_co #
tip
cnp
data_inreg
tip_solutionare
cod_loc
id_strada
nr_imobil
pret_min
pret_max
1:1
DESCRIERE_IMOB IL
id_co#
tip_imobil
etaj
nr_camere
suprafata
garaj
centrala_termica
termopane
Exemplu:
B
A
JUDETE
simbol_judet#
nume_judet
1:n
LOCALITATI
cod_loc#
simbol_judet
nume_judet
B
1:n
LOCALITATI
cod_loc#
simbol_judet
nume_judet
1:n
STRAZI
id_strada#
cod_loc#
nume_str
Un alias este o redenumire fie a unui cmp, fie a unei relaii. Aliasurile sunt
utilizate la eliminarea rescrierii complete a denumirii unei relaii sau a unui cmp,
redenumindu-le ntr-un mod simplificat. Sintaxa utilizat este:
nume_relaie/camp AS nume_nou;
sau
nume_relaie/camp nume_nou;
Exist posibilitatea de a utiliza aliasuri pentru tabelele din clauza FROM i
utilizarea lor n cadrul comenzii SELECT respective (alias.coloana). Aceast
19
a) Sintaxa
SELECT ...FROM tabel_A INNER JOIN tabel_B (condiii de join)
selecteaz toate informaiile din relaiile A i B care corespund condiiilor de asociere.
20
CO,
2) Folosind WHERE
SELECT DP.numele, CO.id_co, S.nume_str, DI.tip_imobil,
L.nume_loc
FROM DATE_PERSOANA DP, CERERI_OFERTE CO,
STRAZI S, LOCALITATI L, DESCRIERE_IMOBIL DI
WHERE CO.tipul='oferta' AND
DP.cnp=CO.cnp AND
CO.id_strada=S.id_strada AND
CO.cod_loc=L.cod_loc AND
CO.id_co=DI.id_co AND
L.cod_loc LIKE 'MM%'
ORDER BY L.nume_loc, S.nume_str;
3) Folosind INNER JOIN i WHERE
SELECT DP.numele, CO.id_co, S.nume_str, DI.tip_imobil,
L.nume_loc
FROM DATE_PERSOANA DP INNER JOIN
CERERI_OFERTE CO ON (DP.cnp=CO.cnp)
INNER JOIN STRAZI S ON (CO.id_strada=S.id_strada )
INNER JOIN LOCALITATI L ON (CO.cod_loc=L.cod_loc )
INNER JOIN DESCRIERE_IMOBIL DI ON
(CO.id_co=DI.id_oferta)
WHERE L.cod_loc LIKE 'MM%' AND CO.tipul='oferta'
ORDER BY L.nume_loc, S.nume_str;
b) Sintaxa
SELECT ...FROM tabel_A LEFT OUTER JOIN tabel_B ON
(condiii de join)
selecteaz toate informaiile din A, pe care le completeaz cu informaii din B, n
msura n care satisfac condiiile de join; acolo unde nu vor exista informaii din B,
acestea vor fi completate cu NULL.
Exemplul1: Selectai toate ofertele. Dac exist informaii despre aceste oferte,
afiai i aceste informaii.
SELECT *
FROM CERERI_OFERTE CO LEFT OUTER JOIN
DESCRIERE_IMOBIL DI ON (CO.id_co=DI.id_co )
WHERE CO.tipul='oferta';
Observaie: Ordinea n care se scrie denumirea relaiei n sintaxa LEFT OUTER
JOIN este foarte important. Astfel, relaia din stnga este relaia primar, adic
relaia pentru care se dorete returnarea tuturor informaiilor; relaia din dreapta este
relaia secundar, adic informaiile din ea sunt necesare doar n msura n care se
potrivesc condiiilor de asociere. Astfel se explic i denumirea de asociere de la
stnga spre exterior.
Exemplul2: Selectai toate ofertele, preciznd i numele judeelor, localitilor precum
i a strzilor. Dac exist informaii despre aceste oferte, afiai i aceste informaii.
SELECT L.nume_loc, CO.*, S.nume_str, DI.tip_imobil,
22
23
CURS 13. Limbaje relaionale de manipulare a datelor (LMD) Interogarea datelor din mai multe relaii (continuare)
este
SELECT Cmp 1, Cmp 2, ..., Cmp n
FROM Tabel 1
UNION (ALL)
SELECT Cmp 1A, Cmp 2A,..., Cmp nA
FROM Tabel 2
i returneaz nregistrri distincte, dac este folosit instruciunea UNION i toate
nregistrrile, dac se folosete UNION ALL. Astfel operatorul UNION elimin
duplicatele, iar UNION ALL vizualizeaz toate nregistrrile, inclusiv duplicatele.
Pentru a utiliza aceast interogare, trebuie s se in seama de dou cerine:
domeniile Cmp 1A, Cmp 2A,..., Cmp nA i Cmap 1, Cmp 2, ..., Cmp n trebuie
s fie respectiv aceleai i, numrul de cmpuri din fiecare interogare trebuie s
coincid.
Operatorul UNION se folosete atunci cnd ntre relaii nu exist o asociere
direct.
Exemplul 1: Pentru exemplificare se vor considera relaiile: PROFESORI (prof_id,
nume, prenume), respectiv STUDENTI (stud_id, nume, prenume). Selectai lista
numelor tuturor profesorilor i a studenilor.
SELECT nume, prenume FROM PROFESORI
UNION ALL
SELECT nume, prenume FROM STUDENTI;
Rezultatul generat de interogare va fi
numeprenumePOPVAS
ILEIONANA
Fig. 13.1. Interogarea mai multor relaii folosind operatorul UNION ALL
Observai: Problema mai poate fi soluionat utiliznd alte interogri, dar acestea
rmn ca exerciii individuale.
Exemplul 2: S se determine care sunt ofertele i cererile soluionate prin facturi,
afind ntr-o list id_ul cererii/ofertei i cnp-ul cleintului, att din tabela
CERERI_OFERTE ct i din tabela FACTURI.
SELECT cnp, id_co FROM FACTURI
UNION ALL
SELECT cnp, id_co FROM CERERI_OFERTE;
Rezultatul generat de interogare va fi o lista greu de urmrit, dup cum este i cea
din figura 13.1, deoarece nu se specific clar care inregistrare corespunde facturilor,
i care tabelei CERERI_OFERTE (acest neajuns va fi nlturat utiliznd
concatenarea):
24
Fig. 13.2. Interogarea mai multor relaii folosind operatorul UNION ALL (cazul neclar)
Fig. 13.3. Interogarea mai multor relaii folosind concatenarea (cazul mai clar)
Observaie: Concatenarea prezint dezavantajul afirii cmpurilor null.
a)
Sintaxa
MAX(Nume_cmp) FROM Tabela
returneaz un numr egal cu valoarea maxim a cmpului Nume_cmp din relaia
Tabela, valorile null fiind ignorate.
Exemplu: Selectai cea mai recent nregistrare din tabela CERERI_OFERTE, fr a
da un nume rezultatului, apoi cu nume pentru cmpul rezultat.
SELECT MAX(data_inreg) FROM CERERI_OFERTE;
SELECT MAX(data_inreg) AS data_ultimei_nregistrari FROM
CERERI_OFERTE;
b)
Funcia MIN este o funcie similar cu funcia MAX, cu ajutorul creia se poate
determina valoarea cea mai mic dintr-un cmp.
Att funcia MIN ct i funcia MAX se poate aplica doar pentru tipurile de date
numeric sau dat calendaristic.
c)
d)
de eroare este aceea a introducerii unor cmpuri dup care se grupeaz n clauza
SELECT i neintroducerea lor n clauza GROUP BY.
Pentru a evita pierderea de informaii, este indicat ca atributul dup care se
grupeaz s fie cheie primar.
SELECT CO.id_co, J.nume_judet, L.nume_loc, S.nume_str,
CO.pret_min, CO.pret_max
FROM JUDETE J, CERERI_OFERTE CO, LOCALITATI L,
STRAZI S
WHERE CO.cod_loc=L.cod_loc
AND CO.id_strada=S.id_strada
AND L.simbol_judet=J.simbol_judet
GROUP BY J.nume_judet;
30
a)
b)
c)
d)
->buna?
LTRIM(str): elimin spaiile de la stnga valorii str;
SELECT LTRIM(' barbar');
->barbar
RTRIM(str): elimin spaiile de la dreapta valorii str;
SELECT RTRIM('barbar
');
->barbar
TRIM: eliminarea simultan a spaiillor la stnga i la dreapta;
SELECT TRIM(' bar ');
->bar
SUBSTR(sir,n): extragerea unei poriuni dintr-un ir ncepnd cu a n-a liter;
SELECT SUBSTRING('Paralelipiped',5);
->lelipiped
CEIL(p): ntoarce cel mai mic ntreg mai mare sau egal cu argumentul p;
SELECT CEIL(1.23);
->2
SELECT CEIL(-1.23);
->-1
FLOOR(p): ntoarce cel mai mare ntreg mai mic sau egal cu argumentul p;
SELECT FLOOR(-1.23);
->-2
SELECT FLOOR(1.23);
->1
ROUND(p,n): rotunjete rezultatul unei expresii (p) la un numr de poziii
funcionare dac n este pozitiv, sau, dac n este negativ, se face la ordinul
zecilor, sutelor, miilor etc.
SELECT ROUND(-1.23);
->-1
SELECT ROUND(-1.58);
->-2
SELECT ROUND(1.58);
->2
SELECT ROUND(1.298, 1);
->1.3
SELECT ROUND(1.298, 0);
->1
SELECT ROUND(23.298, -1);
->20
TRUNC(p,n): are efect similar funciei ROUND, numai c n loc de rotunjire se
face trunchiere.
SELECT TRUNCATE(1.223,1);
->1.2
SELECT TRUNCATE(1.999,1);
->1.9
SELECT TRUNCATE(1.999,0);
->1
SELECT TRUNCATE(-1.999,1);
32
->-1.9
SELECT TRUNCATE(122,-2);
->100
c) Funcii pentru date calendaristice
-
34
35
SINTEZ I EXERCIII
1. Cei opt operatori iniiali
a
b
c
Restricia
x
y
Proiecia
Reuninuea
a
a
b
b
c
c
x
y
x
y
x
y
Produs
Intersecia
Diferena
a1
a2
a3
b1
b1
b2
b1
b2
b3
c1
c2
c3
a1
a2
a3
b1
b1
b2
c1
c1
c3
a
b
c
a
a
a
b
c
x
y
z
x
y
x
z
Uniune(natural)
mprirea
36
2. Teste
Curs 1 - Exerciii
1.
2.
3.
4.
5.
6.
7.
37
Curs 2- Exerciii
8.
O relaie este:
a) orice tabel bidimensional cu valori atomice;
b) orice tabel;
c) orice tabel bidimensional
9.
Se numete grad al unei relaii:
a) numrul domeniilor distincte ale relaiei;
b) numrul de tupluri distincte ale relaiei;
c) numrul de atribute ale relaiei
10.
Cardinalitatea unei relaii reprezint:
a) numrul de atribute ale relaiei;
b) numrul de tupluri ale relaiei;
c) numrul de atribute identificator, ale relatiei.
11.
Care sunt componentele unei diagrame E-R?
12.
Ce se nelege prin cardinalitate?
13.
Numii trei tipuri de asocieri ntre entiti.
14.
Pentru baza de date FURNIZORI_COMPONENTE descris mai jos, n figura
2, precizai tipurile de relaionri ntre relaiile F,C, respectiv FC, apoi realizai
diagrama E-R.
15.
Dai exemple de:
- o relaie de tip muli la muli
- o relaie de tip unu la unu
- o relaie de tip unu la muli.
16.
Relaiile de tip mai multe la mai multe sunt dificil de implementat ntr-un
proiect
eficient de baze de date. Ce este de fcut, n acest caz?
17.
Desenai diagrama entitate-relaie (preciznd i tipul asocierilor) pentru
urmtoarea baz de date COLECTIE_MUZICA: presupunei c avei o colecie
muzical rock, format din CD-uri i DVD-uri i casete audio i dorii s construii o
baz de date care s permit s gsii nregistrrile pe care le avei pentru un anumit
interpret (de exemplu, Joe Cocker), pentru un anumit chitarist (de exemplu, Joe
Satriani), pentru un anumit baterist (de exemplu, Lars Ulrich), pentru un anumit
album (de exemplu, Master of Puppets), o anumit formaie (de exemplu, Metallica).
38
Curs 3- Exerciii
18.
39
Curs 4- Exerciii
22.
32.
Fie baza de date FURNIZORI_COMPONENTE modelat de urmtoarele
valori eantion:
F F#numeFStareorasF1Pop20BucurestiF2Achim
FC F#C#cantF1C1300F
10PloiestiF3Ardelean30PloiestiF4Popescu20B
ucurestiF5Ionescu30Vaslui
C C#numeCCuloareMasaorasC1piulitaRosu12.0Bucuresti
1C2200F1C3400F1
C4200F1C5100F1C
6100F2C1300F2C24
00F3C2200F4C2200
F4C4300F4C5400
C2BoltVerde17.0PloiestiC3Surubalbastru17.0AradC4Su
rubRosu14.0BucurestiC5CamaAlbastru12.0PloiestiC6R
oata dintatarosu19.0Bucuresti
41
Curs 5- Exerciii
37.
Fie A si B dou atribute (simple sau compuse) ale relaiei R. Se spune c
atributul B este dependent funcional de A, dac:
a) fiecrei valori a lui A i este asociat exact o valoare a atributului B;
b) fiecrei valori a lui A i este asociat cel puin o valoare nenul a atributului
B;
c) fiecare valoare a lui B este asociat unei valori a lui A.
38.
Explicai urmtoarele noiuni:
- restricii de integritate
- cheia primar a unei relaii
- cheia extern a unei relatii
- relaie care refer
- relaie referit.
39.
n baza de date FURNIZORI_COMPONENTE, dai exemple de
a) chei primare i secundare
b) chei simple i chei compuse
c) relaie care refer i relaie referit.
40.
Precizai care sunt restriciile de integritate minimal ale modelului relaional,
apoi enunai aceste restricii.
41.
Ce nseamn dependen funcional? Dai dou exemple de DF.
42.
Se definete o relaie ORAR, cu urmtoarele atribute:
Z ziua din sptmn (de la 1 la 5)
T perioada din zi (de la 1 la 6)
C numrul slii de clas
P numele profesorului
L numele leciei.
Tuplul (z,t,c,p,l) apare n aceast relaie dac i numai dac la momentul (z,t)
lecia l este predat de profesorul p n sala de clas c. Se presupune c leciile au
durata de o perioad i c ficare lecie are un nume, care este unic pentru toate
leciile predate ntr-o sptmn. Ce dependene funcionale conine aceast relaie?
Care sunt cheile candidat?
43.
Fie relaia F_O_C din figura urmtoare:
F_O_C
F#orasC#cantF1BrasovC11
00F1BrasovC2100F2IasiC
1200F2IasiC2200F3IasiC2
300F4BrasovC2400F4Bras
ovC4400F4BrasovC5400
42
43
Curs 9- Exerciii
50.
44
Caracteristici
NOT NULL
Valoare implicit 0
Tipul
INTEGER(4)
VARCHAR(25)
VARCHAR(25)
VARCHAR(20)
INTEGER(4)
DATE
NUMBER
CHAR(10)
DECIMAL(9,2)
TIP
45
CONSTRNGERE
cod_ang
nume
prenume
data_nasterii
functia
INTEGER(4)
VARCHAR(25)
VARCHAR(25)
DATE
VARCHAR(9)
sef
INTEGER(4)
data_angajarii
email
salariu
cod_dept
DATE
VARCHAR(20)
DECIMAL(12,3)
INTEGER(4)
Cheie primar
NOT NULL
data_nasterii<data_angajarii
NOT NULL
Refer ca i cheie extern
cod_ang din acelai tabel
unic
>0
NOT NULL
Combinaia NUME +
PRENUME s fie unic
iar
apoi
recreai-l
implementnd
toate
Observaie: Constrngerea de tip NOT NULL se poate declara doar la nivel de coloan.
46
47
DEPARTMENTS
79.
Department_id
Department_name
Manager_id
Location_id
EMPLOYEES
employee_id
first_name
last_name
salary
Manager_id
Department_id
Job_id
Location_id
belongs to
Located in
LOCATIONS
location_id
country_id
street_address
city
is manager of
has job
JOBS
job_id
job_title
min_salary
max_salary
Located in (2)
COUNTRIES
country_id
country_name
region_id
Located in
(3)
JOB_HISTORY
employee_id
start_date
end_date
job_id
department_id
REGIONS
region_id
region_name
48
JOB_GRADES
Grade_level
Lowest_sal
Highest_sal
49
50
51
BAZE DE DATE.........................................................................................................................1
CAPITOLUL I. PROIECTARE (DESIGN) DE DATE (9 sapt.)................................................1
CURS 1. Preliminarii..............................................................................................................1
1.1.
Noiuni folosite n teoria bazelor de date................................................................1
1.2.
Funcionarea unei baze de date...............................................................................2
1.3
Realizarea unei baze de date...................................................................................3
CURS 2. Construirea de diagrame entitate-relaie..................................................................6
CURS 3. Proiectarea modelului relaional............................................................................15
3.1 Structura relaional a datelor...................................................................................15
CURS 4. Operatorii modelului relaional.............................................................................18
3.2 Operatorii modelului relaional..................................................................................18
CURS 5. Restricii de integritate ale modelului relaional...................................................32
3.3 Restricii de integritate ale modelului relaional.........................................................32
CURS 6. Prelucrarea/evaluarea i optimizarea cerinelor.....................................................38
CURS 7. Tehnica normalizrii relaiilor...............................................................................43
7.1 Prima form normal (FN1)........................................................................................44
7.2. A doua form normal (FN2)......................................................................................48
CURS 8. A treia form normal............................................................................................49
7.3. A treia form normal (FN3)......................................................................................49
CAPITOLUL II. SQL (9 sapt.).................................................................................................51
CURS 9. Limbajul SQL........................................................................................................51
CURS 10. Limbaje relaionale de definire a datelor (LDD).................................................56
CURS 11. Limbaje relaionale de manipulare a datelor (LMD) - Interogarea datelor.........63
CURS 12. Limbaje relaionale de manipulare a datelor (LMD) - Interogarea datelor din mai
multe relaii...........................................................................................................................67
CURS 13. Limbaje relaionale de manipulare a datelor (LMD) - Interogarea datelor din mai
multe relaii (continuare).......................................................................................................73
Curs 14. Funcii utilizate n interogri..................................................................................80
SINTEZ I EXERCIII.........................................................................................................85
52
id_
tipul
cnp
tip_solutionare
(1,n)
(0,1)
conin
(1,1)
(0,n)
are
finisate
ARHIVA_CER
ARHIVA_OFE
REZ:
DATE_PERSO
TRANSPORT:
TARIFE:
LOCALIT:
Operator
atribut
R1
se
R2
R3
OFERTE
regsete
asociat
din
R2
R1
icnp
id_
d_
tipul
FACTURI
FN2
FN3
BCFN
FN4
FN5
OFERTANTI
Relaia
FN1
DESCRIERE
CERERIJUDETE
LOCALITAT
STRZI
STRAZI:
data_inreg
(a)
(b)
FACTURI:
DATE_PERS
OFERTE
CERERI_OF
REZ:
LOCALITATI
JUDETE:
DESCRIERE
DATE_PERS
LOCALITAT
simbol_judet
aDEPOZIT_
numele,
cod_loc
DEPOZIT
CERERI_
PRODUS
nr_imobil
pret_max
a#
id_strada
JUDETE
pret_min
STRAZI
cnp
cod_loc
cnp
cod_loc
tipul
cnp
E
:de
:vin
simbol_jude
numele
id
Transport
Localit
cnp#
cod_loc#
tipul
D1
Jude
nume
Tarif
Jude
nr_telefon
D1 D1
CERERI_O
nr_
id_co
-FACTURI
Consultare:
PRODUSE
CLIENTI
LINII_FAC
FACTURI
01
cerere
=
R1
R3
R2
P
REZ:
S
R
atribut
atribut,
condiie
atribut
din
raft#
cnp#
id_tip_oferte
nr_factura#
simbol_judet#
simbol_judet#
cod_loc#
Formal
vin
numele
denumire
nume_loc
nume_loc
Uzual
raft
co#
ERI:
RTE:
comparaie
VECHI:
co#
ANA
: I cerere
:nr_factura#
universal
_IMOB
OFERTE
Isimbol_judet
id_strada#
OANA
OANA:
ERTE:
nr_telefon
_IMOBIL
PRODUS
OFERTE
OANA
IL
D3
D1
D4
P1
D1
2066
1210
BV
210
1066
Pop
0221
Bora
1701205230032
Ana
oferta
Maramure
Data_nreg<20
FERTE
factura#
SELECT
TURI
258102345
170120523
A
R
din
operator
,A
Rjoferta
,...,A
= mCab.
MM
430
Realie
j2
Cab.
01
11oferta
Baia
Tablou
Mare
1
arbore
12
1701205230023
12
id_oferta
id_co#
#id_co
cod_loc#
cnp#
# cerere
06-07-03
D1CJ400
1551212245038
autobuz
Baia
Maramure
Cluj11
2066
BV
1316
Sas
1210
Braov
Ioan
oferta
Braov
0362/409209
raft,
P2
D2
22
43
Cnp1
N1
cod_client#
vin,
cod_produs
nume_clien
nr_factura#
7723
0023
operator
de
SM
MM
Sauvignon
Sauvignon
Mare
algebric
AB
435
CJ
Tuplu
01
2cerere
Borsa
Linie
13
234
oferta
cerere
data_factura
tip_imobil
tip
nume_judet
simbol_judet
nume_str
numele
1551212245038
Mare
Napoca
000
P1
CJ
220
3161
Bora
234
cerere
Maramure
2760805270024
oferta
P3
D3
44
nume_clien
cod_client
producator
#
t#
nr_factura#
data_factur
de
atribut
comparai
din
(nu
este
435
Pinot
3
Noir
Pinot
Borsa
Noir Bibliografie
400
BV
Atribut
02
Cluj-Napoca
Coloan
etaj
cnp
nume_loc
adresa
troleibuz
Braov
BV230
Braov
Brasov
10
2560405570053
_ cerere
D11316
Braov
P4
D4
t710
a400
data_factur
FROM
denumire_
adresa_clie
cod_produs
comparai
R
e,
valoare
pret
nr_camere
data_inreg
nr_telefon
2
unic)
P3
2660805270023
000
22
Merlot
Pinot
ClujNoir
Domeniu
01
Botosani
Tip
de
53