Sunteți pe pagina 1din 15

Cursul 7 Baze de date relationale

Definitie BDR
O baz de date relaional (BDR) reprezint un

ansamblu de relaii (tabele) de date mpreun cu legturile dintre ele.

Normalizarea
Este o teorie construit de EF Codd n jurul conceptului de

forme normale (FN), care amelioreaz structura BD prin nlturarea treptat a unor neajunsuri i prin adugarea unor faciliti sporite privind manipularea datelor. Scopul proiectrii unei BDR este ca informaiile sa fie stocate ntr-un singur loc, n locul cel mai potrivit. Se grupeaza atributele n relatii cu scopul de a minimiza redundanta informatiilor si (odata cu aceasta) spatiul ocupat de relatii pe suportul disc.

Normalizarea
Tehnica de normalizare este utilizat n activitatea de

proiectare a structurii BDR i const n eliminarea unor anomalii (neajunsuri) de actualizare din structur. Normalizarea utilizeaz ca metod descompunerea topdown a unei tabele n dou sau mai multe tabele, pstrnd informaii (atribute) de legtur.

Anomaliile de actualizare
anomaliile de adugare = nu pot fi incluse noi

informaii necesare ntr-o tabel deoarece nu se cunosc i alte informaii utile (de exemplu valorile pentru cheie), informatiile isi pot pierde consistenta anomalia de tergere = stergnd un tuplu dintr-o tabel, pe lng informaiile terse, se pierd i informaiile utile existente n tuplul respectiv; anomalia de modificare = este dificil de modificat o valoare a unui atribut atunci cnd ea apare n mai multe tupluri.
Simbol SNP SNP TLV TLV TLV Emitent Petrom Petrom Banca Transilvania Banca Transilvania Banca Transilvania Cod_Fiscal 1590082 1590082 5022670 5022670 5022670 Cod_Piata REGS ODDS REGS ODDS REGS Den_Piata Regular Odd lot Regular Odd lot Regular Data 07.01.2014 07.01.2014 07.01.2014 07.01.2014 08.01.2014

Val_totala 1.600.000 500.000 1.200.379 119.000 1.258.379

Dependente funcionale
Descrie un anumit tip de legtura care se stabilete intre atributele

aceleiai relaii; Fie o schema de relatie R si fie submultimile de atribute A si B din R, AR si B R; Spunem ca B depinde functional de A si scriem A B daca pentru orice relatie legala r, construita pe schema de relatie R, se verifica urmatoarea situatie:
pentru orice pereche de tupluri t1 si t2 din r, pentru care t1[A]=t2[A], are loc

intotdeauna si t1[B]=t2[B].

Aceasta inseamna ca atunci cand un tuplu t1 are (pe submultimea de

atribute A) aceeasi valoare cu alt tuplu t2, obligatoriu cele doua tupleuri vor avea aceeasi valoare si pe submultimea de atribute B. Valorile din B sunt in mod unic determinate de valorile din A.

Dependente functionale
Simbol SNP SNP TLV TLV TLV Emitent Petrom Petrom Banca Transilvania Banca Transilvania Banca Transilvania Cod_Fiscal 1590082 1590082 5022670 5022670 5022670 Cod_Piata REGS ODDS REGS ODDS REGS Den_Piata Regular Odd lot Regular Odd lot Regular Data 07.01.2014 07.01.2014 07.01.2014 07.01.2014 08.01.2014 Val_totala 1.600.000 500.000 1.200.379 119.000 1.258.379

Forma normala 1
O relaie R este n FN1 dac domeniile pe care sunt

definite atributele relaiei sunt constituite numai din valori atomice (elementare). n plus, un tuplu nu trebuie s conin atribute sau grupuri de atribute repetitive. Este forma de baz a relaiilor, care figureaz ca cerin minimal n cazul majoritii SGBDR.

Forma normala 1
Emitent Simbol (PK) Denumire [] Emitent #Simbol (PK) Denumire Cotatie #Simbol (PK,FK) #Data_cot (PK) #Cod_Piata (PK) Den_Piata Valoare_totala Cotatie devine o entitate avand un identificator unic compus, toate atributele sale vor avea o singura valoare per instanta. Entitatile Emitent si Cotatie sunt in FN1.

Valoare_totala

Atributul valoare totala va avea valori multiple. Aceasta entitate nu este in FN1.

Forma normala 2
O relaie R este n FN2 dac este n FN1 i oricare

dintre atributele non-cheie este dependent funcional complet de cheia primar a relaiei. FN2 interzice manifestarea unor dependene funcionale pariale n cadrul relaiei.

Piata

Forma normala 2
Cotatie #Simbol (PK,FK) Emitent #Simbol (PK) Denumire Cod_fiscal Emitent #Simbol (PK) Denumire Cod_Fiscal

#Cod_piata (PK) Den_Piata Cotatie #Simbol (PK, FK) #Data_cot (PK) #Cod_piata (PK,FK) Valoare_totala

#Data_cot (PK)
#Cod_Piata (PK) Den_Piata Valoare_totala

Atributul den_piata nu este bine plasat. El depinde doar de atributul cod_piata si nu de intregul identificator unic al relatiei (Simbol+Data_cot+cod_piata). Relatia Cotatie nu este in FN2.

Atributul den_piata acuma este bine plasat, depinde doar de cod_piata

Forma normala 3
O relaie R este n FN3 dac este n FN2 i atributele

non-cheie nu sunt dependente tranzitiv de cheia primar a relaiei. FN3 interzice manifestarea dependenelor funcionale tranzitive n cadrul relaiei.

Forma Normala 3
Sesiune_Stiintifica #Materie #Sesiune Student_Castigator Sesiune_Stiintifica #Materie #Sesiune Student_Castigator Studenti #Student_Castigator Data_nastere

Data_nastere

Student si data_nastere nu depind de o partea a CP dar data_nastere depinde de Student care depinde de CP.

Se creaza o entitate noua Studenti, ambele fiind acuma in FN3.

Forma normal Boyce-Codd (BCNF)


Este o varianta mai restrictiva a FN3.
O relaie este n BCNF dac dependenele funcionale

netriviale care se manifest n cadrul relaiei conin n partea stng (ca determinant) o cheie candidat. Destul de rar se intampla ca o relatie care este in Fn3 sa nu este fie si in BCNF

Forma normal Boyce-Codd (BCNF)


Tranzactie
Zi 01.01.2014 01.01.2014 02.01.2014 Comision Tip_Ordin Standard A B C Piata Discount 10 15 20 0,5 REGS 0,5 REGS 0,75 RGBS

Reguli discount comision: Clienti ocazionali, A->discount 10% Clienti ocazionali, B->discount 15% Clienti fideli, C->discount 20% In acest caz exista o dependenta Discount->Tip ordin iar Discount nu este o cheie candidata.

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