Progettazione Concettuale PDF
Document Details
Uploaded by HardierRooster5292
Università San Raffaele Roma
Noemi Scarpato
Tags
Summary
This document presents a lecture or presentation on conceptual database design. The lecture discusses various strategies for conceptual modeling, including Top-Down, Bottom-Up, Inside-Out, and Mixed strategies, and how to create Entity-Relationship diagrams (ER diagrams). The document provides examples of conceptual design in the context of a database for managing soccer games (European Soccer Championship 2012).
Full Transcript
Noemi Scarpato METODI DI VALUTAZIONE, GESTIONE DEI DATI E DELLA CONOSCENZA, APPLICATI ALLE ATTIVITA' MOTORIE Noemi Scarpato Progettazione Concettuale 1 di 36 ...
Noemi Scarpato METODI DI VALUTAZIONE, GESTIONE DEI DATI E DELLA CONOSCENZA, APPLICATI ALLE ATTIVITA' MOTORIE Noemi Scarpato Progettazione Concettuale 1 di 36 Noemi Scarpato METODI DI VALUTAZIONE, GESTIONE DEI DATI E DELLA CONOSCENZA, APPLICATI ALLE ATTIVITA' MOTORIE MODELLO ENTITÀ-RELAZIONE Progettazione Concettuale 2 di 36 Noemi Scarpato Progettazione Concettuale Obiettivi della lezione: Strategie di modellazione Esercizi Progettazione Concettuale 3 di 36 Noemi Scarpato Dominio Applicativo PROGETTAZIONE CONCETTUALE SCHEMA CONCETTUALE(E-R) PROGETTAZIONE LOGICA SCHEMA LOGICO (SQL DDL) VALUTAZIONE DBM(SQL DDL+DML) PRESTAZIONI Voi siete qui DB 4 di 36 Progettazione Concettuale Noemi Scarpato Strategie di Progettazione Concettuale Lo sviluppo di un modello concettuale può essere visto come un processo di ingegnerizzazione. E’ quindi possibile applicare diverse strategie proprie dei processi ingegneristici quali: Top-Down Bottom-Up Inside-Out Mista Progettazione Concettuale 5 di 36 Noemi Scarpato Strategie di Progettazione Concettuale: Top-Down La strategia Top-Down si compone di due fasi: Fase 1: considerare i requisiti globalmente e produrre uno schema iniziale completo ma con pochi concetti astratti Fase 2: raffinare i concetti astratti fino ad arrivare allo schema concettuale completo in ogni dettaglio. Progettazione Concettuale 6 di 36 Noemi Scarpato Strategie di Progettazione Concettuale: Top-Down Vantaggi: Il creatore del database può partire da una descrizione generale della realtà trascurandone i dettagli. Svantaggi: La strategia top-down è applicabile solo se si ha una visione completa della realtà stessa. Progettazione Concettuale 7 di 36 Noemi Scarpato Strategie di Progettazione Concettuale: Bottom-Up La strategia Bottom-Up si compone di tre fasi: Fase 1: decomporre i requisiti iniziali in parti elementari (frasi che descrivono lo stesso concetto) Fase 2: generare gli schemi per tutte le parti elementari individuate. Fase 3: fondere gli schemi (introducendo altri costrutti del modello E-R) in modo da integrare tutti gli schemi componenti e generare lo schema finale. Progettazione Concettuale 8 di 36 Noemi Scarpato Strategie di Progettazione Concettuale: Bottom-Up Vantaggi: Si adatta bene a situazioni in cui esiste un gruppo di lavoro in quanto il problema è decomposto in varie parti che possono essere affidate a progettisti diversi. Svantaggi: L’integrazione non è banale soprattutto nel caso di schemi complessi. Progettazione Concettuale 9 di 36 Noemi Scarpato Strategie di Progettazione Concettuale: Inside-Out La strategia Inside-Out è un particolare tipo di bottom up. Essa si compone di tre fasi: Fase 1: individuare nei requisiti alcuni concetti fondamentali (detti concetti guida) Fase 2: generare gli schemi per i concetti guida Fase 3: fondere gli schemi precedentemente generati e generare lo schema finale. Progettazione Concettuale 10 di 36 Noemi Scarpato Strategie di Progettazione Concettuale: Strategia Mista La strategia mista è una delle più usate nella pratica essa si compone di tre fasi: Fase 1: Si individuano i concetti fondamentali e si crea uno schema scheletro. Fase 2: Sulla base dello schema scheletro si effettua la decomposizione. Fase 3: Si passa poi alla raffinazione dello schema, effettuando espansioni e integrazioni. Progettazione Concettuale 11 di 36 Noemi Scarpato Strategie di Progettazione Concettuale: Qualità L’analisi della qualità dello schema concettuale prodotto può essere suddivisa in diverse fasi: Verifica di correttezza Sintattica Semantica Verifica di completezza Verifica di minimalità Verifica di leggibilità Progettazione Concettuale 12 di 36 Noemi Scarpato Verifica di Correttezza Sintattica Uno schema concettuale è corretto se utilizza propriamente i costrutti del modello concettuale adottato (nel nostro caso il modello E-R) si hanno errori relativi alla sintassi quando i costrutti del modello E-R vengono utilizzati senza seguire le regole sintattiche. Esempi di errore: Introduzione di una generalizzazione di relazioni Relazioni non collegate ad entità Relazioni con identificatore Progettazione Concettuale 13 di 36 Noemi Scarpato Verifica di Correttezza Semantica Un modello concettuale contiene errori di semantica quando i costrutti del modello E-R vengono utilizzati senza rispettare la loro definizione ad esempio: Uso di una relazione per rappresentare un concetto che ha esistenza autonoma e identificazione univoca. Uso di un attributo per rappresentare un concetto con struttura propria e associato ad altri concetti in più punti dello schema Progettazione Concettuale 14 di 36 Noemi Scarpato Verifica di completezza e minimalità Un modello concettuale è completo se rappresenta tutte le informazioni di interesse e se tutte le operazioni descritte nei requisiti possono essere eseguite a partire dai dati dello schema. Un modello concettuale è minimale quando tutti i concetti descritti nei requisiti sono rappresentati nello schema una sola volta. Progettazione Concettuale 15 di 36 Noemi Scarpato Verifica di completezza e minimalità Un modello concettuale non minimale contiene delle ridondanze Casi di ridondanza probabile: Ereditarietà delle relazioni Cicli di relazioni Progettazione Concettuale 16 di 36 Noemi Scarpato Verifica di leggibilità Un modello concettuale è leggibile quando rappresenta i requisiti in maniera naturale facilmente comprensibile. Suggerimenti: -> Scegliere nomi esplicativi e semplici per entità, relazioni e Attributi. -> Evitare una rappresentazione grafica contorta (meglio linee rette e perpendicolari) Progettazione Concettuale 17 di 36 Noemi Scarpato Semplificazioni dello schema Allo scopo di migliorare la leggibilità del modello è utile eliminare le relazioni ternarie che non sono facili da leggere ed interpretare. Per fare ciò è possibile: trasformare una relazione ternaria in una entità (sempre applicabile), ricondurre una relazione ternaria a due relazioni binarie (precondizioni: almeno una delle entità partecipa alla relazione ternaria e la relazione ternaria non ha attributi) Progettazione Concettuale 18 di 36 Noemi Scarpato Semplificazioni dello schema Un ulteriore miglioramento nella leggibilità si ottiene solitamente esplicitando nelle generalizzazioni sovrapposte l’entità che rappresenta la sovrapposizione. Si trasforma quindi la generalizzazione sovrapposta in generalizzazione esclusiva. Progettazione Concettuale 19 di 36 Noemi Scarpato Suggerimenti Pratici Il punto di partenza sono i requisiti che devono essere già stati raccolti e analizzati. Esistono alcune regole concettuali del modello E-R: 1. Se nei requisiti c’è un informazione che ha proprietà significative e descrive oggetti con esistenza autonoma: -> creare un’entità 2. Se nei requisiti c’è un informazione semplice e senza proprietà: -> creare un attributo Progettazione Concettuale 20 di 36 Noemi Scarpato Suggerimenti Pratici 3. Se sono state individuate due (o più) entità e nei requisiti compare un concetto che le associa: ->creare una relazione 4. Se uno o più concetti risultano casi particolari di un altro: ->creare una generalizzazione Progettazione Concettuale 21 di 36 Noemi Scarpato Esercizio Si vuole rappresentare una base dati per la gestione delle partite di calcio svolte nell’ambito del Campionato Europeo edizione 2012, tenendo conto delle seguenti informazioni: Le squadre che partecipano agli Europei di calcio sono identificate univocamente dal nome della nazione di appartenenza (ad esempio Italia, Romania, Inghilterra, ecc.). Per ogni squadra è noto il nome dell’attuale allenatore e l’elenco delle precedenti edizioni degli europei vinte dalla squadra stessa. Inoltre per ogni squadra è noto il nome di un fan club se disponibile. Progettazione Concettuale 22 di 36 Noemi Scarpato Esercizio Gli Europei sono organizzati in turni di gioco. Ciascun turno è identificato univocamente dal nome del turno stesso, (esempio: “qualificazione”, “quarti”, “semifinale” e“finale”). La base di dati contiene l’elenco delle squadre che prendono parte a ciascun turno di gioco. Le partite di calcio sono identificate attraverso un numero d’ordine univoco all’interno di ciascun turno di gioco. Per ogni partita sono noti i nomi delle due squadre coinvolte,dove si gioca l’incontro e a che ora. Progettazione Concettuale 23 di 36 Noemi Scarpato Esercizio I giocatori sono identificati univocamente dal nome. Per ciascuno è inoltre nota la squadra in cui gioca negli europei, e con quale numero di maglia. Per ogni giocatore ancora noto un recapito. Per ciascuno dei giocatori che ha segnato, si vuole memorizzare nella base di dati, per ogni partita giocata, il minuto di gioco in cui tale giocatore ha segnato un goal, e se questo avvenuto su rigore. Infine la base di dati contiene l’informazione relativa a quale arbitro è stato assegnato a ciascuna partita. Per ogni arbitro è noto il nome, che lo identifica univocamente,un recapito e il numero complessivo di presenze agli europei. Progettazione Concettuale 24 di 36 Noemi Scarpato Esercizio Descrivere con un diagramma E-R il modello concettuale di una base dati per tale applicazione. Per disegnare il modello ER si può adottare uno degli approcci visti precedentemente. In generale la strategia da adottare è la seguente: 1. Analisi dei requisiti a. Analizzare i requisiti b. Raggruppare i requisiti omogenei c. Costruzione glossario Progettazione Concettuale 25 di 36 Noemi Scarpato Esercizio 2. Individuare i concetti base e rappresentarli 3. Se opportuno, effettuare una decomposizione dei requisiti con riferimento ai concetti già rappresentati. 4. Iterare finché ogni specifica è stata rappresentata: a. Raffinare b. Aggiungere 5. Se opportuno, integrare 6. Analisi di qualità Progettazione Concettuale 26 di 36 Noemi Scarpato Soluzione Analizziamo i requisiti estrapolando dal testo le frasi che rappresentano li rappresentano: Le squadre che partecipano agli Europei di calcio sono identificate univocamente dal nome della nazione di appartenenza (ad esempio Italia, Romania, Inghilterra, ecc.). Per ogni squadra è noto il nome dell’attuale allenatore e l’elenco delle precedenti edizioni degli europei vinte dalla squadra stessa. Inoltre per ogni squadra è noto il nome di un fan club se disponibile. Progettazione Concettuale 27 di 36 Noemi Scarpato Soluzione Gli Europei sono organizzati in turni di gioco. Ciascun turno è identificato univocamente dal nome del turno stesso, (esempio: “qualificazione”, “quarti”, “semifinale” e“finale”). La base di dati contiene l’elenco delle squadre che prendono parte a ciascun turno di gioco. Le partite di calcio sono identificate attraverso un numero d’ordine univoco all’interno di ciascun turno di gioco. Per ogni partita sono noti i nomi delle due squadre coinvolte,dove si gioca l’incontro e a che ora. Progettazione Concettuale 28 di 36 Noemi Scarpato Soluzione I giocatori sono identificati univocamente dal nome. Per ciascuno è inoltre nota la squadra in cui gioca negli europei, e con quale numero di maglia. Per ogni giocatore ancora è noto un recapito. Per ciascuno dei giocatori che ha segnato, si vuole memorizzare nella base di dati, per ogni partita giocata, il minuto di gioco in cui tale giocatore ha segnato un goal, e se questo avvenuto su rigore. Infine la base di dati contiene l’informazione relativa a quale arbitro è stato assegnato a ciascuna partita. Per ogni arbitro è noto il nome, che lo identifica univocamente,un recapito e il numero complessivo di presenze agli europei. Progettazione Concettuale 29 di 36 Noemi Scarpato Soluzione Infine raggruppiamo i requisiti in tre tipologie quelli che rappresentano le entità, quelli che rappresentano le relazioni e quelli che rappresentano gli attributi. Es. Le squadre che partecipano agli Europei di calcio … (ENTITA’ SQUADRA); Per ogni squadra è noto il nome dell’attuale allenatore (ATTRIBUTO ALLENATORE); La base di dati contiene l’elenco delle squadre che prendono parte a ciascun turno di gioco (RELAZIONE PRENDERE PARTE);. Progettazione Concettuale 30 di 36 Noemi Scarpato Soluzione Costruiamo un glossario estrapolando i termini rilevanti dai requisiti presentati: - Squadra - Goal - Prende Parte - Giocatore - Allenatore - Segna - Arbitro - Fan Club - Composto da - Turno - Edizioni vinte - Gioca In - Partita - Minuto - ………. Progettazione Concettuale 31 di 36 Noemi Scarpato Soluzione Determiniamo le entità - Squadra - Goal - Prende Parte - Giocatore - Allenatore - Segna - Arbitro - Fan Club - Composto da - Turno - Edizioni vinte - Gioca In - Partita - ………. - ………. Progettazione Concettuale 32 di 36 Noemi Scarpato Soluzione Determiniamo le relazioni. - Squadra - Goal - Prende Parte - Giocatore - Allenatore - Segna - Arbitro - Fan Club - Composto da - Turno - Edizioni vinte - Gioca In - Partita - ………. - ………. Progettazione Concettuale 33 di 36 Noemi Scarpato Soluzione Determiniamo gli attributi. - Squadra - Goal - Prende Parte - Giocatore - Allenatore - Segna - Arbitro - Fan Club - Composto da - Turno - Edizioni vinte - Gioca In - Partita - ………. - ………. Progettazione Concettuale 34 di 36 Noemi Scarpato Soluzione Aggiungiamo alcuni concetti mancanti e raffiniamo lo schema - Nazione - Numero di Maglia - Assegnato_A - ……….. Infine facciamo gli opportuni controlli di qualità e disegniamo lo schema Progettazione Concettuale 35 di 36 Noemi Scarpato Soluzione: Schema Finale Progettazione Concettuale 36 di 36