La denormalizzazione è l’operazione che porta ad accorpare attributi appartenenti a relazioni diverse in un'unica relazione per garantire prestazioni migliori alle ricerche effettuate sulla base di dati. Un classico caso di denormalizzazione si ha con la creazione di attributi che contengono dati ricavati da altre relazioni.
Come esempio consideriamo il database dei film e degli attori. Per sapere a quanti film ha partecipato un attore dovremmo ogni volta contare le tuple dalla relazione "film" associate al particolare attore. Una soluzione alternativa potrebbe essere quella di memorizzare tale numero direttamente nella relazione "attori", incrementandolo ad ogni nuovo film girato. In questo modo l'accesso a tale informazione sarebbe immediato.
La denormalizzazione aumenta la complessità del software che utilizza il database, poiché sarà direttamente responsabile dell'aggiornamento dei dati, e di conseguenza aumentano i rischi di inconsistenza dei dati conservati.
Le tecniche di denormalizzazione comprendono la duplicazione dei dati, la possibilità di disporre di dati di riepilogo, la suddivisone di tabelle in partizioni orizzontali o verticali e la creazione di visualizzazioni denormalizzate per semplificare la creazione di report, ovvero un'alternativa intelligente che lascia invariato il database normalizzato.
La denormalizzazione è molto usata specie in contesti come il datawarehouse. In quel contesto, dove la velocità di risposta della banca dati a una query ha un'importanza maggiore rispetto all'organizzazione dei dati, è utile avere una denormalizzazione delle tabelle per evitare di fare delle join aggiuntive. Generalmente la denormalizzazione si usa trasformando le relazioni gerarchiche del tipo uno-a-molti in un'unica relazione e quindi in un'unica tabella.
Principali vantaggi della normalizzazione sono:
- l'eliminazione della ridondanza dell'informazione: l'informazione è memorizzata una volta sola e non duplicata
- la semplicità di gestione dell'informazione: l'informazione, non essendo duplicata, può essere corretta o eliminata senza particolari ricerche e senza il rischio di non completare correttamente l'operazione
Tali vantaggi sono persi con una struttura sottoposta al processo di denormalizzazione in quanto:
· l'informazione viene duplicata (e quindi c'è una maggiore occupazione di spazio di memoria)
· l'informazione, se errata, deve essere corretta in più punti e si incorre nella possibilità, in caso di eliminazione, di lasciare presenti accidentalmente dei dati che si ritenevano rimossi
· la logica del programma che deve gestire quanto precedentemente esposto è necessariamente più complessa rispetto a quella che gestisce un database normalizzato
La presenza dell'informazione denormalizzata rende però molto più rapida la ricerca e la presentazione dei dati, in quanto l'informazione è più accessibile e la struttura realizzata in genere è molto più vicina a quella di immediata fruizione rispetto a quella ottimizzata per la gestione.
La matrice dei dati consiste in un insieme rettangolare di numeri o più in generale di caratteri, dove in riga abbiamo le unità statistiche ed in colonna le variabili; in ogni cella derivante dall’incrocio tra riga e colonna abbiamo un dato, ossia il valore registrato per una particolare variabile ed un particolare caso.
L’operazione di inserimento del materiale empirico grezzo (questionari, documenti amministrativi, ecc.) in una matrice di dati, passa attraverso la definizione del tracciato record ed il processo di codifica. La definizione del tracciato record serve per stabilire la posizione di ogni variabile nella matrice dati (ad esempio la variabile “genere” si trova nella terza colonna della matrice dei dati); il processo di codifica assegna ad ogni modalità di ogni variabile un valore numerico (ad esempio per la variabile “genere” , il valore “1” sta per “uomo” ed il valore “2” sta per “donna”. Particolare attenzione deve essere prestata all’attribuzione di codici per i dati mancanti e per le situazioni di “non applicabilità”. Il processo di codifica deve rispondere a due requisiti fondamentali: mutua esclusività ed esaustività. Il risultato del processo di codifica è un docucumento denominato codebook.
Una volta completato il processo di codifica si passa all’immissione dati (data entry). In questa fase, la matrice di dati numerica viene trasferita su supporto informaticoÞfile dei dati.
La tabella di frequenza più semplice è costituita da due colonne: sulla prima sono riportate le modalità del carattere preso in esame e sulla seconda, accanto a ciascuna modalità, la frequenza con cui la stessa modalità si presenta nella matrice dei dati.
Le informazioni contenute nelle tabelle costituiscono la cosiddetta distribuzione di frequenza della variabile esaminata.
L’aggregazione dei dati è un’operazione delicata perchè ogni sintesi porta con sè una perdita di informazioni e la sua interpretazione deve essere coerente con il tipo di sintesi che si è effettuata.
giovedì 8 aprile 2010
Ricerca 5 - denormalizzazione e matrice dei dati
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento