Introduzione alla normalizzazione
Affinare la modellazione concettuale verso una implementazione tecnologica dei modelli concettuali La modellazione concettuale è un passaggio fondamentale per la strutturazione di un dominio nella prospettiva di una sua gestione da sistemi di archiviazione informatica
Implementazione nel data base Analisi della stuttura linguistica di una narrazione normalizzazione Implementazione nel data base
Introduzione alla normalizzazione attraverso l’uso del linguaggio
narrazione Una azienda vuole gestire una serie di informazioni relative ai propri dipendenti Con riferimento ai bisogni informativi della azienda, ogni dipendente è caratterizzato dall’anagrafica (nome e cognome) matricola, mansione, titolo di studio. Ogni dipendente è anche caratterizzato dai propri figli di cui si sa il nome, la scuola frequentata, e la data dell’onomastico. Il dipendente, infine, è caratterizzato dal codice del progetto in cui il dipendente è impegnato e dalla data di scadenza Commento alla narrazione Si tratta di una narrazione che fa riferimento ai bisogni informativi di soggetti aziendali diversi. I dati anagrafici di base e quelli riferibili alla mansione ed al titolo di studio sono utili a chi si occupa all’ufficio del personale; i dati sui figli sono utili a chi si occupa delle attività sociali del dipendenti; i dati sui progetti in cui i dipendenti sono impegnati servono a pianificare gli impegni dei dipendenti.
narrazione Una azienda vuole gestire una serie di informazioni relative ai propri dipendenti Con riferimento ai bisogni informativi della azienda, ogni dipendente è caratterizzato dall’anagrafica (nome e cognome) matricola, mansione, titolo di studio. Ogni dipendente è anche caratterizzato dai propri figli di cui si sa il nome, la scuola frequentata, e la data dell’onomastico. Il dipendente, infine, è caratterizzato dal codice del progetto in cui il dipendente è impegnato e dalla data di scadenza Commento alla narrazione Si tratta di una narrazione che fa riferimento ai bisogni informativi di soggetti aziendali diversi. I dati anagrafici di base e quelli riferibili alla mansione ed al titolo di studio sono utili a chi si occupa all’ufficio del personale; i dati sui figli sono utili a chi si occupa delle attività sociali del dipendenti; i dati sui progetti in cui i dipendenti sono impegnati servono a pianificare gli impegni dei dipendenti.
L’analisi del testo sembra mostrare che il dominio è costituito da un solo attore caratterizzato da numerosi attributi
Prima ipotesi di tracciato record, come potrebbe essere organizzato in un foglio Excel
criticità Problemi: i record hanno lunghezza diversa Quale è il massimo numero di figli che un lavoratore può avere?
Siamo in presenza di una anonalia in fase di immissione dei dati Non si sa a priori quanti sono i figli che un dipendente può avere Dimensiono il numero delle colonne su un numero ragionevolmente alto: Saranno quasi tutte vuote!
Non si erano concettualizzata correttamente la realtà Non c’è solamente l’attore «dipendente» dipendente ha figli Quando rappresentando gli attributi di un attore ci si imbatte in campi di ripetizione, siamo in presenza di DUE entità in rapporto GERARCHICO tra loro
Si è corretta l’anomalia in immissione Riferimento entità padre Caratteristiche figlio Il lavoratore 1 ha un solo figlio Il lavoratore 2 non ha figli e infatti non compare nell’elenco Il lavoratore 3 ha 4 figli I lavoratori 4,5,6 non hanno figli Il lavoratore 7 ha due figli All’aumentare del numero dei figli si aggiungono RIGHE e non COLONNE ANOMALIA IN IMMISSIONE CORRETTA. NON DEVO FARE IPOTESI SUL NUMERO MASSIMO DI FIGLI-
Primo criterio di normalizzazione Si applica quando gli attributi della entità ipotizzata presentano dei CAMPI DI RIPETIZIONE La presenza di questi gruppi di campi che si ripetono sono il segnale che non si è in presenza di una sola entità ma di due collegate tra loro da una STRUTTURA GERARCHICA In assenza di una attività di normalizzazione si avrebbero delle anomalie in fase di immissione L’anomalia si risolve impostando due distinte entità L’esistenza della relazione gerarchica viene gestita impostando, nella entità gerarchicamente subordinata, la chiave identificativa della entità di livello superiore
Le anomalie nella rappresentazione della entità figlio non sono terminate QUANDO è VERAMENTE L’ONOMASTICO DI GIOVANNI? IL 24 GIUGNO O IL 24 LUGLIO? SIAMO IN PRESENZA DI UNA INFORMAZIONE RIDONDANTE E CI SONO CONSEGUENZE SUL PIANO DELLA QUALITA’ DEL DATO
Importanza della dipendenza degli attributi dalla chiave DA COSA DIPENDE L’ONOMASTICO DEL BAMBINO?
Correzione della anomalia in immissione L’informazione sulla data dell’onomastico di giovanni è inserita una sola volta e non ci sono più registrazioni discordanti
Secondo criterio di normalizzazione Per correggere l’anomalia abbiamo applicato il secondo criterio di normalizzazione Questo criterio aiuta ad individuare delle entità implicite legate da STRUTTURE DI CLASSIFICAZIONE Si applica a rappresentazioni che hanno più di una chiave identificativa (come tutte quelle che sono state individuate e normalizzate non il primo criterio) Si verifica che non ci siano attributi che non dipendono da entrambe le chiavi Nel caso dell’esempio precedente l’onomastico non era una caratteristica specifica di ogni singolo bambino , ma dipendeva dal suo nome
Il modello concettuale alla luce della nuova normalizzazione dipendente ha figli celebrano onomastico
Resta ancora da esaminare una ultima anomalia dell’esempio Cosa succede se decido di spostare i lavoratori che operano sul progetto b e trasferirli su a? SONO IN PRESENZA DI UNA ANOMALIA IN CANCELLAZIONE
Anomalie in cancellazione La scadenza dipende dal progetto e non dal dipendente
Terzo criterio di normalizzazione Risolve le anomalie in cancellazione Si applica per verificare che gli attributi dipendano dalla chiave e non da un altro attributo Anche se nessun lavoratore momentaneamente lavora sul progetto b non ho comunque perso l’informazione sulla sua data di scadenza
I criteri di normalizzazione Forma normale 1NF – Una relazione è in 1NF se non ha gruppi di ripetizione, ossia se ogni attributo si presenta con un unico valore 2NF – Una relazione è in 2NF quando ciascun attributo della relazione dipende interamente dalla chiave e non da una sua sottoparte 3NF – Una relazione è in 3NF quando è in 2NF e non ci sono dipendenze transitive, ossia quando ogni attributo non chiave dipende solo dalla chiave.
L’informazione dipende : Dalla chiave Da tutta la chiave Da nient’altro che dalla chiave
Normalizzazione e qualità della fonte La applicazione dei criteri di normalizzazione è la migliore garanzia per ottenere una fonte di qualità I criteri di normalizzazione infatti correggono Anomalie in immissione (1NF e 2NF) Anomalie in cancellazione (3NF)