Upload
simonetta-bevilacqua
View
215
Download
1
Embed Size (px)
Citation preview
La Normalizzazione
11 April 2023 - slide 5Le nuove tecnologie Software
Normalizzazione
Normalizzazione è il processo di semplificazione di un data base per ottenere la struttura ottimaleForme Normali sono progressioni lineari di regole da applicare al data base, con ciascuna forma normale si ottiene un miglioramento del data base
11 April 2023 - slide 6Le nuove tecnologie Software
Normalizzazione
“Sarai Normale in pochi minuti...!”
11 April 2023 - slide 7Le 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 difettiQuando 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
11 April 2023 - slide 8Le nuove tecnologie Software
NormalizzazioneProcedura 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 datiNon costituisce una metodologia di progettazione
11 April 2023 - slide 9Le nuove tecnologie Software
Una relazione con anomalie
Impiegato Stipendio Progetto Bilancio Funzione
Rossi 20 Marte 2 tecnicoVerdi 35 Giove 15 progettistaVerdi 35 Venere 15 progettistaNeri 55 Venere 15 direttoreNeri 55 Giove 15 consulenteNeri 55 Marte 2 consulenteMori 48 Marte 2 direttoreMori 48 Venere 15 progettista
Bianchi 48 Venere 15 progettistaBianchi 48 Giove 15 direttore
11 April 2023 - slide 10Le nuove tecnologie Software
AnomalieLo 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
11 April 2023 - slide 11Le 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
11 April 2023 - slide 12Le nuove tecnologie Software
Prima delle forme normali: relazioni
Tabelle devono descrivere entità singole Non sono permessi duplicati di righe (PK )
11 April 2023 - slide 13Le 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
11 April 2023 - slide 14Le 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, nient’altro che la chiave, aiutami tu Codd.”Tabelle devono memorizzare solo dati relativi ad una sola entità descritta dalla PK
11 April 2023 - slide 15Le nuove tecnologie Software
Seconda Forma Normale
2NF viene ottenuta spezzando tabelle in parti normalizzate che descrivano una singola entitàQuesta fase è detta decomposizione
11 April 2023 - slide 16Le 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
11 April 2023 - slide 17Le 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 composte3FN: Rimuovere colonne calcolate e creare tabelle di lookup
11 April 2023 - slide 18Le 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
11 April 2023 - slide 19Le nuove tecnologie Software
Come Denormalizzare
Farlo deliberatamenteAvere una ottima regione per farlo Essere ben consci di cosa questo comporti in termini di performance Documentare la decisione