Il modello Entity-Relationship: pattern di progettazione



Похожие документы
Il modello Entity-Relationship: pattern di progettazione

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf

Informatica (Basi di Dati)

database: modello entityrelationship

Basi di dati 9 febbraio 2010 Compito A

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

MODELLO E/R. Modellazione dei dati

Esercizio data base "Biblioteca"

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

IDENTIFICAZIONE ESTERNA. identificazione esterna 1

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

MODELLO RELAZIONALE. Introduzione

Basi di dati. Esercizi sul modello E.R.

Alessandra Raffaetà. Basi di Dati

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Basi di dati. Esercitazione ER. Paolo Papotti. Esercizio giugno 2005

Perché progettare Progettazione di basi di dati. Il linguaggio di progettazione ad oggetti (ER esteso) Cognome

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Progettazione di Database

Soluzione dell esercizio del 2 Febbraio 2004

Organizzazione degli archivi

Database. Si ringrazia Marco Bertini per le slides

Progettazione di Database. Un Esempio

Capitolo 13. Interrogare una base di dati

CAPITOLO 7 ESERCIZI SUL MODELLO ER

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Database 1 biblioteca universitaria. Testo del quesito

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Dalla progettazione concettuale alla modellazione di dominio

Il modello Entity-Relationship: elementi di base

Progettazione di un DB....in breve

Soluzione dell esercizio del 12 Febbraio 2004

Capitolo 2. Esercizio 2.1. Esercizio 2.2

UNIVERSITÀ DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Corso di Amministrazione di Reti A.A. 2002/2003

Un gioco con tre dadi

Vincoli di integrità

Promemoria delle principali funzioni di Gestione utenti e prestiti in SOL

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Lezione 2. Il modello entità relazione

Progettazione logica relazionale (1/2)

LE ASSOCIAZIONI (parte 1) le associazioni parte 1 1

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Gestione Voti Scolastici

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Gestione del workflow

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Progettazione di Basi di Dati

Esercitazione di Basi di Dati

LA FORMAZIONE PROFESSIONALE

Basi di dati I. Esercitazione proposta

Laboratorio di Basi di Dati Esercizio 8.1

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Il Modello Relazionale

Rappresentazione grafica di entità e attributi

Prova Scritta di Basi di Dati

4 3 4 = 4 x x x 10 0 aaa

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Liberare la memoria allocata dinamicamente.

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Progetto PI , passo A.1 versione del 14 febbraio 2007

STRUMENTI E TECNICHE LEZIONE 4: FACEBOOK PROFILI VS PAGINE

I DATABASE Database relazionale

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

IL MIO PRIMO SITO: NEWS

CALCOLO COMBINATORIO

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

Basi di dati 30 settembre 2010 Compito A

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Facoltà di Farmacia - Corso di Informatica

Dove metti il divano?

La Progettazione Concettuale

Segreteria da campo. Database Relazionali

SOLUZIONE Web.Orders online

Esercitazione di Basi di Dati

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore

Termine Descrizione Sinonimo Collegamenti Lettore Una persona che prende in Utente

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PLIDA Progetto Lingua Italiana Dante Alighieri Certificazione di competenza in lingua italiana

I database. Cosa sono e a cosa servono i Database

BASI DI DATI - : I modelli di database

Progettazione : Design Pattern Creazionali

Introduzione alla teoria dei database relazionali. Come progettare un database

Транскрипт:

Il modello Entity-Relationship: pattern di progettazione Sistemi Informativi T Versione elettronica: 06.3.ER.pattern.pdf Soluzioni a problemi comuni In molti schemi E/R si ritrovano dei pattern comuni, ovvero soluzioni a problemi che si presentano di frequente Non esiste una codifica di questi pattern, noi ne vediamo solo alcuni particolarmente significativi, introdotti attraverso esempi: Le aree del campeggio Andar più volte dallo stesso medico, ma non lo stesso giorno! Ovvero mi spiace, ma non può ridare l esame tra 1 ora! Io non faccio mai più di una lezione al giorno! L orario dei treni, i ritardi e le prenotazioni Ovvero non si prende in prestito un libro, bensì una sua copia! ER: pattern Sistemi Informativi T 2 1

Le aree del campeggio un campeggio è diviso in tre aree (spiaggia, centrale, ingresso), ognuna delle quali è caratterizzata da una certa tariffa Si potrebbe essere tentati di rappresentare le specifiche in questo modo: Aree (t,e) che non va bene perché spiaggia, centrale e ingresso sono istanze di Aree! Spiaggia Centrale Ingresso tariffa spiaggia tariffa centrale tariffa ingresso ER: pattern Sistemi Informativi T 3 Non enumerare le istanze! La soluzione consiste nel non introdurre la gerarchia e nello specificare come identificatore il tipo di area: Aree tipo tariffa In generale, attenzione a non prendere per tipologie (e quindi per specializzazioni di un entità) quelle che sono solo istanze dell entità ER: pattern Sistemi Informativi T 4 2

Dallo stesso medico, non lo stesso giorno! un paziente può essere visitato da diversi medici, e anche più volte dallo stesso medico, ma in questo caso in giorni diversi Per rappresentare la specifica potrebbe sembrare sufficiente lo schema: SSN referto (0,n) IdMedico Pazienti Visite Medici in cui un istanza di Visite rappresenta tutte le visite tra un paziente p e un medico m, ognuna caratterizzata da una e un referto Ma dove si esprime che sono tutte date diverse? ER: pattern Sistemi Informativi T 5 Identificare bene le associazioni! Bisogna aggiungere all identificatore (implicito) dell associazione, ma questo non è possibile: SSN referto (0,n) IdMedico Pazienti Visite Medici La soluzione consiste nel trasformare l associazione in entità ( reificazione ), e usare identificazione esterna SSN IdMedico (0,n) Pazienti P-V Visite M-V Medici referto ER: pattern Sistemi Informativi T 6 3

Ripetiamo Se un associazione ha un attributo composto e ripetuto e uno degli attributi componenti è necessario per identificare le istanze dell associazione, si trasforma l associazione in entità e si crea un identificatore misto Matr voto (0,n) (0,n) CodCorso Studenti Esami Corsi Matr CodCorso (0,n) (0,n) Studenti P-V Esami M-V Corsi voto ER: pattern Sistemi Informativi T 7 Non faccio più di una lezione al giorno! le lezioni di un corso si tengono in diverse aule, ma un corso non ha mai due o più lezioni lo stesso giorno La rappresentazione mediante associazione ternaria Corsi (1,5) Lezione Aule Giorni non permette di rappresentare compiutamente le specifiche, in particolare che in ogni terna (c,g,a) ER: pattern Sistemi Informativi T 8 4

Associazioni n-arie: occhio agli identificatori! Dalle specifiche segue che un istanza di Lezioni è univocamente identificata da Corsi e Giorni la coppia (c,g) non può essere replicata Per rappresentare questo vincolo èancora necessario reificare Lezioni (1,5) Corsi C-L Lezioni A-L Aule G-L Giorni Si noti che, come negli esempi precedenti, i vincoli di cardinalità delle altre entità restano invariati ER: pattern Sistemi Informativi T 9 L orario dei treni, i ritardi e le prenotazioni si vuole mantenere l orario dei treni, e i ritardi che questi hanno. Inoltre si vogliono gestire le prenotazioni dei clienti Il seguente schema (semplificato) non è corretto: N_treno staz_p Cod_cliente staz_a (0,n) Treni Di Tratte Prenota Clienti ora_p rit_a ora_a rit_p Il problema èin Tratte ER: pattern Sistemi Informativi T 10 5

Ritardi e prenotazioni variano nel tempo! L errore consiste nel mischiare specifiche che riguardano aspetti statici (l orario) con specifiche dinamiche (ritardi e prenotazioni) La soluzione consiste nell introdurre una nuova entità: N_treno staz_p staz_a ora_p Treni Di Tratte ora_a T-TG rit_p rit_a (0,n) TratteGiornaliere Prenota Cod_cliente Clienti ER: pattern Sistemi Informativi T 11 Un altro esempio notevole in una biblioteca si vogliono mantenere informazione sui libri (titolo, autore, anno, codice ISBN, stato conservazione) e sui prestiti relativi ( prestito, eventuale restituzione, utente), segnalando eventuali danni apportati al volume Il seguente schema (semplificato) non è corretto: ISBN titolo stato_conservazione Num_tessera nome autori Libri anno (0,n) (0,1) Prestiti _prestito _restituz (0,1) danni Utenti ER: pattern Sistemi Informativi T 12 6

Libro Copia di libro! Anche in questo caso si stanno mischiando insieme aspetti che si riferiscono a concetti diversi, ovvero un libro e le sue copie La soluzione consiste ancora nel separare i due concetti: ISBN titolo autori Libri anno Num_copia L-CL CopieLibri (0,1) danni (0,1) _restituz _prestito (0,n) Prestiti Num_tessera Utenti nome stato_conservazione ER: pattern Sistemi Informativi T 13 Osservazioni generali In tutti i casi visti si può dire che il problema nasce da un analisi poco accurata, che porta a soluzioni intuitive ma non adeguate I nomi di entità e associazioni alle volte traggono in inganno: èbene quindi, nel caso si presentino situazioni poco chiare, provare a ragionare anche in termini di istanze (cosa contiene effettivamente questa entità/associazione?) Quando, come praticamente sempre accade, interviene la variabile tempo èbene chiedersi se ci sono aspetti che sono indipendenti dal tempo e altri che, viceversa, variano dinamicamente ER: pattern Sistemi Informativi T 14 7