Sunteți pe pagina 1din 3

Normalizare

3 concepte: BazeMilitare, Soldati, Misiuni


BazeMilitare Soldati 1:N
Soldati Misiuni N:M
Astfel pornim de la 4 tabele:
BazeMilitare (idBazaMilitara , numeBazaMilitara, telefonBazaMilitara,
mailBazaMilitara)
Tabelul BazeMilitare respecta cele 3 forme normale.

Soldati (idSoldat , idBazaMilitara , numeSoldat, data_nasteriiSoldat,


adresa_CISoldat, CNPSoldat, gradSoldat, nr_legitimatieSoldat,
telefon_serviciSoldat, idBun_dotare, data_primiriiBun_dotare,
serieBun_dotare)
Tabelul Soldati nu respecta 1 NF deoarece se observa existenta unui
grup repetitiv :
(idBun_dotare, data_primiriiBun_dotare, serieBun_dotare).
Aplicam 1 NF si rezulta:
Tabelul Soldati (id Soldati, idBazaMilitara , nume Soldat, data_nasterii
Soldat, adresa_CISoldat, CNPSoldat, gradSoldat, nr_legitimatieSoldat,
telefon_serviciSoldat);
Tabelul Soldati_Bun_dotare ( idSoldat, idBun_dotare ,
data_primiriiBun_dotare, serieBun_dotare)
Relatia Soldati_Bun_dotare respecta 2NF.

Soldati_Misiuni (idSoldat , idMisiune )

Misiuni (idMisiune, adresaMisiune, dataMisiune, oraMisiune,


tipMisiune, costMisiune, idPersoana_implicata,
numePersoana_implicata, data_nasteriiPersoana_implicata,
adresaPersoana_implicata, telefonPersoana_implicata)

Tabelul Misiuni nu respecta 1 NF deoarece exista un grup repetitiv:


(idPersoana_implicata, numePersoana_implicata,
data_nasteriiPersoana_implicata, adresaPersoana_implicata,
telefonPersoana_implicata)
Aplicam 1 NF si rezulta:
Tabelul Misiuni(idMisiune, adresaMisiune, dataMisiune, oraMisiune,
tipMisiune, costMisiune)
Tabelul Persoane_implicate(idMisiune ,idPersoana_implicata,
numePersoana_implicata, data_nasteriiPersoana_implicata,
adresaPersoana_implicata, telefonPersoana_implicata )
Acest tabel nu respecta 2NF deoarece avem o dependenta functionala
partiala:
idPersoana_implicata=> numePersoana_implicata,
data_nasteriiPersoana_implicata, adresaPersoana_implicata,
telefonPersoana_implicata
Aplicam 2 NF si rezulta:

Tabelul Persoane_implicate_Misiuni (idMisiune, idPersoana_implicata)


Tabelul Persoane_implicate( idPersoana_implicata,
numePersoana_implicata, data_nasteriiPersoana_implicata,
adresaPersoana_implicata, telefonPersoana_implicata)
Tabelele obtinute in urma procesului de normalizare sunt:
- BazeMilitare (idBazaMilitara , numeBazaMilitara,
telefonBazaMilitara, mailBazaMilitara);
- Soldati (idSoldat , idBazaMilitara , numeSoldat, data_nasteriiSoldat,
adresa_CISoldat, CNPSoldat, gradSoldat, nr_legitimatieSoldat,
telefon_serviciSoldat);
- Soldati_Bun_dotare ( idSoldat, idBun_dotare ,
data_primiriiBun_dotare, serieBun_dotare);
- Soldati_Misiuni (idSoldat , idMisiune);
- Misiuni (idMisiune, adresaMisiune, dataMisiune, oraMisiune,
tipMisiune, costMisiune);
- Persoane_implicate_Misiuni (idMisiune, idPersoana_implicata);
- Persoane_implicate ( idPersoana_implicata,
numePersoana_implicata, data_nasteriiPersoana_implicata,
adresaPersoana_implicata, telefonPersoana_implicata);