Corso di Laurea in Informatica Basi di Dati A.A. 2010-2011 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio
Aspetti organizzativi del corso Docente del corso: Prof. P. Rullo (www.mat.unical.it/~rullo) Esercitatori: Ing. G. Laboccetta Dott.ssa V. Policicchio (policicchio@mat.unical.it)
lezioni di Laboratorio Si suddivise in due parti: Esercitazioni guidate su: Progettazione concettuale di una base di dati a partire da un documento di analisi dei requisiti Progettazione logica di una base di dati a partire da uno schema concettuale Sviluppo del progetto didattico: Assegnazione del progetto a ogni gruppo di lavoro Revisione e sviluppo del progetto didattico
Progettazione della base di dati
Progettazione logica Obiettivo: Rappresentare i dati della realtà d’interesse in termini dei costrutti logici di una classe di DBMS (quelli basati su un determinato modello logico) • Input: Schema concettuale (prodotto dalla progettazione concettuale) DBMS scelto (per sapere quale modello logico di dati adottare) Previsioni del carico applicativo (per ottimizzare la base di dati rispetto ad esso) • Output: Schema logico (rappresentazione dei dati in un modello di dati logico, eventualmente con vincoli complessi) • Qualità: -Correttezza e completezza della rappresentazione -Efficienza della manipolazione dei dati
Progettazione Fisica Obiettivo: Rappresentare i dati della realtà di interesse attraverso le strutture dati di uno specifico DBMS • Input: – Schema logico (prodotto della progettazione logica) – DBMS scelto (per sapere quali strutture dati fisiche utilizzare) – Previsioni del carico applicativo (per ottimizzare la base di dati rispetto ad esso) • Output: Schema fisico (Tipicamente nei DBMS attuali consiste in uno schema logico + alcune scelte relative all’effettiva implementazione su DBMS di detto schema) • Qualità: – Efficienza rispetto al carico applicativo
Modelli di dati I prodotti della varie fasi della progettazione sono schemi basati su specifici modelli di dati: Schema concettuale modello concettuale Schema logico modello logico Schema fisico modello logico + parametri fisici
Modelli dei dati adottati – Schema concettuale: • Modello Entità-Relazione (ER) – Schema logico: • Modello Relazionale • DDL: SQL-standard – Schema fisico: • Modello relazionale + strutture fisiche • DDL: SQL supportato dal DBMS scelto (MySQL 5.0.2)
Fasi e Step del Progetto Analisi e Ristrutturazione dei Requisiti Progettazione Concettuale Progettazione Logica Progettazione Fisica ed implementazione della base di dati
Progettazione concettuale Obiettivo: Rappresentare i dati della realtà d’interesse in termini di un modello (descrizione) formale, ad alto livello, indipendente dal DBMS • Input: – Descrizione della realtà d’interesse (per sapere quali dati rappresentare) • Output: – Schema concettuale (rappresentazione dei dati in un modello di dati concettuale, eventualmente con vincoli esterni) • Qualità: – correttezza e completezza della rappresentazione
Fasi e Step del Progetto Analisi e Ristrutturazione dei Requisiti E’ una delle prime fasi nella progettazione di un sistema informativo. Ha come scopo generale quello di stabilire che cosa il sistema in questione deve fare. Più precisamente, l’obiettivo è raffinare le specifiche in modo tale che siano precise e prive di ambiguità
Progettazione Logica 3. Progettazione Logica della base di dati 3.1. Ristrutturazione dello schema ER in uno schema ER semplificato orientato al modello relazionale 3.2. Traduzione dello schema ER ristrutturato in uno schema relazionale
Fasi e Step del Progetto 4. Progettazione Fisica ed implementazione della base di dati 4.1 Realizzazione della base di dati sul DBMS relazionale open-source MySQL 5.0. 4.2 Popolamento delle tabelle 4.3 Realizzazione delle interrogazioni per operare sui dati
Raccolta e Analisi dei requisiti La raccolta dei requisiti consiste nella raccolta delle specifiche della realtà di interesse espresse in linguaggio naturale L’analisi e la ristrutturazione dei requisiti è fondamentale per eliminare ambiguità e per filtrare inesattezze o informazioni ridondanti Documenti prodotti: Descrizione sintetica della realtà di interesse Glossario dei termini Specifiche complete che descrivano in modo approfondito e non ambiguo la realtà di interesse, facendo distinzioni fra: i dati le operazioni sui dati
Progettazione Concettuale Fasi della Progettazione Concettuale 2.1 Progettazione dello schema EntitàRelazione (ER) 2.2 Specifica delle funzioni per operare sui dati 2.3 Stima del carico applicativo del sistema informatico
Progettazione dello schema concettuale L’obiettivo è la produzione di uno schema entità relazione (ER) che modelli la realtà di interesse. Tipicamente avviene attraverso la produzione di diversi schemi ER corrispondenti ai vari livelli di raffinamento.
Documentazione della Prog. Conc. Documenti prodotti: Discussione di scelte critiche nella produzione dello schema ER finale Schema ER finale Vincoli dello schema non esprimibili dal modello ER, espressi in linguaggio naturale in modo preciso e puntuale Dizionario dei dati (descrizione schematica di entità e delle relazioni dello schema ER)
schema ER finale Lo schema ER finale deve essere prodotto in forma completa, cioè indicando: - gli attributi di ogni entità e di ogni relationship - gli identificatori di ogni entità - le cardinalità di ogni relationship - i ruoli per le relationship (se necessari)
Documentazione della Prog. Conc. Documenti prodotti: Discussione di scelte critiche nella produzione dello schema ER finale Schema ER finale Vincoli dello schema non esprimibili dal modello ER, espressi in linguaggio naturale in modo preciso e puntuale Dizionario dei dati (descrizione schematica di entità e delle relazioni dello schema ER)
Dizionario dei dati Redatto in forma schematica Deve contenere per ogni entità: descrizione del suo significato descrizione e dominio di ogni attributo (quando necessario); se l'attributo è derivato, la relativa regola di computazione identificatori dell'entità (con specifico riferimento alle relationship e alle entità coinvolte in eventuali identificazioni esterne) per ogni relationship: descrizione e dominio di ogni attributo ruolo della partecipazione di ogni entità coinvolta nelle relationship mettendo in evidenza il significato del ruolo (motivando, se necessario, la scelta delle cardinalità).
Progettazione Concettuale Fasi della Progettazione Concettuale 2.1 Progettazione dello schema EntitàRelazione (ER) 2.2 Specifica delle funzioni per operare sui dati 2.3 Stima del carico applicativo del sistema informatico
Specifica delle funzioni Accanto alle specifiche sui dati vanno raccolte le specifiche sulle operazioni di manipolazione degli stessi Tali operazioni possono essere di: Lettura Scrittura: Aggiornamento Inserimento Cancellazione
Progettazione Concettuale Fasi della Progettazione Concettuale 2.1 Progettazione dello schema EntitàRelazione (ER) 2.2 Specifica delle funzioni per operare sui dati 2.3 Stima del carico applicativo del sistema informatico
Stima del carico applicativo Dalle analisi dei requisiti si estrae una stima del carico applicativo della base di dati. Documenti prodotti: Stima della popolazione delle entità e delle relazioni Stima frequenza delle operazioni