Forme normali
Forme normali Esistono delle regole che devono essere rispettate dalla base dati affinché questa sia correttamente normalizzata; queste regole sono note come forme normali Anno Scolastico 2011-12 Classe 5 Binf
Perché introdurre le forme normali? Quando una relazione non soddisfa le forme normali presenta ridondanze e anomalie. Anno Scolastico 2011-12 Classe 5 Binf
Esempio Anno Scolastico 2011-12 Classe 5 Binf Impiegato Stipendio Progetto Budget Funzione Rossi Bianchi Verdi 1500 2000 4000 Prog1 Prog2 Prog3 100000 150000 180000 Capoprogetto Direttore Consulente Anno Scolastico 2011-12 Classe 5 Binf
Esempio Lo stipendio di ciascun impiegato è ripetuto in tutte le tuple relative: ridondanza Se lo stipendio di un impiegato varia, è necessario modificare il valore in diverse tuple: anomalia di aggiornamento Se un impiegato interrompe la partecipazione a tutti i progetti, dobbiamo cancellarlo: anomalia di cancellazione Un nuovo impiegato senza progetto no può essere inserito: anomalia di inserimento Anno Scolastico 2011-12 Classe 5 Binf
Anomalie e dipendenze funzionali Le anomalie viste si riconducono alla presenza delle dipendenze funzionali: Impiegato Stipendio Progetto Bilancio Non causa problemi la dipendenza funzionale, perché sulla sx è presente una chiave Impiegato, Progetto Funzione Anno Scolastico 2011-12 Classe 5 Binf
Dipendenze funzionali Def: Data una relazione r su uno schema R(X) e due sottoinsiemi di attributi non vuoti Y e Z di X, diremo che esiste su r una dipendenza funzionale tra Y e Z se, per ogni coppia di tuple t1 e t2 di r aventi gli stessi valori sugli attributi Y, risulta che t1 e t2 hanno gli stessi valori anche sugli attributi di Z. Ad esempio: esiste una funzione che associa ad ogni elemento del dominio dell’attributo Impiegato un solo elemento del dominio dell’attributo Stipendio. Anno Scolastico 2011-12 Classe 5 Binf
Prima forma normale Lo schema di una relazione è in prima forma normale se gli attributi sono di tipo semplice Anno Scolastico 2011-12 Classe 5 Binf
Seconda forma normale Def: Un attributo che appartiene ad una chiave candidata si dice attributo primo. Def: Lo schema di una relazione R è in seconda forma normale se : a) R è in 1FN b) ogni attributo non primo dipende completamente da ogni chiave candidata. Anno Scolastico 2011-12 Classe 5 Binf
Esempio Anno Scolastico 2011-12 Classe 5 Binf Articolo Magazzino Quantità Indirizzo Palloni Scarpe tennis Scarpe calcio Sci 1 2 3 1000 550 1500 700 Via Po 7- Treviso Via tigli 5- Milano Via Verdi 1- Treviso Anno Scolastico 2011-12 Classe 5 Binf
Normalizzazione in 2FN Magazzino Indirizzo L’attributo Indirizzo dipende parzialmente dalla chiave. La soluzione consiste nell’estrarre la FD che crea problemi: ArticoliMag(Articolo,Magazzino,Quantità) Magazzino(Magazzino, Indirizzo) Anno Scolastico 2011-12 Classe 5 Binf
Terza forma normale Def: Lo schema di una relazione R è in terza forma normale se : a) R è in 2FN b) ogni attributo non-primo non dipende transitivamente da nessuna chiave. Y X A Anno Scolastico 2011-12 Classe 5 Binf
Normalizzazione in 3FN (1) CodImpiegato Nome Reparto CapoReparto 001 002 003 004 Rossi Verdi Gialli Bianchi Vendite Produzione Magazzino Pinco Pallino Palla Anno Scolastico 2011-12 Classe 5 Binf
Normalizzazione in 3FN (2) Impiegati(CodImpiegato,Nome,Reparto,CapoReparto) Lo schema è in 2FN. Le dipendenze funzionali sono: CodImpiegato Nome,Reparto,CapoReparto Reparto CapoReparto Problema: CapoReparto dipende transitivamente dalla chiave CodImpiegato. Anno Scolastico 2011-12 Classe 5 Binf
Normalizzazione in 3FN (3) Per risolvere il problema consiste nell’estrarre la FD che crea problemi: Impiegati(CodImpiegato,Nome,Reparto) Reparto(CodReparto,CapoReparto) Anno Scolastico 2011-12 Classe 5 Binf