Esempio: Consideriamo una tabella IscrizioniCorsi che non è in 2NF:
- Attributi: CodiceCorso, IDStudente, NomeStudente, NomeCorso
- Chiave primaria composta: CodiceCorso, IDStudente
Se il NomeStudente dipende solo dall'IDStudente e il NomeCorso dipende solo dal CodiceCorso, allora abbiamo dipendenze parziali: IDStudente -> NomeStudente e CodiceCorso -> NomeCorso.
Per raggiungere la 2NF, dobbiamo eliminare queste dipendenze parziali:
- Creare una tabella separata Studenti con attributi IDStudente e NomeStudente.
- Creare una tabella separata Corsi con attributi CodiceCorso e NomeCorso.
- Mantenere la tabella IscrizioniCorsi con gli attributi CodiceCorso e IDStudente.
Questo processo elimina le dipendenze parziali, assicurando che ogni attributo non chiave dipenda dall'intera chiave primaria, portando il database in 2NF.