Progettazione di basi di dati: metodologie e modelli Metodologie di Progettazione 1 Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in un contesto più generale, il ciclo di vita dei sistemi informativi: insieme e sequenzializzazione delle attività svolte da analisti, progettisti, utenti, nello sviluppo e nell’uso dei sistemi informativi attività iterativa, quindi ciclo Metodologie di Progettazione 2 Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Realizzazione Validazione e collaudo Funzionamento Fasi (tecniche) del ciclo di vita Studio di fattibilità: definizione costi delle alternative possibili e priorità di realizzazione delle varie componenti del sistema Raccolta e analisi dei requisiti: studio delle proprietà e funzionalità che il sistema informativo dovrà avere. Richiede interazione con gli utenti del sistema e produce una descrizione completa, ma informale dei dati coinvolti (anche la previsione del loro carico applicativo) delle operazioni su esse (anche la previsione della loro frequenza) Metodologie di Progettazione 4 Progettazione: dei dati (struttura e organizzazione dei dati) delle applicazioni (caratteristiche dei programmi applicativi): in parallelo o a cascata. Realizzazione: 1. implementazione del sistema informativo secondo la struttura e le caratteristiche definite in fase di progettazione. 2. costruzione e popolamento della base di dati. Metodologie di Progettazione 5 Validazione e collaudo: verifica del corretto funzionamento e della qualità del sistema informativo Funzionamento: il sistema diventa operativo ed esegue i compiti per cui era stato progettato. A meno di malfunzionamenti questa attività richiede solo operazioni di gestione e manutenzione Metodologie di Progettazione 6 Studio di fattibilità Raccolta e analisi dei requisiti Progettazione dei dati Realizzazione Validazione e collaudo Funzionamento Metodologia di progetto Per garantire prodotti di buona qualità è opportuno seguire una metodologia di progetto, che consiste in: articolazione delle attività di progetto in fasi successive indipendenti tra loro strategie da seguire nei vari passi e criteri di scelta in caso di alternative modelli di riferimento per descrivere i dati di ingresso e uscita delle varie fasi Metodologie di Progettazione 8 Proprietà di una metodologia Le proprietà che una metodologia deve garantire sono: generalità rispetto allle applicazioni e ai sistemi in gioco qualità del prodotto in termini di correttezza, completezza ed efficienza rispetto alle risorse impiegate facilità d'uso sia delle strategie che dei modelli di riferimento Metodologie di Progettazione 9 Studio di fattibilità PROGETTAZIONE Raccolta e analisi dei requisiti Progettazione dei dati Realizzazione Validazione e collaudo Funzionamento requisiti del Sistema informativo utenti interattivi applicazioni progettazione concettuale DBMS SCHEMA CONCETTUALE progettazione logica SCHEMA LOGICO Normalizzazione progettazione fisica SCHEMA FISICO DB Fase di raccolta e analisi dei requisiti Fase in cui vengono raccolte e analizzate le specifiche informali ed eterogenee che i vari utenti danno delle procedure da automatizzare mediante un DBMS requisiti informativi: caratteristiche dei dati requisiti sui processi: operazioni sui dati requisiti sui vincoli di integrità: proprietà dei dati e delle operazioni Attività principali: Costruzione glossario dei termini Eliminazione delle ambiguità (sinonimi, omonimi) Raggruppamento dei requisiti “omogenei” Fase solo apparentemente semplice, nella realtà è spesso la più complessa perché è difficilmente standardizzabile il processo che porta a comprendere che cosa vogliono gli utenti! Metodologie di Progettazione 12 Fase di progettazione concettuale A partire dai requisiti informativi viene creato uno schema concettuale, che rappresenta le specifiche informali della realtà di interesse in termini di una descrizione informale espressa in modo indipendente dal DBMS adottato A tale scopo si adotta un modello concettuale, che permette di descrivere ad alto livello l'organizzazione dei dati, indipendentemente dall'implementazione Lo schema concettuale è indipendente anche dal tipo di DBMS che sarà utilizzato (relazionale, gerarchico, ...) Metodologie di Progettazione 13 Fase di progettazione logica Consiste nella traduzione dello schema concettuale nel modello di rappresentazione dei dati adottato dal DBMS Il risultato è uno schema logico, espresso nel DDL del DBMS La rappresentazione dei dati è: indipendente da dettagli fisici concreta perché disponibile nei DBMS In questa fase si considerano anche aspetti legati a: integrità e consistenza (vincoli) efficienza La progettazione logica si articola in due sotto-fasi: ristrutturazione dello schema concettuale traduzione verso il modello logico 14 Fase di progettazione fisica In questa ultima fase si operano scelte spesso strettamente dipendenti dallo specifico DBMS utilizzato Ad esempio, lo stesso schema logico può essere fisicamente rappresentato in modo diverso in DB2 e in Oracle, al fine di meglio sfruttare le caratteristiche dei due DBMS Il risultato è lo schema fisico, che descrive le strutture di memorizzazione e accesso ai dati (organizzazione dei file, clustering, indici, ecc.) Metodologie di Progettazione 15 I prodotti della varie fasi sono schemi di alcuni modelli di dati: Schema concettuale Schema logico Schema fisico Metodologie di Progettazione 16 Progettazione concettuale Progettazione logica Progettazione fisica Due tipi (principali) di modelli modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione il più noto è il modello Entity-Relationship Metodologie di Progettazione 18 Modelli concettuali, perché? Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo? rischiamo di perderci subito nei dettagli dobbiamo pensare subito a come correlare le varie tabelle (chiavi etc.) i modelli logici sono rigidi Metodologie di Progettazione 19 Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi permettono di rappresentare le classi di dati di interesse e le loro correlazioni prevedono efficaci rappresentazioni grafiche (utili anche per documentazione e comunicazione) Metodologie di Progettazione 20