La Normalizzazione
2 May, slide 2 Le nuove tecnologie Software 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
2 May, slide 3 Le nuove tecnologie Software Normalizzazione Sarai Normale in pochi minuti...!
2 May, slide 4 Le nuove tecnologie Software 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
2 May, slide 5 Le nuove tecnologie Software 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
2 May, slide 6 Le nuove tecnologie Software Una relazione con anomalie
2 May, slide 7 Le nuove tecnologie Software 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
2 May, slide 8 Le nuove tecnologie Software Perché questi fenomeni indesiderabili? abbiamo usato un'unica relazione per rappresentare informazioni eterogenee gli impiegati con i relativi stipendi i progetti con i relativi bilanci le partecipazioni degli impiegati ai progetti con le relative funzioni
2 May, slide 9 Le nuove tecnologie Software Prima delle forme normali: relazioni Tabelle devono descrivere entità singole Non sono permessi duplicati di righe (PK )
2 May, slide 10 Le nuove tecnologie Software 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
2 May, slide 11 Le nuove tecnologie Software 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, nientaltro che la chiave, aiutami tu Codd. Tabelle devono memorizzare solo dati relativi ad una sola entità descritta dalla PK
2 May, slide 12 Le nuove tecnologie Software Seconda Forma Normale 2NF viene ottenuta spezzando tabelle in parti normalizzate che descrivano una singola entità Questa fase è detta decomposizione
2 May, slide 13 Le nuove tecnologie Software 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
2 May, slide 14 Le nuove tecnologie Software …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
2 May, slide 15 Le nuove tecnologie Software Quando Denormalizzare Performance Quando gli utenti lo richiedono (anche se questo puo essere evitato) Esempi tipici: rinuncia alla 3FN Utilizzo di campi calcolati per saldo clienti Statistica
2 May, slide 16 Le nuove tecnologie Software Come Denormalizzare Farlo deliberatamente Avere una ottima regione per farlo Essere ben consci di cosa questo comporti in termini di performance Documentare la decisione