Documente Academic
Documente Profesional
Documente Cultură
Noiuni fundamentale
1.1. Generaliti
n lumea modern bogia unei organizaii (instituie, firm, ONG, etc.)
este constituit - pe lng resursele materiale i umane - i din informaia
aflat la dispoziie. Pentru ca aceast resurs important s poat fi
exploatat cu rezultate profitabile trebuie ca ea s fie gestionat eficient.
Cea mai optim metod existent la ora actual este crearea, utilizarea i
ntreinerea unor Sistemele de gestiune a bazelor de date computerizate.
Prin Baz de date (BD) se nelege o colecie de informaii stocate pe
calculator astfel nct acestea s poat fi accesate, modificate sau terse.
Sistemul de gestiune a bazelor de date (SGBD) este un software care
realizeaz interfaa ntre sistemul de operare al calculatorului i beneficiarul
care solicit informaii din BD.
Cele mai importante funcii ale SGBD sunt:
TEST
1.1.1. Printr-o baz de date se nelege:
a. un fiier cu date;
b. colecie de informaii stocate astfel nct s poat fi regsite,
modificate sau terse;
c. un tabel cu nregistrri.
1.1.2. Principalele funcii ale unui SGBD sunt:
a. stocarea, regsirea i actualizarea datelor;
b. faciliteaz accesul simultan al mai multor utilizatori;
c. securizarea datelor prin parolare.
1.1.3. Avantajele accesrii datelor printr-un SGBD sunt:
a. asigurarea integritii datelor;
b. reducerea redondanei;
c. creterea securitii.
1.1.4. Limbajele de interogare utilizate n gestiunea BD pot fi:
a. algebrice;
b. logice;
c. relaionale.
1.1.5. Datele stocate ntr-o baz de date sunt:
a. scalare;
b. vectoriale;
c. complexe1.
1.2. Colecii de date
O colecie de date reprezint un ansamblu de date omogene.
Omogenitatea nu trebuie privit n sensul restrns al uniformitii. n
acest context se consider omogene toate datele implicate ntr-o aceeai
aplicaie.
ntre coleciile de date se stabilesc relaii concretizate prin reguli,
algoritmi matematici sau metode de calcul prin care unei date i corespund:
nici una, una sau mai multe date. n consecin aa cum se arat n Figura
1.1. exist relaii de coresponden de tip:
una la una cnd unei date dintr-o colecie i corespunde o
singur dat din alt colecie;
1
Colecia 1
Colecia 2
a.
Colecia 1
Colecia 2
b.
Colecia 2
Colecia 1
c.
Colecia 2
d.
Colecia
primar
Colecia
secundar
a.
Colecia 1
Colecia 2
b.
Colecia 1
Colecia 2
c.
sau datele din Colecia 2 sunt cele determinate. Colecia 1 este colecie
primar iar Colecia 2 este secundar. Dac relaia este bidirecional se
poate pleca de la oricare din cele dou colecii obinndu-se acelai efect.
n Figura 1.2. se schematizeaz aceste tipuri i se demonstreaz c
o coresponden bidirecional se poate reduce la dou relaii
unidirecionale. O colecie de date poate fi independent sau legat de una
ori mai multe alte colecii de date. n general, n Sistemele de gestiune a
bazelor de date relaionale, detectarea legturilor ntre colecii reprezint un
capitol important n efortul de proiectare conceptual.
TEST
1.2.1. O colecie de date reprezint:
a. un set de date scalare;
b. un ansamblu de date omogene,
c. un vector.
1.2.2. ntre dou colecii de date se poate stabili:
a. o coresponden;
b. o relaie de subsidiaritate;
c. o relaie de recuren.
1.2.3. Corespondena ntre dou colecii poate fi:
a. una la una;
b. una la mai multe;
c. mai multe la mai multe.
1.2.4. Relaia ntre dou colecii poate fi:
a. nondirecional;
b. unidirecional;
c. bidirecional.
1.2.5. O colecie de date poate fi legat printr-o relaie de:
a. doar de o singur alt colecie;
b. mai multe alte colecii;
c. nici una, una sau mai multe colecii2.
1.3. Structuri de date
O colecie de date creia i se ataeaz un mecanism de localizare
(identificare, selecie) a datelor componente devine o Structur de date.
2
Cmp 1
nregistrri
Tupla 1
Dat complex 1
Tupla 2
Dat complex 2
Cmp N
...
Dat complex M
Tupla M
Tabel unic
Nume
material
...
Ciment
Gresie
Crmizi
...
...
Bolari
Gresie
...
UM
...
t
m2
buc.
...
buc.
m2
...
Calitate
...
1
1
2
...
1
1
2
...
Denumire
furnizor
...
Dino Grup
ItalConstruct
MatCons
...
MatCons
Mondial
...
Cod fiscal
furnizor
...
6546781
4235112
3287923
...
Cantitate
...
256
13200
546000
...
3287923
1879224
...
126000
8340
...
Cantitate
Pre
unitar
...
120
15
8
0.1
0.3
...
P.U.
...
(euro)
...
280
20
0.1
...
0.3
15
...
...
...
...
...
...
...
...
...
...
...
1
1
2
2
1
...
...
256
13200
8340
546000
12600
...
Materiale
Denumire
UM
...
...
ciment
...
t
...
...
Cod
furniz.
...
dn_grp
m2
buc
.
buc
.
...
...
...
ital
matc
grs
crm
gresie
caramizi
blt
bolari
...
Stocuri
Cod
furnizor
...
dn_grp
ital
iups
matc
matc
...
Calitate
...
iups
...
...
...
...
...
...
...
...
...
Furnizori
Nume
Cod
furnizor
fiscal
...
...
DinoGrup 654678
1
ItalCeram 4235112
MatCons
328792
3
IUPS
187922
4
...
...
...
...
...
...
...
Tabela 1
Tabela 2
Tabela 3
Tabela 4
nregistrarea k1
nregistrarea k4
nregistrarea k2
nregistrarea k3
11
Nume_client
...
Pop Ionel
erban Vasile
Roth Alfred
...
Telefon
...
143566
264538
311698
...
Fax
...
Yes
Yes
No
...
Mod_plata
...
card
card
cash
...
Tabelul 1.3.a.
Rezultatul aplicrii seleciei este:
Cod_client
...
263
264
...
Tabelul 1.3.b.
Nume_client
...
Pop Ionel
erban Vasile
...
Telefon
...
143566
264538
...
Fax
...
Yes
Yes
...
Mod_plata
...
card
card
...
Telefon
...
12
Fax Mod_plata
...
...
263
Pop Ionel
...
...
Tabelul 1.3.c.
143566
...
Yes
...
card
...
13
Cod
Nume
produs
produs
245
Faian
167
Crmizi
216
Mozaic
Tabelele 1.4.a.
Cod
produs
144
213
134
Nume
produs
Beton
Gresie
Bolari
B
Cod
produs
216
213
134
Nume
produs
Mozaic
Gresie
Bolari
rezult tabloul C care este disjuncia celor dou mulimii de nregistrri din
tablourile iniiale:
C
Cod
Nume
produs
produs
245
Faian
134
Bolari
Tabelul 1.5.b.
MINUS se poate utiliza i pentru tergerea unei nregistrri dintr-un
tabel. n consecin acest operator asigur posibilitatea de a elimina o tupl
din baz de date. De exemplu:
A MINUS < 245, Faian>
produce eliminarea din tabel a nregistrrii aa cum se vede n tabelul
1.5.c. (A**):
A**
Cod
produs
Nume
produs
15
213
Gresie
216
Mozaic
Tabelele 1.5.c.
Operatorul PRODUCT este un operator binar n care din cele dou
tablouri de intrare se combin ntr-un produs cartezian. Sintaxa operatorului
este:
T1 PRODUCT T2
unde T1 i T2 sunt cele dou tablouri de intrare. De exemplu dac se aplic
PRODUCT pentru tabelele A i B din setul de tabele 1.6.a:
A PRODUCT B
A
Nume
produs
Faian
Gresie
Tabelele 1.6.a.
B
Depozit
Arad
Timioara
16
Instruciuni
Romn
Englez
Francez
Romn
Francez
Romn
Englez
Francez
Englez
Tabelele 1.7.a.
D1
Nume
produs
Aspirator
Mixer
Videorecorder
Tabelul 1.7.b.
B
Limba instruciuni
Romn
Englez
Francez
C
Limba instruciuni
Francez
Englez
D2
Nume
produs
Aspirator
TV
Tabelul 1.7.c.
B
Nume
produs
Cod
produs
17
Nume
produs
245
Faian
213
Gresie
216
Mozaic
Tabelele 1.8.a.
144
213
134
Beton
Gresie
Bolari
B
Nume
produs
Bolari
Gresie
Crmizi
18
Pre
0.3
8
0.1
213
Gresie
Crmiz
167
i
Tabelul 1.9.b.
8
0.1
b. Operatorul EQUI-JOIN
EQUI-JOIN este similar cu NATURAL-JOIN, dar cuprinde o condiie
ce specific atributul prin care se realizeaz corelaia ntre cele dou
tablouri. Sintaxa operatorului este:
JOIN T1 AND T2 WHERE T1.k=T2.l
Ex.1 JOIN A AND B WHERE A.Nume_produs=B. Nume_produs
A
Cod
Nume
produs
produs
216
Mozaic
213
Gresie
167
Caramizi
Tabelele 1.10.a.
B
Nume
produs
Bolari
Gresie
Caramizi
Pre
0.3
8
0.1
19
Produs
Carne
Unt
Pateu
A003
ficat
A004
Frisca
Tabelul 1.11.b.
Pret
5
3
3
2
C
Cod_s
S001
S002
Inlocuitor
Soia
Margarin
S003
Pate ciuperci
S004
Hulala
Pret_s
2
1
2
1
c. Operatorul THETA-JOIN
THETA-JOIN este varianta generalizat a operatorului EQUI-JOIN
deoarece relaia de corelare nu este o egalitate ci devine o comparaie.
Sintaxa operatorului este:
JOIN T1 AND T2 WHERE T1.k T2.l
n locul se pot folosi oricare din operatorii de comparaie (< <=, >,
=>, !=, =).
A(Manopera_frizerie)
Cod
Serviciu
Pret_s
S001
Tuns
3
S002
Frezat
1
S003
Masaj
1
S004
Barbierit
2
Tabelele 1.12.a.
B(Materiale consumabile)
Cod
Mat.
Pret_m
S001 Deodorant
2
S002 Fixativ
2
S003 Parfum
4
S004 Spuma ras
1
Pret_m
2
1
d. Operatorul SEMI-JOIN
Operatorul SEMI-JOIN genereaz un tabel de ieire ce cuprinde toate
tuplele din primul tabel T1 corelate cu oricare din tuplele tabloului T2 astfel
nct condiia specificat n clauza WHERE s fie ndeplinit. Sintaxa
operatorului este:
S JOIN T1 AND T2 WHERE T1.k=T2.l
Ex.1 S JOIN A AND B WHERE A.Nume_produs=B.Nume_produs
A
Cod
Nume
produs
produs
216
Mozaic
213
Gresie
167
Crmizi
Tabelele 1.13.a.
B
Nume
produs
Bolari
Gresie
Crmizi
Pre
0.3
8
0.1
B
Nume
produs
Nume
produs
21
Pret
216
Mozaic
213
Gresie
167
Caramizi
Tabelele 1.13.a.
Bolari
Gresie
Caramizi
0.3
8
0.1
a.
b.
c.
SELECT T;
SELECT T WHERE condiie;
SELECT T(a) WHERE condiie.
c.
23
24
25