La Normalizzazione Normalizzazione Normalizzazione è il processo di semplificazione di un data base per ottenere la struttura ottimale Forme Normali sono progressioni lineari di regole da applicare al data base, con ciascuna forma normale si ottiene un miglioramento del data base Le nuove tecnologie Software 18 December, 2015 - slide Normalizzazione “Sarai Normale in pochi minuti...!” Le nuove tecnologie Software 18 December, 2015 - slide Forme normali Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la “qualità”, cioè l'assenza di determinati difetti Quando una relazione non è normalizzata: presenta ridondanze, si presta a comportamenti poco desiderabili durante gli aggiornamenti Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R Le nuove tecnologie Software 18 December, 2015 - slide Normalizzazione Procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati Non costituisce una metodologia di progettazione Le nuove tecnologie Software 18 December, 2015 - slide Una relazione con anomalie Impiegato Stipendio Progetto Rossi 20 Marte Verdi 35 Giove Verdi 35 Venere Neri 55 Venere Neri 55 Giove Neri 55 Marte Mori 48 Marte Mori 48 Venere Bianchi 48 Venere Bianchi 48 Giove Le nuove tecnologie Software Bilancio 2 15 15 15 15 2 2 15 15 15 Funzione tecnico progettista progettista direttore consulente consulente direttore progettista progettista direttore 18 December, 2015 - slide Anomalie Lo stipendio di ciascun impiegato è ripetuto in tutte le ennuple relative ridondanza Se lo stipendio di un impiegato varia, è necessario andarne a modificare il valore in diverse ennuple anomalia di aggiornamento Se un impiegato interrompe la partecipazione a tutti i progetti, dobbiamo cancellarlo anomalia di cancellazione Un nuovo impiegato senza progetto non può essere inserito anomalia di inserimento Le nuove tecnologie Software 18 December, 2015 - slide Perché questi fenomeni indesiderabili? abbiamo usato un'unica relazione per rappresentare informazioni eterogenee Le nuove tecnologie Software gli impiegati con i relativi stipendi i progetti con i relativi bilanci le partecipazioni degli impiegati ai progetti con le relative funzioni 18 December, 2015 - slide Prima delle forme normali: relazioni Tabelle devono descrivere entità singole Non sono permessi duplicati di righe (PK ) Le nuove tecnologie Software 18 December, 2015 - slide Prima Forma Normale La prima Forma Normale (1NF) dice che tutte le colonne devono essere atomiche Una colonna un valore Non ci sono unità ripetitive Le nuove tecnologie Software 18 December, 2015 - slide Seconda Forma Normale Una tabella è detta in Seconda Forma Normale (2NF), se è in 1NF e ciascuna colonna dipende (in senso stretto) dalla primary key “La chiave, solo la chiave, nient’altro che la chiave, aiutami tu Codd.” Tabelle devono memorizzare solo dati relativi ad una sola entità descritta dalla PK Le nuove tecnologie Software 18 December, 2015 - slide Seconda Forma Normale 2NF viene ottenuta spezzando tabelle in parti normalizzate che descrivano una singola entità Questa fase è detta decomposizione Le nuove tecnologie Software 18 December, 2015 - slide Terza Forma Normale Una tabella è detta in Terza Forma Normale (3NF), se è in 2NF e se tutte le colonne sono indipendenti tra loro Ad esempio colonne calcolate Tabelle di lookup Le nuove tecnologie Software 18 December, 2015 - slide …per diventare Normali 1NF: Una colonna un valore. Rimuovere gruppi ripetuti 2NF: Spezzare in tabelle che descrivano entità separate. Spezzare le PK composte 3FN: Rimuovere colonne calcolate e creare tabelle di lookup Le nuove tecnologie Software 18 December, 2015 - slide Quando Denormalizzare Performance Quando gli utenti lo richiedono (anche se questo puo’ essere evitato) Esempi tipici: Le nuove tecnologie Software rinuncia alla 3FN Utilizzo di campi calcolati per saldo clienti Statistica 18 December, 2015 - slide Come Denormalizzare Farlo deliberatamente Avere una ottima regione per farlo Essere ben consci di cosa questo comporti in termini di performance Documentare la decisione Le nuove tecnologie Software 18 December, 2015 - slide