logo

Seconda forma normale (2NF)

  • Nella 2NF, il relazionale deve essere in 1NF.
  • Nella seconda forma normale, tutti gli attributi non chiave sono pienamente funzionali e dipendono dalla chiave primaria

Esempio: Supponiamo che una scuola possa archiviare i dati degli insegnanti e delle materie che insegnano. In una scuola, un insegnante può insegnare più di una materia.

Tavolo INSEGNANTE

ID_INSEGNANTE SOGGETTO INSEGNANTE_AGE
25 Chimica 30
25 Biologia 30
47 Inglese 35
83 Matematica 38
83 Computer 38

Nella tabella fornita, l'attributo non primario TEACHER_AGE dipende da TEACHER_ID che è un sottoinsieme appropriato di una chiave candidata. Ecco perché viola la regola per 2NF.

Per convertire la tabella data in 2NF, la scomponiamo in due tabelle:

Tabella TEACHER_DETAIL:

ID_INSEGNANTE INSEGNANTE_AGE
25 30
47 35
83 38

Tabella TEACHER_SUBJECT:

np.concatenate
ID_INSEGNANTE SOGGETTO
25 Chimica
25 Biologia
47 Inglese
83 Matematica
83 Computer