Sunteți pe pagina 1din 4

Procesul de normalizare

O baz de date normalizat trebuie s conin tabele (relaii) n care s nu existe


anomalii i pierderi de informaii.
De asemenea, o baz de date normalizat trebuie s respecte att restriciile
modelului relational ct cerinele definite de ctre utilizator.
Proiectarea unei baze de date relaionale se poate realiza prin urmtoarele metode:
1.Obinerea modelului relaional pe baza unui model conceptual semantic(Merise,
Entitate-Asociere)
2.Obinerea modelului relaional utiliznd modelarea obiectuala(OMT, UML .a.)
3.Obinerea modelului relaional prin normalizare
Procesul de normalizare : ANOMALII
1) Redundan pentru facturile emise de acelai furnizor;
2) Anomalii la adugare: se refer la faptul c anumite date ce urmeaz a fi
adugate, fac parte din tupluri incomplete(nu pot fi adugai furnizori care nu au emis facturi);
3) Anomalii la modificare:se refer la faptul c e dificil s se modifice o realizare,
dac ea se repet n mai multe tupluri(dac un furnizor i schimb numele, atunci, acesta
trebuie modificat n toate nregistrrile aferente facturilor emise de acel furnizor);
4) Anomalii la tergere : constau n faptul c anumite informaii ce se doresc a fi
terse, fac parte dintr-un tuplu ce conine i alte date care sunt utile n continuare(de
exemplu, tergerea unei facturi din tabela Furnizori-Facturi, conduce la eliminarea din baza de
date a furnizorului emitent).
Dependena funcional : unic
Dependenele sunt legturi logice, ce se stabilesc ntre cmpurile modelului
relaional.
Exist o dependen funcional ntre 2 atribute atunci cnd cunoscnd valoarea luat
de ctre un atribut, se furnizeaz sistematic valoarea pentru cellalt atribut : dependen
simpl sau unic.
A -> B(Bdepinde funcional de A, dac la orice valoare a lui A corespunde n orice
moment o valoare unic a lui B)
Exemple de dependene funcionale:
-> Denumire produs
-> Pre de referin
Numr Comand -> Dat Comanda
Numr Comand -> Cod Client-> Nume Client=> cod fiscal
Tranzitivitate:
Dac A -> B i B -> C, atunci A ->C
Dac un atribut sau un grup de atribute dintr-un tabel determin funcional celelalte
atribute ale tabelului, rezult c atributul sau grupul de atribute constituie cheia primar a
tabelului.
Dependena funcional : multipl

Dependena multipl: exist o dependen multipl de la A la B(A-B) atunci cnd
o valoare a lui A determin mai multe valori ale lui B;
Exemple de dependene funcionale multiple:
SerieFactur- CodProdus
Data factura->> Nr facture
Dac ntre dou atribute A i B exist o dependen multivaloare(AB), atunci
ntre A i B exist i o dependen multipl (A-B).

Dependena dubl (tripl): se identific o dependen dubl (tripl) acele
dependene dintre un lan de atribute;
Exemple de dependene funcionale triple:
SerieFactur- CodProdus DenumireProdus


Dependena funcional complet
Se numete dependen funcional complet(elementar, total, deplin),o
dependen funcional de forma AB n care B este dependent funcional de A, fr s fie
dependent funcional de nici una din componentele lui A.
(NrFactur, CodProdus) Cantitate
Exemplu: Nr Factura Cantitate ,CodProdusCantitate
ntre grupul de atribute (NrFactur, CodProdus) i Cantitatee xist o dependen
funcional complet, deoarece cmpul Cantitate depinde funcional doar de (NrFactur,
CodProdus) fr s depind funcional de NrFactur sau de CodProdus.
Dependena funcional partial.
O dependent funcional A B se numete dependen funcional
partial dac i numai dac B este dependent funcional att de A ct i de o parte a lui A.

(NrFactur, CodProdus) CodFurnizor NrFactur CodFurnizor
CodProdus CodFurnizor

ntre CodProdus i CodFurnizor nu este o dependen funcional, deoarece un
produs poate fi livrat de mai muli furnizori.


Normalizarea Bazelor de Date : Formele normale 1, 2, 3

Dicionar de date i Reguli de gestiune:
Potrivit regulilor de gestiune coroborate cu analiza informaional referitoare la
aplicaia de informatizat se declar ntr-un tablou toate atributele disponibile
(Identificatorul + Denumirea n clar)

1 FN-O relaie R este n 1FN atunci cnd atributele sale nu pot fi descompuse n
uniti mai mici
2 FN-O relaie R este n 2FN, dac este n 1FN i toate dependenele ntre cheia
primar a lui R i celelalte atribute a lui R sunt elementare (atributele nu depind de o
parte din cheie)
3 FN-O relaie R este n 3FN, dac este n 2FN i dac sunt eliminate toate
dependenele funcionale tranzitive (dac nu exist nici o dependen funcional ntre
atributele non-cheie)
1 FN
O relaie R este n 1FN dac toate atributele sale conin numai valori (realizri)
atomice (elementare sau indivizibile);
-n general, o valoare este considerat elementar, atunci cnd descompunerea ei
nu mai prezint interes pentru utilizatorii finali.
-Fiecare relaie trebuie s conin un identificator care s o caracterizeze de o
manier unic
O relaie R este n 1FNdac conine valori nerepetitive. n acest sens, o list de
valori repetitive trebuie nlocuit cu un singur atribut.
Atributele descompuse trebuie s fie stabile n timp (de exemplu, este preferabil a se
utiliza data naterii, dect vrsta).
Persoana(CNP, Nume, Domiciliu)nu respectFN1, dac se dorete dezvoltarea unui
sistem informatic n care s se urmreasc evidena persoanelor n funcie de localitate, strad
etc.
Deasemenea, FN1 exclude apariia atributelor sau grupurilor de atribute repetitive
ncadrul unei relaii.

Pentru aducerea relaiei n FN1, se parcurg urmtoarele etape:
-Pentru grupul de atribute repetitive, se formeaz o alt relaie
-Cheia primar din noua relaie, va fi n vechea relaie, cheie extern.


2FN-O relaie R este n 2FN, dac este n 1FN i dac orice atribut
noncheiese afl n dependen funcional complet fa de cheia primar a relaiei.
FN2 interzice existena dependenelor funcionale pariale ntre atributele cu rol
de cheie primar i celelalte atribute
2 FN : Pentru aducerea relaiilor din FN1 n FN2, se parcurg
urmtoarele etape:
-Se identific eventualele dependene funcionale pariale
-Fiecare dependen funcional parial va genera cte o relaie nou. Relaia nou
format va avea ca structur atributele participante n dependena funcional partiala
-Atributele determinante devin chei externe n relaiile iniiale i chei primare n
relaiile nou formate
O relatie care nu respecta FN2 prezinta urmatoarele anomalii:
-Redunda pentru cmpurile care depind parial de cheia primar. Realizrile
cmpului DenumirePies, se repet inutil
-Anomalii la adugare: nu se pot aduga piese dac nu s-au fcut comenzi pentru
acestea
-Anomalii la modificare: dac se modific denumirea unei piese, atunci trebuie
modificate toate nregistrrile care conin denumirea piesei respective
-Anomalii la tergere: tergerea unei comenzi poate conduce la tergerea definitiv a
unor piese


3FN-O relaie verific FN3 dac se afl n FN2 i dac toate atributele
noncheiesunt dependente funcional netranzitiv de cheia primar a relaiei(toate
atributele care nu aparin cheii primare s nu depind funcional de un alt atribut.
Pentru aducerea unei relaii din FN2 n FN3:
-Se identific eventualele dependene funcionale tranzitive
-Determinantul noncheiempreun cu atributul sau atributele determinate funcional
de ctre acesta, vor forma o nou relaie
-Determinantul noncheiedevine cheie primar n relaia nou format i cheie extern
n relaia initial


O relaie care nu respect FN3 prezint urmtoarele anomalii:
-Redundan pentru atributele determinate funcional tranzitiv
-Anomalii la adugare: nu se pot aduga clieni care nu au ntocmit comenzi
-Anomalii la modificare: dac un client i schimb denumirea, atunci trebuie
modificate toate nregistrrile n care apare acea denumire de client
-Anomalii la tergere: tergerea unei comenzi poate conduce la tergerea definitiv a
clientului din relaie

Etapele procesului de NORMALIZARE
1)Se ntocmete dicionarul datelor
-Un atribut poate fi nscris o singur dat n dicionar
-Se elimin atributele sinonime (de ex. Cod furnizor = Simbol furnizor)
-Dicionarul datelor nu admite atribute derivate sau calculate (Valoare, TVA)
2)Se stabilesc dependenele funcionale ntre atribute prin MDF
3)Toate atributele sau grupurile de atribute determinante, devin CHEI
CANDIDATE(posibile chei ale relaiei). Cheile candidate aparinnd aceleiai relaii
sunt caracterizate prin dependene funcionale reciproce.
4)Se stabilesc CHEILE PRIMAREdintre cheile candidate
5)Pentru atributele isolate se vor cuta grupuri de atribute ce pot constitui
determinani ai acestora. Se vor cuta mai nti grupuri de chei primare, apoi grupuri
de atribute non-cheie, iar n final, dac va fi cazul, se vor aduga chei surogat.
6)Cu fiecare cheie primar i cu atributele determinate direct (fr
tranzitivitate) se formeaz o nou relaie.
7)Se stabilesc CHEILE EXTERNE

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