Sunteți pe pagina 1din 7

UNIVERSITATEA DIN ORADEA

Facultatea de tiine
Departamentul de Matematic-Informatic

Proiectarea i normalizarea bazelor de date relaionale

~referat~

Studenta: Benea Florica Nicoleta


Disciplina: Baze de date relaionale
Master: SDI 2

Oradea
2014

Proiectarea i normalizarea bazelor de date relaionale


Proiectarea unei baze de date este o activitate laborioas i necesit parcurgerea urmtoarelor etape:

formularea problemei;

analiza cerinelor informaionale;

definirea datelor de ieire i a datelor de intrare;

definirea tabelelor, a structurii acestora i a relaiilor dintre tabele;

optimizarea structurii bazei de date.

Odat ce acest proces a fost finalizat se continu cu:

proiectarea procedurilor tehnologice, pentru prelucrarea bazei de date;


elaborarea programelor;
testarea programelor;
definitivarea documentaiei.

Toate aceste activiti necesit, pentru proiectele reale complexe, o munc n echip pe baza unei
metodologii riguroase, cunoscut ca metodologia de analiz i proiectare a sistemelor informatice. n cadrul
unui sistem informatic baza de date reprezint elementul central n jurul cruia se concentreaz celelalte
componente ale sistemului.
Formularea problemei presupune stabilirea obiectivelor aplicaiei informatice care asigur actualizarea i
exploatarea bazei de date n concordan cu cerinele managementului activitii economice pentru care este
proiectat baza de date. Obiectivele unei aplicaii informatice sunt legate de asigurarea informa ional a
desfurrii proceselor decizionale specifice actului de conducere. Deci, noi trebuie s ne gndim c, prin
existena unei baze de date, s asigurm fondul de informaii, ntr-o structur i de o calitate corespunztoare cu
cerinele managementului firmei. Baza de date trebuie s permit att obinerea unor informa ii de detaliu,
elementare, ct i calculul i prezentarea unor indicatori sintetici, agregai.
Dac am lua doar dou obiective: reducerea costurilor i creterea productivit ii muncii ntr-o firm,
atunci o baz de date trebuie s furnizeze informaii despre consumul factorilor de producie, costurile medii i
globale, despre personalul muncitor i producia realizat, despre cheltuielile salariale etc. Aceste informa ii vor
servi conducerii la identificarea cilor de reducere a costurilor i adoptarea celor mai adecvate msuri pentru
reducerea acestor costuri. Dup aplicarea msurilor n practic, informaiile stocate n baza de date trebuie s
permit de data aceasta i o analiz comparat a costurilor noi cu cele vechi, de exemplu, o analiz a dinamicii
costurilor pe baza indicilor statistici. Am ales acest mic exemplu didactic pentru a accentua nc o dat
complexitatea procesului de proiectare a bazei de date.
Analiza cerinelor informaionale, pornind de la obiectivele formulate anterior, se concentreaz asupra a
dou
probleme:

indicatorii,
rapoartele,
listele
i
datele
de
ieire
care
trebuie
obinute;
datele de intrare necesare pentru obinerea datelor de ieire.

Acestea sunt cerinele informaionale care nglobeaz att cerinele pentru datele de intrare pe baza
crora se creeaz i se actualizeaz baza de date, ct i cerinele pentru datele de ieire folosite pentru urmrirea,
controlul i dirijarea activitii economice. Datele de intrare se culeg, de regul, din documentele primare care
circul n cadrul fluxului informaional al firmei. Datele finale se vor integra n ansamblul de rapoarte, liste,
situaii cu rezultate pe care le furnizeaz sistemul informaional compartimentelor de conducere. Pentru
indicatorii inclui n rapoartele finale, n general pentru oricare din indicatorii de ieire, trebuie s fie foarte clar
modul n care sunt obinui prin prelucrarea datelor de intrare. n consecin, acolo unde este cazul, se
precizeaz algoritmii de calcul, regulile de totalizare, sau alte reguli de ob inere a fiecrei coloane, sau totaluri
din rapoartele finale. Aceasta are ca punct de plecare inventarierea cmpurilor prezente n situaiile finale i apoi
gruparea lor n tabele. Gruparea cmpurilor pe tabele se realizeaz prin diverse metode. Dintre aceste
metode,
dou
sunt
cele
mai
utilizate:

analiza
concordanei
IEIRI

INTRRI;
analiza semnificaiei semantice a datelor.
Analiza concordanei IEIRI INTRRI este o tehnic specific proiectrii sistemelor informatice care
identific documentele primare din care se preiau datele de intrare folosite n calculul datelor de ie ire. Aceste
documente vor constitui sursele de creare i actualizare a tabelelor bazei de date. Tehnica este util n cazul n
care proiectantul bazei de date este familiarizat cu sistemul informaional existent.
Un indicator prezent ntr-o situaie final se poate obine astfel:

prin preluarea direct din documentul primar, respectiv din tabelul bazei de date;
prin aplicarea unui algoritm de calcul.

Tabelele se compun prin gruparea cmpurilor pe principiul apartenen ei acestora la anumite documente
primare care circul n cadrul sistemului informaional. Analiza semantic se practic atunci cnd proiectantul
bazei de date nu are la dispoziie un set de documente primare i apare n cazul sistemelor informa ionale care
se proiecteaz pentru firmele noi.
Definirea tabelelor i relaiilor dintre tabele este etapa urmtoare n proiectarea bazei de date. Analiza
cerinelor informaionale i a proceselor de prelucrare va conduce la identificarea datelor ce vor trebui stocate i
care vor alctui tabelele bazei de date. O tabel va pstra datele fie despre toate caracteristicile unei colec ii de
date, fie numai pentru o parte dintre aceste caracteristici. Aici intervine spiritul analitic al proiectantului.
Structura unei tabele este reprezentat de lista cmpurilor asociate tabelei mpreun cu descrierea atributelor
fiecrui cmp (natur, lungime, numr de zecimale etc.). n structura unui tabel se regsesc urmtoarele
categorii de cmpuri:
i.
ii.
iii.
iv.
v.

de identificare (chei primare i chei condiionate);


de tip dat calendaristic;
cantitativ-valorice;
de legtur cu alte tabele;
de stare care pstreaz informaii privind ultimele operaii de prelucrare care au fost efectuate pe
nregistrrile din tabel.

Relaiile dintre tabele se caracterizeaz prin plasarea unor cmpuri comune n structura fiecruia dintre
tabelele aflate n relaie direct. Pe baza acestor cmpuri, chei, fiecare sistem de gestiune a bazelor de date i
construiete un mecanism propriu de accesare a nregistrrilor de date. Aceste mecanisme sunt transparente
pentru utilizatorul obinuit. Totui este bine de reinut c nu orice cmp poate fi folosit la stabilirea unei relaii, a

unei legturi ntre dou tabele. Numai cmpurile de tip cheie candidat, care au proprietatea de a identifica n
mod unic o nregistrare dintr-o tabel, pot fi folosite n acest scop. Cheile candidate se mai numesc i indec i.
Operaia prin care se construiete sistemul de legturi pentru ordonarea n vederea regsirii nregistrrilor ntr-o
tabel se numete indexare. Prin indexare, fiecrei tabele principale de date i se va asocia o tabel index
corespunztoare cheilor de indexare.
Optimizarea structurii bazei de date este un proces prin care se urmrete:
a. reducerea redundanei datelor;
Reducerea redundanei datelor pn la un nivel minim i controlat urmrete eliminarea duplicrii inutile
a unor cmpuri n mai multe tabele sau eliminarea cmpurilor obinute prin calcul pe baza cmpurilor atomice.
Un anumit nivel de redundan, ns, trebuie admis pentru a nu denatura realitatea reflectat de date.
De
exemplu,
cmpul
VALOAREA_CONTRACTULUI,
se
calculeaz
dup
rela ia:
VALOAREA_CONTRACTULUI=CANTITATE*PRET. Nu este recomandat eliminarea acestui cmp pe
considerentul c el se obine automat prin calcul. n cazul n care dup un anumit interval de timp, pre urile
suport o majorare global, cum se practic foarte des, atunci automat se vor modifica i valorile contractelor
ncheiate anterior datei de majorare a preurilor ori acest lucru nu este corect, contractul odat perfectat nu- i
poate modifica preul convenit prin negociere.
b. eliminarea anomaliilor de actualizare.
Anomaliile de actualizare se refer la anomaliile de tergere, respectiv de modificare.
De exemplu, se consider o firm care deruleaz lunar mii de contracte de aprovizionare, pentru un
nomenclator foarte mare de produse agroalimentare, dar care opereaz numai cu civa furnizori. Dac
n tabela CONTRACTE sunt incluse alturi de codul furnizorului i denumirea furnizorului, contul su
bancar i denumirea bncii, atunci va aprea urmtoarea anomalie de actualizare, n cazul schimbrii
bncii i a contului bancar de ctre furnizor. Acest lucru necesit parcurgerea tuturor nregistrrilor n
care exist aceste valori i actualizarea acestora (figura 1.4).

Soluia este de a crea o tabel separat, care are n structur: codul furnizorului, denumirea, contul i
banca acestuia, n tabela CONTRACTE pstrndu-se doar codul furnizorului ca element de legtur, ceea ce
previne pierderea de informaii prin spargerea unui tabel n dou. n acest fel modificarea se realizeaz numai
asupra unei singure nregistrri.

n 1972, Dr. E. F. Codd, printele bazelor de date relaionale, i-a dat seama c tabelele rela ionale care
ndeplinesc anumite criterii pun mai puine probleme la inserarea, actualizarea sau tergerea datelor. Ca urmare,
a pus la punct un set de reguli care trebuie respectate (organizate n trei forme normale") i un proces numit
normalizare, care este o tehnic pentru producerea unui set de relaii (termenul folosit de Dr. Codd pentru
tabele) cu proprietile dorite
Necesitatea normalizrii
Scopul procesului de normalizare este de a elimina din proiectul bazei de date: de inserare (probleme cu
dependene artificiale dintre coloanele unui tabel), de tergere (tergerea unor date duce la pierderea intenionat
a altor date), de actualizare (o situaie n care actualizarea unei singure valori necesit actualizarea mai multor
rnduri. Un alt pericol legat de aceast anomalie este faptul c stocarea unor date redundante poate duce la
posibilitatea de a actualiza numai o parte a copiilor respectivelor date, ceea ce ar avea ca rezultat apariia
inconsecvenelor n baza de date).
Aplicarea procesului de normalizare. De obicei, normalizarea ncepe de la mijloacele de redare a datelor
care sunt (sau vor fi) prezentate utilizatorilor (user views). Proiectarea unui sistem de prelucrare a datelor ncepe
de la rezultatele pe care le va vedea utilizatorul, parcurgnd apoi drumul napoi ctre mijloacele folosite pentru
obinerea rezultatelor dorite. n timpul proiectrii bazei de date, procesul de normalizare este aplicat fiecrei
vizualizri, iar rezultatul este un set de relaii normalizate care pot fi apoi direct implementate ca tabele ale
bazei de date relaionale. Procesul n sine este destul de simplu, iar regulile nu sunt foarte dificile. Totu i,
stpnirea procesului de normalizare cere timp i exerciiu, n special deoarece impune proiectantului s se
gndeasc ntr-un mod conceptual la datele i relaiile pe care inten ioneaz s le foloseasc. n timpul
normalizrii, fiecare vizualizare este o relaie.
Procesul de normalizare determin crearea unui numr mai mare de relaii dect ntr-un model fr
normalizare. Relaiile suplimentare sunt necesare pentru eliminarea anomaliilor, dar mpr irea datelor n mai
multe relaii face ca extragerea datelor stocate s fie puin mai dificil. De fapt, se sacrific o parte din
performanele de extragere a datelor i din uurina utilizrii pentru ca operaiile de inserare, actualizare i
tergere s fie mai simple.
Alegerea
unul
identificator
unic
Primul pas al procesului de normalizare const n alegerea unui identificator unic (unique identifier), care
este un atribut (o coloan) sau un set de atribute care identific n mod unic fiecare rnd de date dintr-o rela ie.
Identificatorul unic va deveni ulterior cheia primar a tabelului creat din relaia normalizat. Pentru normalizare,
este obligatoriu ca fiecare relaie s aib un identificator unic (un atribut sau mai multe atribute care pot fi
concatenate <combinate> pentru a forma un identificator unic). Atunci cnd nu exist un set rezonabil de
atribute care s poat fi folosit ca identificator unic, trebuie inventat un identificator unic, deseori cu valori
atribuite secvenial sau aleatoriu pe msur ce noile rnduri de date sunt adugate n tabelul bazei de date.
Aceast tehnic este sursa unor identificatoare unice, precum numrul de asigurri sociale folosit n Statele
Unite, numerele de identificare ale angajailor, numerele de nmatriculare ale mainilor sau CNP.
Prima form normal
o presupune eliminarea datelor repetitive
o este o relaie n care intersecia fiecrui rnd cu fiecare coloan conine o unic valoare
o este strns legat de noiunea de atomicitate - un atribut nu mai poate fi descompus n mai multe atribute
(Adresaeste un atribut n care apar cmpurile: strada, nr, bloc, scara, etaj, apartament, localitate, jude)

A doua form normal


o presupune eliminarea dependenelor pariale. Atributul B este dependent funcional de atributul A dac
n nici un moment nu exist mai mult de o valoare a atributului B asociat cu o valoare dat a atributului
A.
o o relaie este n a doua form normal dac ndeplinete urmtoarele criterii:

Relaia
este
n
prima
form
normal.
Toate atributele non-cheie sunt dependente funcional de cheia primar.
o se aplic numai relaiilor care au identificatoare unice concatenate (adic formate din atribute multiple).
ntr-o relaie care are un singur atribut ca identificator unic, este imposibil ca un alt atribut s depind de
o parte a identificatorului unic, deoarece acesta, fiind format dintr-un singur atribut, nu are pr i
componente. Ca urmare, orice relaie n prima form normal care are cheia primar format dintr-un
singur atribut este automat n a doua form normal.
A treia form normal
o presupune eliminarea dependenelor tranzitive (un atribut care depinde de un atribut care nu este
identificator unic )
o criterii pentru a treia form normal:
Relaia este n a doua form normal.
Nu exist dependene tranzitive (cu alte cuvinte, toate atributele non-cheie depind numai de
identificatorul unic).
Pentru a aduce la a treia form normal o relaie aflat n a doua form normal, atributele dependente tranzitiv
se pun relaii n care depind numai de cheia primar. Atributul de care depind acestea rmn n rela ia original,
cu rolul de cheie extern. Toate atributele uor de calculat sunt eliminate ca nclcri ale criteriilor celei de-a
treia forme normale. De exemplu, ntr-o baz de date pentru vnzri, Suma Total este ob inut nmul ind
Cantitatea Cumprat cu Preul Unitar.
Ct de mult trebuie normalizat?
Nu exist un numr magic al formelor de normalizare. n proiectarea bazei de date trebuie cntrit pn
unde se merge cu normalizarea n funcie de beneficiile care le aduce.
Beneficiile normalizrii
Normalizarea produce tabele mai mici, cu rnduri mai mici: mai multe rnduri pe pagin (mai puin
logic I / O), multe rnduri pe I / O (mai eficient), multe rnduri n cache (mai puin I fizic / O).
Beneficiile normalizrii includ:
o cutare, sortare, i crearea de indici sunt mai rapide, deoarece tabelele sunt mai mai mici
o mai multe tabele
o indici mai grupai (cte unul pe fiecare tabel), astfel nct se obine mai mult flexibilitate la interogri
o cutarea indicilor este de multe ori mai rapid, deoarece indicii ocup mai puin
o

multe tabele permit o mai bun utilizare a segmentelor de a controla plasarea fizic a datelor

o puini indici pe tabel, astfel nct comenzile de modificare a datelor sunt mai rapide
o valori nule puine i datele mai puin redundante, ceea ce face baza de date mai compact
o declaneaz execuia mai rapid, dac nu se menin date redundante.
o anomaliile de modificare a datelor sunt reduse
o conceptual, normalizarea este mai curat i mai uor de ntreinut i permite schimbarea n funcie de
nevoi
o n timp ce baza de date normalizat necesit mai multe JOINuri, JOINurile sunt n general foarte rapide
dac indexurile sunt disponibile pe coloane
o costul de a gsi rnduri n cache-ul de date este extrem de sczut.
Bibliografie
1. http://www.techit.ro/tutorial_sql3.php
2. http://feaa.ucv.ro/cm/images/stories/Admitere%202011/master/mae/SIE_MAE.pdf
3. Louis Davidson, Jessica M. Moss, "Pro SQL Server 2012 Relational Database Design and
Implementation", Editura Apress 2012 (http://filepi.com/i/mXBgbOx)
4. http://davos.science.upm.ro/~ccalin/seminar/Normalizare.pdf
5. http://vega.unitbv.ro/~cataron/Courses/BD/BD_Cap_4.pdf
6. http://www.slideshare.net/mihai.oaida/proiectarea-si-normalizarea-bazelor-de-date

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