Anomalie
 | Inserimento |
 | Cancellazione |
 | Aggiornamento |
Dipendenza funzionaleT(A1, A2, ..., An) tabella, X e Y sottoinsiemi di {A1, A2, ..., An}
 | X determina funzionalmente Y, X --> Y, se non possono esistere due tuple con valori identici in X e valori diversi in Y |
 | Se A* non appartiene alla chiave primaria allora dipende funzionalmente da essa |
 | Se X' sottoinsieme di X e X' --> Y allora esiste una dipendenza funzionale parziale tra X e Y |
 | Se non esiste X' ... allora esiste una dipendenza funzionale completa tra X e Y |
Forme normaliUna tabella T(A1, A2, ..., An) è in prima forma normale se
 | tutti i suoi attributi sono semplici |
Una tabella T(A1, A2, ..., An) è in seconda forma normale se
 | è in prima forma normale |
 | tutti gli attributi che non fanno parte della chiave primaria hanno una dipendenza funzionale completa da tutte le possibili chiavi candidate di T |
(non esistono dipendenze "parziali") Una tabella T(A1, A2, ..., An) è in terza forma normale se
 | è in seconda forma normale |
 | tutti gli attributi che non fanno parte della chiave primaria dipendono esclusivamente dalla chiave stessa |
(non esistono dipendenze "transitive" tra attributi non chiave, altri attributi non chiave e la chiave) |