CURS 3

3
CURS 3. Proiectarea modelului relaţional Proiectarea corectă a bazelor de date este crucială aplicaţii de înaltă performanţă. Modelul relaţional este cel mai utilizat dintre modelele de date exis (modele ierarhice, modele reţea, modele orientate pe obi ierarhic şi reţea, modelul relaţional prezintă cte!a a!anta"e# $ propune structuri de date uşor de utilizat% $ ameliorează independenţa lo&ică şi fizică% $ pune la dispoziţia utilizatorilor limba"e neprocedurale% $ optimizează accesul la date% $ îmbunătăţeşte confidenţialitatea datelor. 'in punct de !edere istoric, trebuie menţionat m conturat în două articole publicate de către F. . odd în *+ + la centrul de cercetări ( alifornia) /.0.M. odd a propus o st independentă de tipul de echipamente şi de soft1are$ul de siste implementată. 'eşi puternic matematizat, modelul relaţiona înţeles. 'acă, teoretic, modelul s$a consacrat în anii *+- , produse &estioneze baze de date au de!enit populare abia în anii 2 . e sisteme de &estiune a bazelor de date relaţionale (340'5)dedicate uzului indi!idual sunt# 6 33, P656'78, 9isual Fox Pro. Pentru aplica bănci şi instituţii de mari dimensiuni se folosesc 340'5$urile 756 < , '0= /0M, /nformix /0M, 3>0ase (3>0ase), 3?< 3er!er (Mic mult mai robuste, fiabile, dar şi costisitoare. @n ultimul timp zisele 340'$uri (aproape) &ratuite# Post&re3?<, M>3?<, m3 (6cestea rulează de obicei pe sisteme de operare <inux). Modelul relaţional are la bază teoria matematică a relaţiil o mulţime de tabele obţinute prin metodanormalizării, eliminndu$se astfel anomaliile de actualizare. Conceptele modelului relaţional sunt: 1. structura relaţională a datelor; 2. operatorii modelului relaţional; A. restricţiile de integritate ale modelului relaţional. 3.1 Structura relaţională a datelor 7 bază de date relaţională ( BDR ) reprezintă un ansamblu de relaţii, p se reprezintă datele şi le&ăturile dintre ele. @n cadrul bazei de date relaţionale, datele sunt o tablouri bidimensionale (tabele) de date, numite relaţii . 6socierile dintre relaţii reprezintă prin atributele de le&ătură. @n cazul le&ăturilor de atribute fi&urează într$una dintre relaţiile implicate în asoci tip :mulţi la mulţi;, atributele sunt situate într$o relaţie di pentru explicarea le&ăturilor între relaţii. Prezentarea structurii relaţionale a datelor impune definir $ domeniu%

Transcript of CURS 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 aa-zisele 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:

FormalUzualFizicRelaieTablouFiierTupluLinienregistrareAtributColoanCampDomeniuTip de datTip de datFig. 3.1. Concepte uzuale folosite n exprimarea formal, uzual i fizic

Domeniul

Domeniul reprezint o mulime de valori, notat prin litere mari D1,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. D2: {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 , 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 .

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: {, }.sau R: D1 D2 D3 26618052700232006-05-27Da

17012052300232006-07-03Nu

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: cnp: D1data_nreg:D2tip_soluionare:D3

26618052700232006-05-27Da

17012052300232006-07-03Nu

R:

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) sauR: A1:D1...An:Dm

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.