Sunteți pe pagina 1din 47

BAZE DE DATE RELATIONALE

Curs 2
Baze de date relationale
Baze de date relationale
Baza de date se definete ca fiind

ansamblul coleciilor de date

mpreun cu

structura acestora

i

relaiile dintre ele.
Baze de date relationale
Generatii de baze de date:

generaia I: BD arborescente i reea;
generaia a-II-a: BD relaionale;
generaia a-III-a: BD orientate obiect.
Baze de date relationale
Bazele de date relaionale (BDR) utilizeaz
modelul de date relaional i noiunile
aferente.

BDR este un ansamblu organizat de tabele
(relaii) mpreun cu legturile dintre ele.
Baze de date relationale
BDR au o solid fundamentare teoretic, n
special prin cercetrile de la IBM conduse
de
Edgar Frank Ted Codd.


(1923 - 2003) Edgar (Ted) Codd passed away
IBM Website


Larry Ellison
BD - baza de date reprezint componenta de
tip date a sistemului (coleciile de date propriu-
zise);
SGBD - sistemul de gestiune a bazei de date
ansamblul de programe prin care se asigur
gestionarea i prelucrarea complex a datelor
i care reprezint componenta software a
sistemului de baze de date.
Baze de date relationale
Nivel Extern
Schema Externa 1
Valoare produs
Valoare totala
factura
Nivel
Conceptual
Factura (NrFactura, DataFactura, CodClient, CotaTVA)
ProdusFacturat (NrFactura, CodProdus, Cantitate, Pret)
Produs (CodProdus, DenumireProdus, UM)
Nivel Intern
(Fizic)
Valoare TVA

BD
Schema fizica

Proces
modelare
Normalizare
Implementare
Valoare totala pe
produs
' Restricii de integritate la nivelul relatiei FACTURA
RI1: NrFactura cheia primar
' Restricii de integritate la nivelul relatiei PRODUSFACTURAT
RI2: NrFactura si CodProdus cheia primar
' Restricii de integritate la nivelul relatiei PRODUS
RI3: CodProdus cheia primar
' Restricii de integritate la nivelul bazei de date
RIR1: NrFactura din ProdusFacturat refer NrFactura din FACTURA
RIR2: CodPrododus din ProdusFacturat refer CodProdus din PRODUS
Valoare totala
generala
Schema Externa 2
Schema conceptuala
Baze de date relationale
Condiii minimale pentru ca un SGBD s fie
relaional (Codd):

1.s implementeze modelul de date relaionale
prin LDD i LMD;
2.s implementeze cel puin un limbaj relaional.
Baze de date relationale
Baze de date relationale
Definirea entitilor se face sub forma unor tablouri
bidimensionale numite tabele sau relaii de date.

Tuplul i
Valoare
M
e
m
b
r
i
i

e
n
t
i
t

i
i

Numele
atributelor
Atribute
A1 A2 A3 An
v
i3

Baze de date relationale
DOMENIUL este un ansamblu de valori
caracterizat printr-un nume.

El poate fi explicit (se enumer valorile posibile,
D1:{M, F}) sau implicit (se precizeaz
proprietile valorilor, D1:{a/aN}).
Baze de date relationale
TABELA/RELAIA este un subansamblu al
produsului cartezian al mai multor domenii,
caracterizat printr-un nume.
Baze de date relationale
ATRIBUTUL este coloana unei tabele,
caracterizat printr-un nume.

Numrul de domenii este mai mic sau egal cu
numrul de atribute pentru o tabel (mai multe
atribute pot lua valori din acelai domeniu).
Baze de date relationale
TUPLUL este linia dintr-o tabel i nu are nume.

Ordinea liniilor (tupluri) i coloanelor (atribute)
dintr-o tabel nu trebuie s prezinte importan.
Baze de date relationale
SCHEMA TABELEI este numele tabelei, urmat
ntre paranteze rotunde de lista atributelor, iar
pentru fiecare atribut se precizeaz domeniul
asociat.
Baze de date relationale
CHEIA este un atribut (sau un ansamblu de
atribute) cu rol de a identifica un tuplu dintr-o
tabel.

Cheie:
1.Primara
2.Externa
Baze de date relationale
SCHEMA RELAIONAL pune in evidenta legaturile dintre tabele.

Definirea legturilor dintre tabele se face logic construind
asocieri ntre tabele cu ajutorul unor atribute de legtur.

Atributul din tabela iniial se numete cheie extern iar cel din
tabela final este cheie primar.
Baze de date relationale
Potenial, orice tabel se poate lega cu orice tabel, dup orice
atribute.

Legturile se stabilesc la momentul descrierii datelor prin limbaje
de descriere a datelor (LDD), cu ajutorul restriciilor de
integritate.

Practic, se stabilesc i legturi dinamice la momentul execuiei.
Baze de date relationale
Legturile posibile sunt 1:1, 1:m, m:n.

Baze de date relationale
Relaiile de tipul 1:1 (unu la unu), presupun c
unui membru din colecia A i corespunde un
singur membru din colecia B.

A B
Baze de date relationale
Relaiile de tipul 1:m sau m:1 (unu la muli sau
muli la unu), care presupun c unui membru
din prima entitate A i corespund mai muli
membri din a doua entitate B; astfel de relaii se
mai numesc i relaii ierarhice



A B A B
Baze de date relationale
Relaiile de tipul m:m (muli la muli), n care
unui membru din entitatea A i corespund mai
multe date din colecia B i invers.

A B
Baze de date relationale
Relaii de tip muli la muli se mai numesc i relaii de tip reea.
O relaie muli la muli se va descompune ntotdeauna n dou relaii,

o relaie tip unu la muli

i respectiv o a doua relaie de tip muli la unu

prin intermediul unei entiti de legtur.
Baze de date relationale
Exemplul 1:

Fie tabela STUDENT cu atributele: NUME din domeniul D1
(numele de persoane), ANSTUDIU din domeniul D2 (anii de
studiu dintr-o facultate), ANNATERE din domeniul D3 (anii
calendaristici).

Baze de date relationale
Schema tabelei :
STUDENT (NUME: D1, ANSTUDIU: D2, ANNATERE: D3).
Baze de date relationale
Exemplul 2:

Fie o BD privind desfacerea n care am identificat tabelele: BENI, CONTR,
PROD.

Legturile dintre tabele sunt:
un beneficiar poate ncheia mai multe contracte (1:M);
un produs se poate livra prin mai multe contracte (1:M);
un beneficiar poate cumpra mai multe produse i un produs se poate livra
ctre mai muli beneficiari (M:N).
Baze de date relationale
Baze de date relationale
Restriciile de integritate sunt reguli care asigur
corectitudinea i coerena datelor.

Restriciile de integritate ale modelului
relaional sunt structurale i comportamentale.
Baze de date relationale
Restriciile structurale sunt:

Restricia de unicitate a cheii. ntr-o tabel nu trebuie s existe mai
multe tupluri cu aceeai valoare pentru ansamblul cheie;

Restricia referenial. Intr-o tabel t1 care refer o tabel t2, valorile
cheii externe trebuie s figureze printre valorile cheii primare din t2
sau s ia valoarea null (neprecizat);

Restricia entitii. Intr-o tabel, atributele din cheia primar nu trebuie
s ia valoarea NULL.

Cele trei restricii de mai sus sunt minimale.
Baze de date relationale
Restriciile de comportament sunt cele care se
definesc prin comportamentul datelor i in cont
de valorile din BDR:

Restricia de domeniu. Domeniul corespunztor unui atribut dintr-o
tabel trebuie s se ncadreze ntre anumite valori;

Restricii temporare. Valorile anumitor atribute se compar cu nite
valori temporare (rezultate din calcule etc.).

Restriciile de comportament fiind foarte generale se
gestioneaz fie la momentul descrierii datelor (de
exemplu prin clauza CHECK), fie n afara modelului la
momentul execuiei.
Baze de date relationale
Tranzacia reprezint o secven liniar de operaii
executate asupra unei baze de date care este
partajat de mai muli utilizatori.
Tranzaciile se folosesc, de obicei, ntr-o procedur n
care se execut mai multe operaii de actualizare a
bazei de date i se dorete garantarea faptului c
toate operaiile s-au executat cu succes.
n cazul apariiei unei erori la una din actualizri
toate cele anterioare se pot anula.
Baze de date relationale
O tranzacie poate fi:
Salvat (commited)-n situaia n care toate operaiile
tranzaciei au fost ncheiate cu succes, iar baza de date a
fost actualizat.
Derulat napoi (rollback)-n situaia n care toate
operaiile tranzacionate au fost anulate, iar baza de date a
fost restaurat la starea dinaintea tranzaciei.

Baze de date relationale
Caracterizarea general a modelului relaional.

1. A fost propus de ctre IBM i a revoluionat reprezentarea datelor n BD
fcnd trecerea la o nou generaie (a doua).

2. Modelul este simplu, are o solid fundamentare teoretic fiind bazat pe
teoria seturilor (ansamblurilor) i pe logica matematic.
Baze de date relationale
3. Pot fi reprezentate toate tipurile de structuri de date de mare complexitate,
din diferite domenii de activitate.

4. Implementarea modelului se face logic prin atribute avnd rol de chei.

5. Baza de date relaional este un ansamblu de tabele prin care se reprezint
att datele ct i legturile dintre ele.
Baze de date relationale
6. Limitele modelului relaional:

prea marea simplitate a modelului l face dificil de aplicat pentru
noile tipuri de aplicaii (multimedia, internet etc.);

nu asigur o independen logic total a datelor de aplicaie;

pentru aplicaii de volum i complexitate foarte mari nu mai face
fa;

poate introduce o redundan prea mare (la proiectare prin tehnica
de normalizare).
Baze de date relationale
Algebra relationala (relational algebra)-const
dintr-o mulime de operaii care au ca operanzi
relaii, iar rezultatul este tot o relaie
Baze de date relationale
Operatiile pe multimi ale algebrei relationale
Reuniunea
Intersectia
Diferenta
Produsul Cartesian

Operatiile speciale ale algebrei relationale
Selectia
Proiectia
Jonctiunea
Diviziunea
Baze de date relationale
Reuniunea
Baze de date relationale
Intersectia
Baze de date relationale
Diferenta
Baze de date relationale
Produsul Cartesian
Baze de date relationale
Selectia
Baze de date relationale
Proiectia
Baze de date relationale
Jonctiunea
Baze de date relationale
Diviziunea

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