venerdì 28 maggio 2010

NORMALIZZAZIONE INFORMATICA

La normalizzazione è una prassi finalizzata alla eliminazione della ridondanza e del rischio di inconsistenza dai database. Questo processo presenta differenti livelli, demominati forme normali che certificano la qualità dello schema del database. Si tratta di una procedura di tipo graduale, che realizza un’ottimizzazione progressiva a partire da relazioni non normalizzate fino a raggiungere un certo livello di normalizzazione.
Si fonda su un assunto tanto semplice quanto basilare: se una relazione presenta più concetti tra loro indipendenti, la si decompone in relazioni più piccole, una per ogni concetto. Questo tipo di processo non è purtroppo sempre applicabile in tutte le tabelle, dato che in taluni casi potrebbe comportare una perdita d'informazioni. Due concetti sono fondamentali all'interno della normalizzazione, quello di ridondanza,che si riferisce alla situazione in cui gli stessi dati vengono memorizzati inutilmente più volte e il concetto di anomalia, che si riscontra nel momento in cui si verificano irregolarità dei dati.
Tornando alle forme normali,la decomposizione di una relazione dovrebbe sempre garantire che non avvenga una perdita, affinché possa esserci la ricostruzione delle informazioni originarie e che si conservino le dipendenze, per il mantenimento dei vincoli di integrità originari.
Di seguito le forme normali:

Prima forma normale:

Una relazione si dice in prima forma normale (1NF) se e solo se tutti i suoi attributi sono valori atomici.
Ciò implica che né gli attributi, né i valori da questi assunti possono essere scomposti ulteriormente.
Ad esempio, la relazione NOME e INDIRIZZO non è in prima forma normale, in quanto l’attributo INDIRIZZO non è atomico: può essere suddiviso in Indirizzo e Città. La relazione si normalizza trasformandola in NOME, INDIRIZZO e CITTA’.

Seconda forma normale:
Una relazione è in seconda forma normale se e solo se soddisfa la 1NF e inoltre ciascun attributo che non fa parte della chiave è indipendente funzionalmente da una qualunque chiave candidata.
Per normalizzare la relazione è necessario estrarre la dipendenza funzionale riscontrata tra un sottoinsieme della chiave e l’attributo in questione, che darà luogo ad un’altra relazione.
Esempio:
Abbiamo una relazione che rappresenta delle scrivanie da ufficio prodotte da una azienda industriale, la chiave primaria è data Tipo_tavolo e Tipo_legno.


Tipo_finitura è dipendente funzionalmente da un sottoinsieme della chiave primaria, ovvero da Tipo_legno, dunque la tabella non è in 2NF.
È possibile normalizzare la relazione trasformandola in:




Terza forma normale:

La terza forma normale ha come scopo l’eliminazione dalla relazione delle dipendenze funzionali transitive.
Una relazione è in terza forma normale (3NF) se, oltre ad essere in 2NF, ciascun attributo che non partecipa alla chiave non è transitivamente dipendente da una qualunque chiave candidata.

Nessun commento:

Posta un commento