DATABASE: definizione e progettazione CAPITOLO IV DATABASE: definizione e progettazione Definizioni DATO ELEMENTARE Una qualunque rappresentazione elementare, non interpretata, di fatti o di concetti, formalizzata ed adatta ad essere interpretata ed elaborata da esseri umani o strumenti automatici. Il dato può essere rappresentato da caratteri alfanumerici e/o quantità analogiche, senza che venga loro alcun significato. INFORMAZIONE Si definisce informazione il significato che un essere umano assegna ai dati per mezzo di convenzioni applicate (ai dati stessi). Non appena un dato è interpretato e gli si attribuisce un significato, diventa informazione. E’ importate chiedersi se i dati inseriti siano informazioni per il problema in esame, al fine di ottimizzare la struttura della banca dati stessa. DATABASE Il Database è una collezione di dati ed informazioni congruenti e non ridondanti, organizzata con una ben determinata struttura, per essere gestita da un software D.B.M.S., grazie al quale più utenti, concorrentemente, possono: o o o o o o definire creare modificare eliminare memorizzare reperire dati Pagina 1 di 7 DATABASE: definizione e progettazione Il database non è una semplice raccolta di dati relativi ad un certo argomento, né un archivio organizzato con criteri di sola consultazione. Inoltre, relativamente ad un’informazione, non esiste dato ripetuto in diversi archivi con diversità di formato e nomenclatura. D.B.M.S. (DATA BASE MANAGEMENT SYSTEM) Nella definizione di database è implicita la presenza di un software DBMS (Sistema di gestione delle banche di dati), a cui tutti gli utenti rivolgono le proprie richieste per la gestione dei dati. I DBMS hanno il compito di: o semplificare il reperimento delle informazioni; o gestire grosse moli di dati; o rispondere alla necessità che i dati siano quanto più indipendenti dalle applicazioni che li gestiscono; o garantire l’integrità, la sicurezza e la possibilità di ripristino dei dati stessi. Modelli di Database Esistono diversi DBMS che differiscono principalmente per i modello dei dati su cui operano: o Modello relazionale, o Modelli non relazionali (o pre-relazionali): Modello gerarchico, Modello reticolare. Per ogni modello esiste un software DBMS specifico. MODELLO RELAZIONALE Il modello relazionale offre i dati collezionati di tabelle, in cui le colonne rappresentano gli attributi e le righe descrivono univocamente le ricorrenze del fenomeno descritto. Le eventuali interdipendenze tra tabelle sono espresse dal valore dei dati, anziché da “coordinate” o dalla loro posizione in memoria (come nei modelli non relazionali). Si accede, cioè, ai dati tramite valori rispondenti a determinati criteri e non seguendo cammini predefiniti. Questo garantisce un alto grado di indipendenza delle informazioni, in quanto i cammini sono “calcolati” ogni volta che è fatta richiesta di accesso al dato. Pagina 2 di 7 DATABASE: definizione e progettazione MODELLO GERARCHICO I dati sono strutturati secondo una gerarchia ad albero, rispettando il vincolo di proprietà padre-figlio. Ogni dato ha un solo proprietario, detto PADRE. L’albero gerarchico rappresenta come sono intercorrelate i dati tra loro e determina il percorso di ricerca: si accede alle informazioni del database dall’alto verso il basso della sua struttura, nell’ordine PADRE / FIGLIO. Cliente è il dato RADICE ed ha due figli, Fattura ed Ordine. Riga è figlia di Ordine. MODELLO RETICOLARE Anche il modello reticolare è organizzato secondo il “possesso” dei dati. Questa volta i dati potrebbero avere anche più di un proprietario (eccetto il dato Radice). Conseguentemente potrebbero esistere diversi cammini di accesso ad un dato. Il modello reticolare è rappresentato in grafi, con cammini percorribili nei due sensi. Pagina 3 di 7 DATABASE: definizione e progettazione Progettazione di un database La progettazione di un database consiste nel determinare l’organizzazione, la struttura ed i vincoli semantici dei dati che descrivono una certa realtà. È una disciplina con i propri metodi, le proprie tecniche ed i propri strumenti. La qualità della progettazione gioca un ruolo fondamentale per le “prestazioni” applicative del database stesso. Il metodo è l’insieme dei passi e delle attività da svolgere per ottenere i risultato finale. Ogni passo del metodo è eseguito con tecniche appropriate e strumenti specifici della tecnica adottata. La progettazione di un database segue tre fasi distinte e consecutive: o progettazione concettuale, o progettazione logica, o progettazione fisica. PROGETTAZIONE CONCETTUALE La progettazione concettuale dei dati restituisce una rappresentazione astratta ad alto livello della realtà in esame e costituisce uno strumento descrittivo puntuale e fedele. Produce come risultato uno schema concettuale del flusso di dati. Si concentra sulle informazioni interessanti e significative per la realtà da descrivere, esprimendole in termini di fenomeni (Entità) e loro mutue relazioni, a prescindere dal modello finale dei dati (gerarchico, reticolare o relazionale). Realtà da descrivere: Entità: Ogni fabbrica sforna diversi modelli di automobile ed è composta 1. Fabbrica da diverse catene di montaggio, ognuna delle quali produce un 2. Catena di montaggio solo modello di automobile. Più catene di montaggio della stessa 3. Modello di automobile fabbrica possono produrre lo stesso modello di autovettura, … Relazioni: Produrre Schema Concettuale Pagina 4 di 7 DATABASE: definizione e progettazione PROGETTAZIONE LOGICA Traduce lo schema concettuale dei dati nel modello (gerarchico, reticolare o relazionale) scelto dall’utente per strutturare i propri dati. Il risultato di questa fase è uno SCHEMA LOGICO che, a seconda del modello prescelto, sarà l’insieme delle tabelle, oppure l’insieme degli alberi gerarchici o il grafo reticolare. PROGETTAZIONE FISICA In questa fase il database è effettivamente “realizzato” in un computer. Sono stabiliti il tipo e la dimensione degli spazi di memoria sui quali accogliere le informazioni ed i metodi richiesti per l’accesso efficiente al contenuto del database. Pagina 5 di 7 DATABASE: definizione e progettazione Progettazione concettuale di un database: approcci, metodi e tecniche Per arrivare alla definizione dello schema concettuale (e poi logico) di database, si possono usare due differenti approcci: o APPROCCIO TOP-DOWN o APPROCCIO BOTTOM-UP Nell’approccio top-down il punto di partenza sono i fenomeni che caratterizzano la realtà in esame, con le loro proprietà e loro relative associazioni. Nell’approccio bottom-up si concentra l’attenzione sulle applicazioni e sui dati elementari coinvolti nelle applicazioni stesse. Per ogni approccio sono stati sviluppati alcuni metodi, con cui realizzare il modello concettuale ( e poi logico) di database. I metodi più importanti e diffusi sono quelli che si avvalgono rispettivamente delle seguenti tecniche: o ENTITY-RELATIONSHIP (approccio top-down) o NORMALIZZAZIONE (approccio bottom-up) TECNICA ENTITY-RELATIONSHIP (PETER PIN SHAN CHEN, 1976) Questa tecnica offre una struttura formale per la rappresentazione concettuale dei dati. Si fonda su: o ENTITA’ (Entities); o CORRELAZIONI (Relationships) tra entità; o ATTIBUTI che descrivono ciascuna entità. VANTAGGI È la tecnica più immediata ed efficace di aggregazione dei dati elementari, specialmente in realtà complesse. SVANTAGGI Il database potrebbe essere ridondante (non normalizzato) e presentare ripetizioni di informazioni. Pagina 6 di 7 DATABASE: definizione e progettazione TECNICA DELLA NORMALIZZAZIONE (EDWARD F. CODD, 1969) Questa tecnica parte da un punto di vista “opposto” da quello dell’Entity-Relationship, perché prima cerca i dati elementari, quindi le relazioni tra questi, fino a costruire strutture sempre più complesse. L’Entity-Relationship, invece, parte da una visione d’insieme, per scendere sempre più in una descrizione analitica. La tecnica della Normalizzazione si basa sul concetto di “relazione” matematica e focalizza sui dati elementari coinvolti nelle varie attività da descrivere e sui flussi di informazioni scambiati tra queste. Ai dati sono applicati criteri di normalizzazione, fino ad ottenere un insieme ottimale di relazioni esente da ridondanze ed anomalie. VANTAGGI Ha il vantaggio di fornire regole sistemiche e precise per eliminare ripetizioni dei dati. SVANTAGGI La normalizzazione si applica ad isolate raccolte di informazioni usate da ogni attività. In certi casi si rischia di perdere la visione dei dati come risorsa globale della realtà da descrivere. TECNICA MISTA O COMBINATA Spesso si ricorre a procedure che combinano in successione tecniche progettuali Entity Relationship e di Normalizzazione, per ottenere un disegno dati quanto più efficiente da entrambi i punti di vista: applicare le tecniche di normalizzazione ai diagrammi EntityRelationship. Pagina 7 di 7