Salta ai contenuti
Manuale LogoManuale Logo

Normalizzazione 2NF

La seconda forma normale, o 2NF, dice che ogni colonna deve dipendere dall’intera chiave primaria, non solo da una parte.

Questo tema compare soprattutto quando la chiave primaria è composta da più colonne.

Considera una riga identificata da ordine_id e prodotto_id. La quantità dipende dalla combinazione; il nome del prodotto, invece, dipende solo dal prodotto.

Se una tabella usa una chiave composta, ogni informazione non chiave dovrebbe avere senso solo guardando tutta la chiave.

Se basta un pezzo della chiave per determinare quel valore, probabilmente quel dato starebbe meglio in un’altra tabella.

Immagina questa tabella:

ordine_id prodotto_id nome_prodotto quantita
10 3 Tastiera 2

La quantità dipende dall’ordine e dal prodotto insieme. Il nome_prodotto, invece, dipende solo da prodotto_id.

In 2NF, il nome del prodotto dovrebbe stare nella tabella prodotti.

La 2NF aiuta a ridurre duplicazioni e anomalie negli aggiornamenti.

Non è il primo concetto da memorizzare. Prima capisci bene 1NF e le relazioni: la 2NF sarà più facile da riconoscere.

Se la 2NF ti sembra astratta, concentrati sull’idea generale: i dati devono stare nella tabella dalla cui chiave dipendono davvero.