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