Sunteți pe pagina 1din 50

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 (pn la sfritul anilor 70); generaia a-II-a: BD relaionale (sfritul anilor 70 i pn acum); generaia a-III-a: BD orientate obiect (sfritul anilor 80 i pn acum).

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)

Baze de date relationale


Avantajele BDR fa de fiiere

Baze de date relationale


Condiii minimale pentru ca un SGBD s fie relaional: s implementeze modelul de date relaionale prin LDD i LMD; s implementeze cel puin un limbaj relaional.

Baze de date relationale


Definirea entitilor se face sub forma unor tablouri bidimensionale numite tabele sau relaii de date.

Baze de date relationale


Atribute A1 A2 A3 An Numele atributelor

Membrii entitii

vi3

Tuplul i

Valoare

Baze de date relationale


DOMENIU este un ansamblu de valori caracterizat printr-un nume.
El poate fi explicit (se enumer valorile posibile, de exemplu D1:{M, F}) sau implicit (se precizeaz proprietile valorilor, de exemplu 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 nicio 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 care au rolul de a identifica un tuplu dintr-o tabel.

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


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
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


La nivelul organizrii fizice exist urmtoarele corespondene:
o relaie poate fi asociat unui fiier, un tuplu se asociaz cu o nregistrare, o coloan corespunde unui cmp din nregistrare.

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


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). Modelul este simplu, are o solid fundamentare teoretic fiind bazat pe teoria seturilor (ansamblurilor) i pe logica matematic.

2.

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


Proiectarea unei baze de date pornete de la identificarea setului de date necesar sistemului. Aceste date sunt apoi integrate i structurate prin tehnica normalizarii.

Baze de date relationale


Exemplu: baza de date destinata gestionarii comenzilor efectuate de catre clientii unei companii.

Baze de date relationale

Baze de date relationale


Tehnica de normalizare este utilizat n activitatea de proiectare a structurii BDR i const n ameliorarea progresiva a structurii bazei de date prin eliminarea unor anomalii (neajunsuri) de actualizare din structur.
Prin normalizare se are n vedere atat eliminarea anomaliilor cat si a dependenelor nedorite ntre date si eliminarea redundanelor.

Baze de date relationale


Anomalia de tergere semnific faptul c stergnd un tuplu dintr-o tabel, pe lng informaiile care trebuie terse, se pierd i informaiile utile existente n tuplul respectiv;
Anomaliile de adugare semnific faptul c nu pot fi incluse noi informaii necesare ntr-o tabel, deoarece nu se cunosc i alte informaii utile (de exemplu valorile pentru cheie); Anomalia de modificare semnific faptul c este dificil de modificat o valoare a unui atribut atunci cnd ea apare n mai multe tupluri.

Baze de date relationale


O baz de date nenormalizat este adus mai nti n forma normal unu (FN1), apoi n forma normal 2 (FN2) .a.m.d., prin aplicarea unor reguli de optimizare a structurii bazei de date ce urmresc spargerea unui tabel nenormalizat n dou sau mai multe tabele normalizate, fr pierdere de informaii.
FN1 FN2 FN3 BCNF FN4 FN5

Baze de date relationale


Figura sugereaz faptul c FN2 este de preferat FN1, FN3 este de preferat FN2, FN4 este de preferat FN3, FN5 este de preferat FN4.

Baze de date relationale


FN1. O tabel este n FN1 dac toate atributele ei conin valori elementare (nedecompozabile), adic fiecare tuplu nu trebuie s aib date la nivel de grup sau repetitiv. Structurile de tip arborescent i reea se transform n tabele cu atribute elementare.

Baze de date relationale


O tabel n FN1 prezint nc o serie de anomalii de actualizare datorit eventualelor dependene funcionale incomplete.
Fiecare structur repetitiv genereaz (prin descompunere) o nou tabel, iar atributele la nivel de grup se nltur, rmnnd doar cele elementare.

Baze de date relationale

Baze de date relationale


FN2. O tabel este n FN2 dac i numai dac este n FN1 i fiecare atribut noncheie al tabelei este dependent funcional complet de cheie.
Un atribut B al unei tabele depinde funcional de atributul A al aceleiai tabele, dac fiecrei valori a lui A i corespunde o singur valoare a lui B, care i este asociat n tabel. Un atribut B este dependent funcional complet de un ansamblu de atribute A n cadrul aceleiai tabele, dac B este dependent funcional de ntreg ansamblul A (nu numai de un atribut din ansamblu).

Baze de date relationale


O tabel n FN2 prezint nc o serie de anomalii de actualizare, datorit eventualelor dependene tranzitive.
Eliminarea dependenelor incomplete se face prin descompunerea tabelei iniiale n dou tabele, ambele coninnd atributul intermediar.

Baze de date relationale

Baze de date relationale


FN3. O tabel este n FN3 dac i numai dac este n FN2 i fiecare atribut noncheie depinde n mod netranzitiv de cheia tabelei.
ntr-o tabel T, fie A,B,C trei atribute cu A cheie. Dac B depinde de A (A -> B) i C depinde de B (B -> C) atunci C depinde de A n mod tranzitiv.

Baze de date relationale


Eliminarea dependenelor tranzitive se face prin descompunerea tabelei iniiale n dou tabele, ambele coninnd atributul intermediar.
O tabel n FN3 prezint nc o serie de anomalii de actualizare, datorate eventualelor dependene multivaloare.

Baze de date relationale

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