Corso di Laurea in Informatica Basi di Dati Relazionali A.A. 2009-2010 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio UNIVERSITA' DELLA CALABRIA ASPETTI ORGANIZZATIVI DEL CORSO Docente del corso: Prof. P. Rullo (www.mat.unical.it/~rullo) Esercitatori: Ing. G. Laboccetta Dott.ssa V. Policicchio ([email protected]) Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA OBIETTIVI DELLE LEZIONI DI LABORATORIO Le lezioni di laboratorio del corso di Basi di Dati Relazionali prevedono la progettazione e la realizzazione di un sistema informatico basato su un DBMS relazionale open-source MySQL 5.0 Le lezioni seguiranno tutte le fasi di sviluppo del sistema informatico. Ogni fase è composta da diversi step, ciascuno dei quali porta alla produzione di più documenti. L'insieme di tali documenti costituisce la documentazione del sistema informatico che gli studenti devono produrre durante le lezioni. Il sistema informatico deve essere costituito da una base di dati realizzata su un DBMS relazionale (MySQL 5.0) interrogabile mediante SQL. Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA PROGETTO DIDATTICO COMPOSIZIONE GRUPPI • Il progetto didattico deve essere svolto prevalentemente durante le lezioni di laboratorio in gruppi di tre-quattro persone. • La composizione del proprio gruppo deve essere comunicata via email alla Dott.ssa Policicchio ([email protected]) − Oggetto: “Basi di Dati Relazionali a.a. 09-10: Gruppi di Laboratorio”; − Testo: <Matricola, Cognome, Nome> per ogni componente. Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA LEZIONI DI LABORATORIO Si suddivise in due parti: o o 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA PROGETTAZIONE DELLA BASE DI DATI Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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: 1. 2. 3. 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: 1. 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA MODELLI DI DATI I prodotti della varie fasi della progettazione sono schemi basati su specifici modelli di dati: dati Schema concettuale modello concettuale Schema logico modello logico Schema fisico modello logico + parametri fisici Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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) Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA FASI E STEP DEL PROGETTO 1. 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à Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA FASI E STEP DEL PROGETTO 2. 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA PROGETTAZIONE SCHEMA CONCETTUALE La progettazione concettuale della base di dati ha come scopo la produzione di uno schema entità relazione (ER) che modelli la realtà di interesse. Questo tipicamente avviene attraverso la produzione di diversi schemi ER corrispondenti ai vari livelli di raffinamento. 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) Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA 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 Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA LO 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) Corso di Basi di Dati Relazionali – Laboratorio UNIVERSITA' DELLA CALABRIA DIZIONARIO DEI DATI o o Redatto in forma schematica Deve contenere per ogni entità: descrizione del suo significato o descrizione e dominio di ogni attributo (quando necessario); se l'attributo è derivato, la relativa regola di computazione o identificatori dell'entità (con specifico riferimento alle relationship e alle entità coinvolte in eventuali identificazioni esterne) o o per ogni relationship: descrizione del suo significato o descrizione e dominio di ogni attributo o ruolo della partecipazione di ogni entità coinvolta nelle relationship mettendo in evidenza il significato del ruolo (motivando, se necessario, la scelta delle cardinalità). o Corso di Basi di Dati Relazionali – Laboratorio