Sunteți pe pagina 1din 9

5. Forme normale. Normalizare 5.

1 Dependene funcionale
Atributul Y este dependent funcional de atributul X dac i numai dac fiecare valoare a atributului X este asociat cu exact o valoare a atributului Y. Se spune c X este determinant al lui Y, sau c X determin pe Y i se noteaz XY. Asocierile 1-1 prezint dou dependene funcionale. De exemplu, ntre numele unei persoane i codul su numeric personal exist o dependen 1-1, cele dou atribute determinndu-se reciproc. Asocierile 1-n prezint o dependen funcional. De exemplu, ntre numele unui student i numrul su matricol: un numr matricol se asociaz exact unui student; dar mai muli studeni pot avea acelai nume, astfel c un nume poate avea mai multe numere matricole asociate. Asocierile m-n nu prezint dependene funcionale. De exemplu, ntre studeni i cursuri exist o coresponden de acest tip: fiecare student poate urma mai multe cursuri i fiecare curs poate avea mai multi studeni, fr a se observa vreo corelaie ntre valori, n sensul definiiei dependenei funcionale.

Utilizatorul care proiecteaz o aplicaie determin dependenele funcionale examinnd mediul real. Deseori dependenele nglobeaz anumite restricii referitoare la aplicaia respectiv. Este o problem de convenie, de exemplu, ca un student s poat urma mai multe cursuri, dar nu dintre cele care au loc n acelai interval de timp. Sau, ca un student s aib un singur numr matricol i ca un numr matricol s poat fi asociat unui singur student.

5.1.1 Descompunerea Termenul descompunere se refer la faptul c informaia inclus ntr-o relaie poate fi splitat n dou sau mai multe relaii separate, fiecare dintre acestea avnd mai puine atribute dect relaia original. Cu alte cuvinte, atributele sunt plasate n tabele diferite. Tuplele din noile relaii vor fi determinate de atributele incluse. Scopurile descompunerii unei relaii sunt: S reduc redundana datelor. S pstreze capacitatea de a recrea relaia original, fr a pierde tupluri sau a aduga noi tupluri. Procesul recrerii tabelului original se numete uniune sau jonciune (join). Exemplu. n exemplul de mai jos sunt prezentate tabelele iniiale, precum i rezultatul operaiei join pe atributul Profesie. Persoane Nume Profesie Andrei inginer Carmen profesor Silvia inginer Traian pilot Caliti Profesie inginer profesor pilot Rezultatul operaiei join Nume Profesie Calitate Andrei inginer pragmatism Carmen profesor tact Silvia inginer pragmatism Traian pilot curaj

Calitate pragmatism tact curaj

Este important ca descompunerile ce se realizeaz ntr-o baz de date s aib loc fr pierderi de informaie, cci n caz contrar, informaia trebuie restaurat.

5.1.2 Asocierile i proiectarea schemelor Elegana matematic a modelului relaional suport o teorie a proiectrii schemelor. Teoria indic, ntr-o anumit msur, ce structuri au probleme poteniale i ar trebui evitate. Teoria normalizrii ofer multe elemente foarte utile n procesul de proiectare a bazelor de date. Dup cum am observat deja, asocierile ntre datele aparinnd la dou domenii, fie acestea A i B, se pot clasifica n trei categorii: asocieri 1-1 asocieri n-1 asocieri n-m Vom ilustra fiecare tip de asociere n contextul unui exemplu. Asocierile 1-1 sunt acelea n care fiecrui element din A i se pune n coresponden un unic element din B i reciproc. De exemplu, fiecare student are un numr matricol i fiecare numr matricol se asigneaz unui singur student. Tabelul urmtor prezint o astfel de asociere: Numr matricol 21350 21351 21576 21577 Nume student Ionescu Alina Mircea Diana Traian Alexandru Miron Vladimir

Vom nota sintetic: Numr matricol (1-1) Nume student ntr-o asociere n-1, fiecrui element din B i se asociaz un unic element din A, dar fiecrui element din A i se pot asocia mai multe elemente din B. De exemplu, dac plecm de la ipoteza c un student nu poate urma dect o specializare, atunci: un student urmeaz o specializare, dar o specializare are mai muli studeni. Aceasta este o relaie n-1 ntre studeni i specializri (sau 1-n ntre specializri i studeni). Tabelul urmtor prezint o astfel de asociere: Numr matricol 21350 21351 21576 21577 Specializare Informatic Informatic Biologie Biologie

Vom nota sintetic: Numr matricol (n-1) Specializare Asocierile n-m sunt acelea n care nici unui element nu i se asociaz un singur partener. O astfel de relaie este cea ntre studeni i cursuri. Fiecare student urmeaz mai multe cursuri, iar fiecare curs are mai muli studeni. Nu exist limite n ceea ce privete numrul partenerilor de asociere. Vom nota sintetic: Numr matricol (n-m) Cursuri

5.2 Dependene multivaloare


Fie R o schem relaional, X i Y submulimi ale lui R. Spunem c exist o dependen multivaloare a lui Y de X sau c X determin multivaloare pe Y i notm XY dac, pentru orice valoare a atributelor lui X sunt asociate valori pentru atributele lui Y care nu sunt corelate n nici un fel cu atributele din R-X-Y. Exemplu. Fie relaia

ORAR CURS Algebr Algebr Programare Programare Englez Englez Englez

PROFESOR Ionescu T. Ionescu T. Dinu A. Dinu A. Bonta E. Bonta E. Bonta E.

ORA 10 10 8 8 16 16 18

LOCATIE A45 A45 C9 C9 C22 C22 C22

STUDENT Miron Clin Matei Ruxandra Gruia Alina Traian Maria Miron Clin Matei Ruxandra Horia Anca

AN-STUDIU 1 1 2 2 1 1 3

Se manifest urmtoarele dependene funcionale: CURS PROFESOR (fiecare curs are un singur profesor) ORA, LOCATIE CURS (la o or dat, ntr-o anumit sal se poate ine un singur curs) ORA, PROFESOR LOCATIE (la o anumit or, un profesor se poate afla n cel mult o sal) CURS, STUDENT AN-STUDIU (fiecare student urmeaz un curs ntr-un anumit an de studiu) ORA, STUDENT LOCATIE (fiecare student se poate afla n cel mult o sal, la un moment dat). Au loc dependenele multivaloare CURS ORA, LOCATIE care semnific faptul c fiecrui curs i se asociaz o mulime de perechi de ore i sli care nu depind n nici un fel de celelalte informaii. n schimb nu au loc, n general, dependenele multivaloare CURS ORA sau CURS LOCATIE.

5.3 Forme normale ale bazelor de date


O form normal se refer la o clas de scheme relaionale care se supun unui set de reguli. O schem care satisface regulile corespunztoare unui set se spune c este n forma normal respectiv. De obicei, proiectantul unei baze dorete ca relaiile s se afle n ct mai multe forme normale posibil. 5.3.1. Date ne-normalizate Urmtorul tabel conine date ne-normalizate. Coloanele 2, 3 i 4 conin liste de valori, iar coloana 5 conine un atribut compus. List
Legitimaie Cod Calificri

List
Categorie Calificri

List
Profil

Valori compuse
Nume Vrst Birou nr. Ora Superior

21 35 50 77

113 113 170 200 170 150 200

Sisteme Sisteme Taxe Audit Taxe Consultan Audit

3 5 7 4 3 5 8

Mare Ana Ionescu Dan Mircea Clin Traian Raluca

29 33 35 28

1 2 2 1

Iai Bucureti Bucureti Iai

Ion Damian Damian Ion

5.3.2 Prima form normal (FN1) O relaie se prezint n FN1 dac valorile fiecrui cmp sunt ne-decompozabile (atomice) i fiecare tuplu este unic. Atributele care se pot partiiona n sub-atribute sau grupurile repetitive, care sunt foarte comune n bazele de date, nu sunt permise. De exemplu, o persoan poate avea mai multe calificri. Dac acestea sunt listate n acelai cmp (ca n tableul de mai sus), atunci relaia nu se afl n prima form normal. La fel, dac un cmp este comun, n genul unei adrese, formate din ora, strad, numr, cod potal. Dac un cmp este considerat structurat sau nu, aceasta depinde n mare msur de aplicaie. Dac prelucrrile nu necesit acces dup ora, sau strad, sau cod potal atunci este potrivit sa pstrm aceste date ntr-un singur cmp, dar dac este necesar s sortm dup unul din aceste elemente, de exemplu dup cod potal, atunci aceast abordare nu mai este potrivit. Utilitatea FN1 este evident. Grupurile repetitive stric natura tabelar a relatiei. Este dificil s se refere un element anume din grupul repetitiv, cci ar trebui specificat o informatie cu privire la poziia sa n grup. Mai mult, diferite pri ale atributului se pot comporta foarte diferit din punct de vedere al dependenelor. Regula FN1 surprinde cerina natural ca fiecare atribut s aib propriul su nume. Urmtorul tabel prezint datele tabelului anterior, structurate n FN1. n toate relaiile ce vor fi prezentate, cheia primar este subliniat.

Legiti maie

Cod Califi cri

Categorie Calificri

Pro fil

Nume

Prenu me

Vr st

Bi rou nr.

Ora

Superior

21 35 35 35 50 77 77

113 113 170 200 170 150 200

Sisteme Sisteme Taxe Audit Taxe Consultana Audit

3 5 7 4 3 5 8

Mare Ionescu Ionescu Ionescu Mircea Traian Traian

Ana Dan Dan Dan Clin Raluca Raluca

29 33 33 33 35 28 28

1 2 2 2 2 1 1

Iai Bucureti Bucureti Bucureti Bucureti Iai Iai

Ion Damian Damian Damian Damian Ion Ion

Informaiile aflate doar n FN1 prezint un nalt grad de redundan. Pentru a reduce redundana vom converti datele la a doua form normal. Formele normale mai mari dect FN1 au fost motivate de descoperirea anomaliilor, deci a operaiilor pe relaii din care rezult inconsistene sau pierderi nedorite ale a datelor. nlturarea anomaliilor necesit trecerea progresiv prin diferite nivele ale formelor normale. Aceast transformare urmrete un ideal: fiecare informaie care presupune asocieri ntre date s apar o singur dat n baz i s nu depind de prezena altor asocieri.

5.3.3 A doua form normal (FN2) O relaie este n FN2 dac este n FN1 i toate atributele sale sunt dependente de ntreaga cheie (adic, nici unul din atributele non-cheie nu este relaionat doar cu o parte a cheii). Tehnica de descompunere pentru obinerea FN2 este foarte simpl: presupune construirea unei relaii separate care sa inglobeze dependenele pariale i s nlture atributele dependente din relaia original. Pentru exemplul considerat, n urma eliminrii dependenelor pariale s-au obinut urmtoarele trei relaii. Relaia CADRE:
Legiti maie Nume Prenu me Vr st Bi rou nr. Ora Superior

21 35 50 77

Mare Ionescu Mircea Traian

Ana Dan Clin Raluca

29 33 35 28

1 2 2 1

Iai Bucureti Bucureti Iai

Ion Damian Damian Ion

Se observ c numele i prenumele, vrsta i informaiile referitoare la grupul din care persona face parte (numrul biroului, orasul, eful direct) sunt corelate direct cu numrul de legitimaie (am putea spune c depind de numrul de legitimaie) i nu depind de calificare. Relaia CALIFICRI:
Cod Calificri Categorie Calificri

113 170 200 150

Sisteme Taxe Audit Consultana

n acest caz, categoria calificrii este determinat de codul calificrii i nu depinde de numerele de legitimaie ale cadrelor. Relaia COMPETENE:
Legiti matie Cod Calificri Competene

21 35 35 35 50 77 77

113 113 170 200 170 150 170

3 5 7 4 3 5 8

n acest caz, competena este determinat de combinaia celor dou chei (legitimaie i cod calificare).

5.3.4 A treia form normal (FN3) O relaie este n FN3 dac este n FN2 i nu exist nici un fel de dependene tranzitive (adic, nici unul din atributele non-cheie nu este dependent de alt atribut, care la rndul su este dependent de cheia relaiei). Aceasta nseamn c nu exist nici o pereche (sau o pereche de mulimi de atribute) X i Y pentru care s apar succesiunea: Cheie X X Y unde X este o cheie non-candidat. O alt modalitate de a privi a treia form normal este dat de faptul c ea rezult din relaii ce reprezint entiti i relaii ce reprezint asocieri ntre entiti. O descompunere corespunztoare, prin care o schem se poate converti la a treia form normal, este aceea prin care acele atribute care nu sunt direct (sau, sunt doar tranzitiv) dependente de cheie sunt plasate ntr-o relaie separat. Aceast descompunere prezint dou caracteristici importante: Fiecare dependen este concretizat printr-o relaie (deci descompunerea pstreaz dependenele). Dac o extensie a relaiei originale este descompus, ea poate fi reconstruit prin intermediul unui JOIN, din componente (fr pierderi). n general, orice schem poate fi adus la a treia form normal, cu pstrarea dependenelor i cu operaii join fr pierderi de date. Pentru exemplul considerat, datele n FN3 se prezint dup cum urmeaz. Relaia CADRE:
Legiti maie Nume Prenu me Vr st Bi rou nr. Ora Superior

21 35 50 77
Bi rou nr.

Mare Ionescu Mircea Traian

Ana Dan Clin Raluca

29 33 35 28

1 2 2 1

Iai Bucureti Bucureti Iai

Ion Damian Damian Ion

Relaia BIROURI:
Ora Superior

1 2

Iai Bucureti

Ion Damian

Relaia CALIFICRI:
Cod Califi cri Categorie Calificri

113 170 200 150

Sisteme Taxe Audit Consultana

Relaia COMPETENE:
Legiti matie Cod Calificri Competene

21 35 35 35 50 77 77

113 113 170 200 170 150 170

3 5 7 4 3 5 8

5.3.5 Forma normal Boyce-Codd (FNBC) Spunem c o relaie R cu dependenele F se afl n forma normal Boyce-Codd (FNBC) dac, oricare ar fi dependena XA cu A atribut neconinut n X, exist o cheie a lui R coninut n X. Orice relaie n forma normal Boyce-Codd este n FN3, dar reciproca nu este adevrat. Exemplu. Relaia R cu schema R(A, B, C), cu cheile AC i BC i cu dependenele funcionale F={ABC, CA}. R este n a treia form normal, dar nu este n forma normal Boyce-Codd deoarece cheile acestei relaii sunt AC i BC, iar pentru dependena CA partea stng nu conine nici una din cele dou chei. Pentru problema de a determina dac o relaie este n FNBC nu exist (n general) algoritmi eficieni de rezolvare.

5.3.6 A patra form normal (FN4) Fie R o schem relaional i D o mulime de dependene funcionale i multivaloare pe R. Spunem c R este n FN4 dac, pentru orice dependen multivaloare XY cu Y neinclus n X i XY inclus n R, exist cheie a lui R inclus n X. Cu alte cuvinte, o relaie R este n FN4 dac este n FNBC i orice dependen multivaloare este, de fapt, o dependen funcional. Dac D conine numai dependene funcionale i R este n FN4, atunci R este n FNBC. Exemplu. Fie relaia ORAR prezentat n 5.2. Singura cheie a relaiei este format din atributele STUDENT i ORA. Dependena CURS ORA, LOCATIE nu respect condiia din FN4 deoarece CURS nu conine o cheie. Vom descompune relaia n: CURSURI CURS Algebr Programare Englez ORA 10 8 16 LOCATIE A45 C9 C22

care are cheia ORA, LOCATIE i este n FN4 i ORAR1 CURS Algebr Algebr Programare Programare Englez Englez Englez PROFESOR Ionescu T. Ionescu T. Dinu A. Dinu A. Bonta E. Bonta E. Bonta E. STUDENT Miron Clin Matei Ruxandra Gruia Alina Traian Maria Miron Clin Matei Ruxandra Horia Anca AN-STUDIU 1 1 2 2 1 1 3

care are cheia CURS, STUDENT dar nu este n FN4 deoarece prezint dependena CURS PROFESOR care rezult din CURS PROFESOR i CURS nu conine o cheie. Descompunem ORAR1 n: PROFESORI CURS Algebr Programare Englez i STUDENTI CURS Algebr Algebr Programare Programare Englez Englez Englez STUDENT Miron Clin Matei Ruxandra Gruia Alina Traian Maria Miron Clin Matei Ruxandra Horia Anca AN-STUDIU 1 1 2 2 1 1 3 PROFESOR Ionescu T. Dinu A. Bonta E.

care sunt ambele n FN4. Deci, descompunerea relaiei ORAR n {CURSURI, PROFESORI, STUDENTI} se afl n FN4 i este fr pierderi la uniune.

5.3.7 A cincea form normal (FN5) Se spune c o relaie R satisface dependena de uniune (join dependency) i se noteaz cu *(X,Y,,Z) dac i numai dac R este egal cu uniunea proieciilor lui R pe X,Y,,Z, acestea fiind submulimi ale lui R. O relaie R este n FN5 (numit i forma normal proiecie-uniune) dac i numai dac orice dependen de uniune a lui R este o consecin a unei chei candidat a lui R. Orice relaie care este n FN5 este i n FN4, deoarece fiecare dependen multivaloare poate fi privit ca un caz particular de dependen de uniune. Orice relaie poate fi descompus fr pierderi la uniune ntr-o mulime de relaii care sunt n FN5. Pentru a preciza dac o relaie este n FN5, este suficient s cunoatem cheile candidate i toate dependenele de uniune din R.

5.3.8. Procesul normalizrii relaiilor Procesul de normalizare a relaiilor se poate descrie n felul urmtor: 1. Se proiecteaz relaia iniial, aflat n FN1, pe alte relaii, pentru a elimina dependenele funcionale care nu sunt complete. Se obine o mulime de relaii n FN2. 2. Se proiecteaz relaiiile obinute n pasul 1 pe alte relaii, pentru a elimina dependenele funcionale tranzitive. Se obine o mulime de relaii n FN3. 3. Se proiecteaz relaiiile obinute n pasul 2 pe alte relaii, pentru a elimina dependenele n care partea din stnga nu este o supracheie. Se obine o mulime de relaii n FNBC. 4. Se proiecteaz relaiiile obinute n pasul 3 pe alte relaii, pentru a elimina toate dependenele multivaloare care nu sunt i dependene funcionale. Se obine o mulime de relaii n FN4. 5. Se proiecteaz relaiiile obinute n pasul 4 pe alte relaii, pentru a elimina orice dependen de uniune care nu este implicat de o cheie. Se obine o mulime de relaii n FN5. De obieci, forma normal FN3 este suficient, iar alteori chiar FN2 este suficient.

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