Sunteți pe pagina 1din 3

Forma normală 2 (FN2).

O
relaţie este în cea de-a doua
formă normală dacă respectă
FN1 şi
Forma normală 2 (FN2).
O relaţie este în cea de-a doua formă normală dacă respectă FN1 și orice atribut
non-cheie este total dependent faţă de cheia primară a relaţiei.

Exemplu:

Fie tabelul Marfuri_Facturi (NrFact, CodMarfa, DenMarfa, UM, Calitate,


CantFact)

NrFact CodMarfa DenMarfa UM Calitate CantFact


10 100 Portocale Kg 1 70
10 200 Kiwi Kg 1 90
11 400 Pomelo buc 2 50
11 100 Portocale kg 1 100
--------- ----- --------------- ------- ------------ ------------------

Analizând această relaţie, pot fi identificate următoarele dependenţe


funcţionale:
 CodMarfa →DenMarfa, UM, Calitate, deoarece fiecare cod unic de

marfă determină o valoare pentru denumirea mărfii, unitate de măsură, calitate .


 CodMarfa DenMarfa, UM, Calitate, deoarece fiecare cod unic de
marfă determină o valoare pentru denumirea mărfii, unitate de măsură, calitate.
 NrFact, CodMarfa CantFact, atributul compus (Nrfact,
CodMarfa) determină
 NrFact, CodMarfa → CantFact, atributul compus (Nrfact,
CodMarfa) determină funcţional CantFact. În mod practic, unei facturi nu i se
poate asocia o cantitate facturată totală, altfel spus între NrFact şi CantFact nu
poate exista o dependenţă funcţională.
Pornind de la aceste dependenţe se deduce că relaţia Marfuri_Facturi
are o cheie primară compusă, formată din atributele NrFact şi CodMarfa.
Această dependenţă funcţională parţială are drept consecinţe o serie de
anomalii:
 anomalia de adăugare – nu se pot adăuga noi mărfuri atâta timp cât
acestea nu sunt aprovizionate, altfel spus nu apar pe o factură;
 anomalia de ştergere - dacă se şterge înregistrarea corespunzătoare pentru
o singură marfă existentă, atunci se pierd şi informaţiile referitoare la denumire
marfă, unitate de măsură şi calitate;
 anomalia de modificare - dacă se cere modificarea calităţii pentru o
marfă, trebuie căutate toate înregistrările în care se regăseşte aceasta, ceea ce
implică parcurgerea relaţiei în întregime.

DenMarfa

CodMarfa
UM

Caliatatr

CantFact

NrFact

Fig1. Dependențe funcționale identificate

Aceste anomalii se pot elimina prin descompunerea relaţiei Marfuri_Facturi în


relaţiile:
Marfuri (CodMarfa, DenMarfa, UM, Calitate)
MarfurFacturate (NrFact, CodMarfa, CantFact)
Marfuri
CodMarf DenMarfa UM Calitate
a
100 Portocale Kg 1
200 Kiwi Kg 1
400 Pomelo buc 2
100 Portocale kg 1
----- --------------- ------- ------------

NrFact CodMarfa CantFac MarfurFacturate


t
10 100 70
10 200 90
11 400 50
11 100 100
----- --------------- -------