Terza forma normale
MySql Ottobre 4th, 2007
Definizione: una database è in 3NF (terza forma normale) se è in 2NF e per ogni dipendenza funzionale X->Y è vera una delle seguenti condizioni:
X è una superchiave della relazione
Y è membro di una chiave della relazione.
Detta in maniera molto più semplice (forse troppo), questa regola impone che tutte le colonne non chiave devono essere reciprocamente indipendenti. Cioè, tutte le colonne che non sono chiavi primarie non devono eseguire nessun calcolo e nessuna operazione. Ogni tabella non uniforme dovrà essere scomposta in piccole tabelle.
| Impiegato | Nome | Reparto | Caporeparto |
| 1 | Rossi | Vendite | Marchi |
| 2 | Verdi | Acquisti | Giorgi |
| 3 | Bianchi | Magazzino | Stefanini |
| 4 | Neri | Vendite | Marchi |
Nella tabella indicata si possono identificare le seguenti dipendenze:
Impiegato -> Nome, Reparto, Caporeparto
Reparto -> Caporeparto
Se applichiamo la definizione ci accorgiamo che la prima dipendenza rispetta la 3NF (in quanto impiegato è campo chiave) mentre la seconda dipendenza genera problemi visto che Reparto non è campo chiave e Caporeparto non è membro di una chiave.
Questo ci porta ad avere una ripetizione di dati e obbliga a generare una seconda tabella che abbia per chiave Reparto e come attributo non chiave Caporeparto.
Tags: 3NF, database, forma, MySql, normale, progettazione, terza
About