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

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.

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.

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

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.

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.

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