Sunteți pe pagina 1din 3

CURS 3.

Proiectarea modelului relaional


Proiectarea corect a bazelor de date este crucial pentru obinerea unei
aplicaii de nalt performan.
Modelul relaional este cel mai utilizat dintre modelele de date existente
(modele ierarhice, modele reea, modele orientate pe obiect). Fa de modelele
ierarhic i reea, modelul relaional prezint cteva avantaje:
propune structuri de date uor de utilizat;
amelioreaz independena logic i fizic;
pune la dispoziia utilizatorilor limbaje neprocedurale;
optimizeaz accesul la date;
mbuntete confidenialitatea datelor.
Din punct de vedere istoric, trebuie menionat c modelul relaional s-a
conturat n dou articole publicate de ctre F.E. Codd n 1969 i 1970, matematician
la centrul de cercetri (California) I.B.M. Codd a propus o structur de date tabelar,
independent de tipul de echipamente i de software-ul de sistem pe care este
implementat. Dei puternic matematizat, modelul relaional este relativ uor de
neles.
Dac, teoretic, modelul s-a consacrat n anii 1970, produsele software care s
gestioneze baze de date au devenit populare abia n anii 80. Cele mai utilizate
sisteme de gestiune a bazelor de date relaionale (SGBDR) dedicate uzului
individual sunt: ACCESS, PARADOX, Visual Fox Pro. Pentru aplicaiile complexe din
bnci i instituii de mari dimensiuni se folosesc SGBDR-urile de categorie grea,
ORACLE, DB2 IBM, Informix IBM, SyBase (SyBase), SQL Server (MicroSoft);sunt
mult mai robuste, fiabile, dar i costisitoare. n ultimul timp i-au fcut apariia aazisele SGBD-uri (aproape) gratuite: PostgreSQL, MySQL, mSQL, FireBird etc.
(Acestea ruleaz de obicei pe sisteme de operare Linux).
Modelul relaional are la baz teoria matematic a relaiilor i poate fi privit ca
o mulime de tabele obinute prin metoda normalizrii, eliminndu-se astfel
anomaliile de actualizare.
Conceptele modelului relaional sunt:
1. structura relaional a datelor;
2. operatorii modelului relaional;
3. restriciile de integritate ale modelului relaional.
3.1 Structura relaional a datelor
O baz de date relaional (BDR) reprezint un ansamblu de relaii, prin care
se reprezint datele i legturile dintre ele.
n cadrul bazei de date relaionale, datele sunt organizate sub forma unor
tablouri bidimensionale (tabele) de date, numite relaii. Asocierile dintre relaii se
reprezint prin atributele de legtur. n cazul legturilor de tip unu la muli, aceste
atribute figureaz ntr-una dintre relaiile implicate n asociere. n cazul legturilor de
tip muli la muli, atributele sunt situate ntr-o relaie distinct, construit special
pentru explicarea legturilor ntre relaii.
Prezentarea structurii relaionale a datelor impune definirea noiunilor de:
domeniu;

relaie;
atribut;
schem a unei relaii.
Conceptele utilizate pentru a descrie formal, uzual sau fizic elementele de
baz ale organizrii datelor sunt date n urmtorul tabel:

Fig. 3.1. Concepte uzuale folosite n exprimarea formal, uzual i fizic


Domeniul

Domeniul reprezint o mulime de valori, notat prin litere mari D 1,D2 etc.,
caracterizat printr-un nume.
Modalitile de definire a unui domeniu sunt:
explicit: prin enumerarea tuturor valorilor aparinnd domeniului;
implicit: prin precizarea proprietilor pe care le au valorile din cadrul
domeniului.
Exemplu: D1: {Da, Nu} reprezint un domeniu definit explicit. D 2: {x| x este de dat
calendaristic} sau D3: {s| s este numr decimal} reprezint domenii definite implicit,
unde prin numr decimal se nelege un numr zecimal pentru care se precizeaz
numrul de cifre componente.

Printr-un tuplu se nelege o succesiune de valori de diferite tipuri. Un tuplu se


noteaz enumernd valorile sale <V 1,V2,V3,...,Vn>, unde V1 este o valoare din
domeniul D1, V2D2 etc.
Exemplu: Considerm c tuplul referitor la persoana x din entitatea
CERERI_OFERTE conine trei valori diferite ce desemneaz:
codul numeric personal (cnp): 1701205230023;
data nregistrrii ofertei (data_nreg): 2006-07-03;
tipul soluionrii (tip_soluionare): Nu.
Se formeaz tuplul <1701205230023, 2006-07-03, Nu>.
Relaia

Relaia R este un subansamblu al produsului cartezian dintre mai multe


domenii D1, D2, ..., Dn, reprezentat sub forma unei tabele de date (tabelul
bidimensional) i deci, o mulime de tupluri.
Exemplu: Considerm c:
D1 conine valori care exprim cnp-ul persoanei.
D2 cuprinde valori ale datei calendaristice;
D3 cuprinde valori referitoare la tipul soluionrii tranzaciei: Da, dac
tranzacia a fost soluionat, Nu, n caz contrar.
De asemenea considerm c se cunosc datele a doi ofertani i c fiecare pune n
vnzare doar cte un imobil. Atunci definim relaia R prin tuplurile care descriu
aceste informaii ale ofertelor celor dou persoane:

R: {<1701205230023,2006-07-03, Nu>, <2661805270023,2006-05-27, Da>}.

sau
R:
D1
2661805270023
1701205230023

D2

D3

2006-05-27
2006-07-03

Da
Nu

Fig. 3.2. Variante de prezentare a unei relaii R


Observaia 1. ntr-o relaie, tuplurile trebuie s fie distincte.
Observaia 2. Cardinalul relaiei este numrul tuplurilor dintr-o relaie.
Gradul relaiei este numrul valorilor dintr-un tuplu.

Atributul
Atributul reprezint coloana unei tabele de date, caracterizat printr-un nume.
Exemplu:
R:
cnp: D1
data_nreg:D2
tip_
soluionare:D3

2661805270023
1701205230023

2006-05-27
2006-07-03

Da
Nu

Fig. 3.3. Relaia R reprezentat cu ajutorul atributelor


Atributele sunt utile atunci cnd ntr-o relaie un domeniu apare de mai multe
ori. Prin numele dat fiecrei coloane (atribut), se difereniaz coloanele care conin
valori ale aceluiai domeniu, eliminnd dependena fa de ordine.

Schema unei relaii


Schema unei relaii este numele relaiei urmat de lista de atribute, pentru
fiecare atribut precizndu-se domeniul asociat.
Astfel, pentru o relaie R cu atributele A1, A2, ... , An i domeniile D1, D2, ... ,Dm,
cu m n, schema relaiei R poate fi prezentat astfel:
R(A1: D1, A2:D2, ... , An: Dm)
sau
R:
A1:D .. An:Dm
.
1
Fig. 3.4. Reprezentarea schemei relaiei R
Ca o concluzie, dintre caracteristicile modelului relaional menionm:
- nu exist tupluri identice;
- ordinea liniilor i a coloanelor este arbitrar;
- articolele unui domeniu sunt omogene;
- fiecare coloan definete un domeniu distinct i nu se poate repeta n cadrul
aceleiai relaii.

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