Normalizzazione 2NF
Qui entri in un concetto un po’ più sottile
Sezione intitolata “Qui entri in un concetto un po’ più sottile”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.
Pensa a una ricevuta con due informazioni che identificano una riga: ordine_id e prodotto_id. Il prezzo comprato in quella riga dipende da quella 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 di normalizzazione da memorizzare a forza. Prima capisci bene 1NF e le relazioni. Poi questo livello diventa molto più naturale.
Un consiglio pratico
Sezione intitolata “Un consiglio pratico”Se la 2NF ti sembra astratta, non sei tu il problema. All’inizio succede spesso.
L’importante è capire l’idea generale: i dati devono vivere dove dipendono davvero.