CATEGORII DOCUMENTE |
Normalizarea
Normalizarea are ca obiectiv:
ð sa elimine redundantele
ð sa elimine anomaliile din actualizarea bazei de date
Exemplu: Fie entitatea "CAMINE" definita sa retina modul de repartizare a studentilor in cadrul caminelor.
STUDENT |
CAMIN |
TAXA |
Popescu Ioan |
Moxa1 | |
Ionescu Adrian |
Moxa2 | |
Popa Ion |
Moxa2 | |
Andronic Dan |
Agronomie |
Redundanta are rolul sa reduca toate repetarile (nu spre exclusivitate).
Problemele privind eliminarea redundantelor si a anomaliilor manifestate in procesul actualizarii bazei de date se realizeaza prin formele normale care au fost elaborate o data cu modul relational de catre americanii Boyce-Codd. Formele de normalizare (FN) se prezinta astfel:
FN1 - Forma normala 1
Se caracterizeaza prin:
toate atributele sale sunt elementare si nerepetitive
FN2 - Forma normala 2
O entitate este in forma normala 2 daca:
respecta cerintele FN1
toate atributele nonidentificator sunt dependente de intregul identificator
In situatia in care entitatea analizata prezinta un identificator (cheie primara) care este format dintr-un singur atribut, atunci entitatea este considerata direct in FN2.
Exemplu:
Nr.marca |
Nr.lucrare |
Nr.ore |
Nume_anagajat |
Den_lucrarii |
Obiectiv_constr |
Nr.marca |
Nr.lucrare |
Nr.ore |
Nr.lucrare |
Den_lucrarii |
Obiectiv_constr |
Nr.marca |
Nume_anagajat |
FN3 - Forma normala 3
O entitate este in FN3 daca:
respecta cerintele FN2
orice atribut nonidentificator nu are dependente tranzitive fata de identificatori
[daca XàY si YàZ atunci XàZ
Cod_clientàLocalitate si LocalitateàJudet atunci Cod_clientàJudet]
Exemplu:
Marca |
Nume |
Data_nasterii |
Adresa |
Cod_loc_munca |
Den_loc_munca |
Marca |
Nume |
Data_nasterii |
Adresa |
Cod_loc_munca |
Cod_loc_munca |
Den_loc_munca |
FNBC - Forma normala Boyce-Codd
O entitate este in FNBC daca:
respecte cerintele FN3
nici un atribut ce compune identificatorul nu depinde functional de un alt atribut
O entitate este in FN4 daca:
respecta cerintele FNBC
nu prezinta dependente multivaloare (Sectiaà>Atelier)
Normalizarea entitatilor are drept scop eliminarea redundantelor si a anomaliilor de actualizare. Deoarece, prin cele mentionate anterior, se elimina o parte dintre cazurile de nerespectare a conditiilor de normalizare (exisntenta unui identificator, eliminarea atributelor repetitive sau compuse) este necesar sa se asigure o atentie deosebita urmatoarelor situatii:
ì existenta de dependente tranzitive intre atribute
ì existenta de dependente functionale partiale intre atributele neidentificatoare si identificatori, atunci cand acesta este compus din mai multe atribute
Exmplu:
Dependentele functionale tranzitive existente intre atributele entitatii UTILAJE conduc la descompunerea entitatii in doua tipuri (UTILAJ si CATEG_UTILAJ) si la introducerea asocierii corespunzatoare dintre cele doua entitati, denumita APARTINE.
Analizand continutul acestei entitati vom constata urmatoarele dependente functionale:
Nr.inventaràTipul_utilajului,Valoare_de_intrare,Durata_de_functionare,Putere_nominala
Tipul_utilajului à Durata_de_functionare, Putere_nominala
Situatia este similara cu normalizarea entitatilor cu observatia ca pentru asocieri nu exista identificatori proprii. Rolul acestora este indeplinit de identificatorii entitatilor participante.
Exemplu:
Existenta entitatilor INTERVENTIE si UTILAJ presupune o asociere denumita REPARATIE care are ca atribute proprii: "Durata_normata" si "Durata_efectiva"
in aceste conditii asocierea "REPAERATIE" este identificata prin identificatorii "Nr.operatie_interventie" si "Nr.inventar" specifice celor doua entitati enuntate
atributul "Durata_normata" din cadrul asocierii REPARTITIE depinde insa functional de o parte a cheii/identificatorului "Nr.operatie_interventie" din cadrul entitatii INTERVENTIE, incalcandu-se astfel conditiile de normnalizare
Solutia corecta consta in plasarea acestui atribut ("Durata_normata") in entitatea INTERVENTIE
Nr.operatie_interventie à Durata_normata
Descompunerea asocierilor
Este o solutie practica ce presupune descompunerea asocierilor de grad mai mare ca 2 in mai multe asocieri de grad mai mic. Aceasta descompunere se bazeaza pe dependentele functionale si este posibila numai in anumite conditii:
p exista cel putin o dependenta functionala intre roluri
p exista un rol cu cardinalitatea 0,1 sau 1,1 (care exprima o dependenta functionala) iar toate celelalte cardinalitati fiind 0,n sau 1,n
Aceste dependente functionale pot permite descompunerea in doua asocieri dintre care:
ð una va exprima raportul dintre determinant si determinat
ð iar cea de-a doua va prelua restul asocierii initiale
Exemplu:
Pentru fabricarea unui produs se folosesc mai multe operatii efectuate de catre muncitori la mai multe echipamente. In aceste conditii exista o dependente functionala intre roluri, deoarece fiecare echipament se afla in exploatarea unui anumit muncitor.
efectueaza
In consecinta, asocierea initiala OPERATIE, poate fi
descompusa in doua asocieri de grad mai mic dintre care una exprima faptul ca
fiecare echipament este repartizat unui muncitor
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1656
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved