Modelli di Base Dati 3 Le forme normali a.a. 2001/2002 3.1
Normalizzazione delle relazioni 3.2 La normalizzazione delle relazioni è un processo formalizzato con il quale le tabelle vengono trasformate in altre tabelle in modo tale che ogni tabella corrisponda a un singolo oggetto della realtà rappresentata. Le regole della normalizzazione sono definite per evitare inconsistenza dei dati e anomalie nelle operazioni di aggiornamento. Livelli crescenti di normalizzazione corrispondono a diverse forme normali delle relazioni. Garantire che la scomposizione di una tabella in altre tabelle di forma normale superiore non provochi perdita di dati. a.a. 2001/2002 3.2
Forme normali 3.3 Prima forma normale (1FN): relazione con requisiti fondamentali del modello relazionale: tutte le le righe della tabella contengono lo lo stesso numero di di colonne gli gli attributi rappresentano informazioni elementari i i valori che compaiono in in una colonna appartengono allo stesso dominio ogni riga è diversa da da tutte le le altre l ordine con il il quale le le righe compaiono nella tabella è irrilevante i a.a. 2001/2002 3.3
Dipendente Matricola Cognome Nome Esempio Data di nascita Assunzione Stipendi Figlio 1 Figlio 2 Figlio 3 3.4 Dipendente(Matricola, Cognome, Nome, DataNascita) Assunzione(Matricola, DataAssunto, Qualifica) Stipendio(Matricola, DataPagamento, Importo) Figli(Matricola, NomeFiglio, DataNascita) a.a. 2001/2002 3.4
Dipendenze dipendenza funzionale tra attributi: : il valore di un attributo A1 1 determina un singolo valore dell'attributo A2 A1? A2 3.5 dipendenza transitiva: : un attributo A2 2 dipende da A1 1 e l'attributo A3 3 dipende da A2; allora A3 dipende transitivamente da A1 A1? A2 2, A2? A3 3, A1? A3 a.a. 2001/2002 3.5
Forme normali Seconda forma normale (2FN): elimina la dipendenza parziale degli attributi dalla chiave. 3.6 relazione in in prima forma normale tutti gli gli attributi non-chiave dipendono dall intera chiave, cioè non possiede attributi che dipendono soltanto da da una parte della chiave. R1(A1,A2,A3,A4,A5),A3,A4,A5) con (A1,A2) ->A3, A1-> A4, A2-> A5 non è in 2FN, e può essere normalizzata in 2FN : R21(A1,A2,A3),A3), R22(A1,A4), R23(A2,A5) a.a. 2001/2002 3.6
Inventario CodProd CodMagaz Esempio Quantità Indirizzo Magazzino Chiave composta 3.7 Inventario(CodProd, CodMagaz,Quantità) Magazzino(CodMagaz, Indirizzo) Problemi ridondanza aggiornamento inconsistenza irreperibilità a.a. 2001/2002 3.7
Forme normali Terza forma normale (3FN): elimina la dipendenza transitiva degli attributi dalla chiave. 3.8 relazione in in seconda forma normale tutti gli gli attributi non-chiave dipendono direttamente dalla chiave, cioè non possiede attributi non-chiave che dipendono da da altri attributi non-chiave. R2(A1,A2,A3,A4) con A2-> A4 non è in 3FN, e può essere normalizzata in 3FN con : R31(A1,A2,A3) A2,A3), R32(A2,A4) a.a. 2001/2002 3.8
Impiegato NomeImp NomeReparto Esempio TelReparto 3.9 Impiegato(NomeImp, NomeReparto) Reparto(NomeReparto, TelReparto) Problemi ridondanza aggiornamento inconsistenza irreperibilità a.a. 2001/2002 3.9
Normalizzazione la relazione iniziale viene scomposta in più relazioni complessivamente forniscono le stesse informazioni di partenza mantengono le dipendenze tra gli attributi in ciascuna di esse, ogni attributo dipende direttamente dalla chiave vengono evitati problemi di ridondanza e di inconsistenza dei dati non ci deve essere perdita complessiva delle informazioni 3.10 a.a. 2001/2002 3.10
Esercizi Trasformare le seguenti tabelle non normalizzate in terza forma normale : 3.1 Fatture ai clienti NumeroFattura RagioneSociale Indirizzo PartitaIVA DataFattura ImportoTotale Riga1 Riga2 Riga3 3.11 3.2 Esami sostenuti dagli studenti Matricola CognomeNome Indirizzo DataNascita Sesso CodiceEsame Titolo Docente DataEsame Voto a.a. 2001/2002 3.11
Esercizi 3.3 Versamenti di imposta dei contribuenti 3.12 CodiceFiscale CognomeNome DataNascita DataVersamento TipoImposta1 Importo1 TipoImposta2 Importo2 TipoImposta3 Importo3 a.a. 2001/2002 3.12
Caratteristiche del modello relazionale Semplicità nell uso e nell implementazione: Il progettista costruisce il modello considerando le entità, le associazioni e le dipendenze degli attributi identificabili nel problema reale Il passaggio dal modello concettuale al modello logico è ottenuto con semplici regole Svantaggi: Ricerca lenta Occupazione di spazio di memoria di massa 3.13 a.a. 2001/2002 3.13
Tipi di normalizzazione 3.14 Prima forma normale possiede i requisiti fondamentali del modello relazionale, in particolare ogni attributo è elementare, non ci sono righe uguali, non ci sono attributi di gruppo o ripetuti Seconda forma normale è in prima forma normale e non ci sono attributi non- chiave che dipendono parzialmente dalla chiave Terza forma normale è in seconda forma normale e non ci sono attributi non- chiave che dipendono transitivamente dalla chiave a.a. 2001/2002 3.14
Caratteristiche della normalizzazione Con la normalizzazione la relazione iniziale viene scomposta in più relazioni complessivamente forniscono le stesse informazioni di partenza (non ci deve essere perdita complessiva delle informazioni) mantengono le dipendenze tra gli attributi in ciascuna di esse ogni attributo dipende direttamente dalla chiave vengono evitati problemi di ridondanza e di inconsistenza dei dati I dati possono essere ritrovati attraverso operazioni di congiunzione tra le relazioni sugli attributi comuni. 3.15 a.a. 2001/2002 3.15