Salta ai contenuti

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.

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.

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_idprodotto_idnome_prodottoquantita
103Tastiera2

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 di normalizzazione da memorizzare a forza. Prima capisci bene 1NF e le relazioni. Poi questo livello diventa molto più naturale.

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.