La Normalizzazione
27 January, slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci si garantisce unicità attraverso le primary key - una colonna che contiene valori unici Ciascuna tabella puo avere solo una primary key (PK) Chiavi semplici/composte Decidere sullassegnazione di PK Minimalità Stabilità Semplicità Le migliori PK spesso sono Integer, Long Integer, o Counter
27 January, slide 3 Le nuove tecnologie Software Chiavi Esterne e Domini Primary keys (PK) sono essenziali quando si devono creare relazioni Foreign key (FK): una colonna in una tabella usata per referirsi ad una PK in unaltra tabella PK e FK devono appartenere allo stesso dominio
27 January, slide 4 Le nuove tecnologie Software Relazioni Relazioni nel mondo reale sono molto complesse Relazioni nel RDB sono collegamenti tra due tabelle: One-to-one One-to-many Many-to-many
27 January, slide 5 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
27 January, slide 6 Le nuove tecnologie Software Normalizzazione Sarai Normale in pochi minuti...!
27 January, slide 7 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
27 January, slide 8 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
27 January, slide 9 Le nuove tecnologie Software Una relazione con anomalie
27 January, slide 10 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
27 January, slide 11 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
27 January, slide 12 Le nuove tecnologie Software Prima delle forme normali: relazioni Tabelle devono descrivere entità singole Non sono permessi duplicati di righe (PK )
27 January, slide 13 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
27 January, slide 14 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
27 January, slide 15 Le nuove tecnologie Software Seconda Forma Normale 2NF viene ottenuta spezzando tabelle in parti normalizzate che descrivano una singola entità Questa fase è detta decomposizione
27 January, slide 16 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
27 January, slide 17 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
27 January, slide 18 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
27 January, slide 19 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