una relazione è in 2FN quando è in 1FN innanzitutto e poi quando non possiede attributi che dipendono soltanto da una parte della chiave. Supposta la tabella
codice:
Merci(Codice, Magazzino, Quantità, LocalitàMagazzino
la chiave è composta da Codice e Magazzino poichè il solo codice non identifica la merce che, di fatto, potrebbe essere presente in magazzini diversi. D'altro canto la Località magazzino riguarda solo l'attributo Magazzino e pertanto separiamo in:
codice:
Merci (Codice , Magazzino, Quantità)
Depositi (Magazzino, LocalitàMagazzino
Una relazione invece è in 3FN quando è in 2FN innanzitutto e quando non possiede attributi non chiave che dipendono da altri attributi non chiave.
Supposta la tabella
codice:
Studenti(Nome, Scuola, TelefonoScuola)
può essere scomposta in
codice:
Studenti (Nome, Scuola)
Istituti(Scuola, TelefonoScuola)
Praticamente si è adottato lo stesso modus operandi della scomposizione in 2FN. Spero di avertelo reso più semplice con questa spiegazione.