Normalizzazione 2NF
Dipendere dall’intera chiave
Sezione intitolata “Dipendere dall’intera chiave”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.
Un modo semplice di pensarla
Sezione intitolata “Un modo semplice di pensarla”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.
Un esempio intuitivo
Sezione intitolata “Un esempio intuitivo”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.
Perché serve
Sezione intitolata “Perché serve”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.
Un consiglio pratico
Sezione intitolata “Un consiglio pratico”Se la 2NF ti sembra astratta, concentrati sull’idea generale: i dati devono stare nella tabella dalla cui chiave dipendono davvero.