16
La Normalizzazione

La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

Embed Size (px)

Citation preview

Page 1: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

La Normalizzazione

Page 2: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 3: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

11 April 2023 - slide 6Le nuove tecnologie Software

Normalizzazione

“Sarai Normale in pochi minuti...!”

Page 4: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 5: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 6: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 7: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 8: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 9: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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 )

Page 10: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 11: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 12: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 13: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 14: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 15: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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

Page 16: La Normalizzazione. 27 January, 2014 - slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci

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