Normalizarea datelor

Download Report

Transcript Normalizarea datelor

NORMALIZAREA DATELOR
Obiectivele lectiei:
 Definitia operatiei de normalizare a datelor.
 Descrierea formelor de normalizare a
datelor
 Rezolvarea problemelor astfel incat
entitatile sa respecte cele trei forme de
normalizare.
NORMALIZARE
Normalizarea se referă la procesul de creare
a unei structuri relaţionale eficiente, flexibile
care aşează fiecare dată într-un singur loc,
care este şi cel mai potrivit loc, astfel încât
operaţiile de adăugare, modificare, ştergere
să se facă într-un singur tabel.
Anomaliile care pot sa apara la o
baza de date nemormalizata sunt:

Anomalii la actualizarea datelor

Anomalii de inserare

Anomalii de stergere
PRIMA FORMA DE NORMALIZARE
UN ATRIBUT NU POATE AVEA VALORI
CARE SE REPETĂ.
Daca un atribut are valori multiple, sau un grup
de atribute se repeta, atunci se creeaza o
entitate suplimentara pe care o legam de
entitatea originala printr-o relatie 1:m
Deoarece la o materie un elev poate
avea mai multe note, s-a creat o entitate
noua, NOTE, astfel incat fiecare elev poate
primi oricate note la o disciplina.
FORMA A II-a DE NORMALIZARE
ORICE ATRIBUT CE NU E UID SĂ
DEPINDĂ DE ÎNTREGUL UID
Se aplică în mod special entităţilor care au un
UID compus din mai multe atribute sau dintrun attribut şi o relaţie.
Acest exemplu respecta
forma 2 de normalizare.
În acest ERD,
bank_location depinde
numai de bancă, nu şi de
contul persoanei şi astfel
încalcă Forma de
Normalizare 2
Se observă că data_nasterii şi adresa sunt două
atribute care depind doar de id-ul angajatului nu de
întregul UID care este combinaţia dintre atributele
id_dep si id_angajat. Această situaţie se rezolvă prin
crearea unei noi entităţi ANGAJAT, pe care o legăm
de entitatea DEPARTAMENT printr-o relaţie 1:m.
Exemplu
Durata depinde numai de
SONG.
Event_date depinde numai
de eveniment.
FORMA A III-a DE NORMALIZARE
UN ATRIBUT CE NU E UID NU TREBUIE SĂ
DEPINDĂ DE ALT ATRIBUT NON-UID.
Exemplu
În acest exemplu, store adress
depinde de store name.
Soluţia acestei probleme este să
creăm o nouă entitate, STORE,
care va conţine cele două atribute.
Atributul biografie_autor nu depinde de ISBN ci de
atributul autor. Nerezolvarea acestei situaţii duce la
memorarea de date redundante, deoarece biografia
unui autor va fi memorată pentru fiecare carte scrisă
de autorul respectiv. Rezolvarea acestei situaţii este
să creăm o nouă entitate AUTOR, pe care o legăm de
entitatea CARTE printr-o relaţie 1:m