Lezione 3. Modellazione dei Dati mediante il Modello Entità Associazione (ER)

Documenti analoghi
Il modello Entità/Relazioni (ER)

Progettazione di basi di dati

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

Modello Entità-Relazione

Progettazione concettuale usando il modello Entità-Relazione (ER)

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

TRADUZIONE DI SCHEMI

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Elena Baralis, Claudio Demartini

IL MODELLO ENTITÀ-RELAZIONE

diagrammi entità-relazioni

Le Basi di dati: progettazione concettuale

Programmazione con Java

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

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Progettazione di Basi di Dati

Il Modello Concettuale Enità-Relazione (ER)

Progettazione di basi di dati

Introduzione alle basi di dati e ai DBMS

Ciclo di vita di un sistema informativo

Il modello Entity-Relationship: elementi avanzati

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Il modello Entity-Relationship: elementi avanzati

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

Il modello concettuale dei dati

LA PROGETTAZIONE CONCETTUALE

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Lezione 4. Modello EER

Modello Entità-Relazione (E-R)

Sistemi di Elaborazione delle Informazioni. Basi di dati. Tullio Facchinetti 29 ottobre :26

Corso di Informatica

Il modello Entity-Relationship (ER)

Esercitazione di Basi di Dati

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

Alcuni diagrammi. OCL (Object Constraint Language)

I database. Introduzione alla teoria delle basi di dati

Progettazione di basi di dati

Il modello Entity-Relationship

DB-MAIN CASE tool. Un tool per la progettazione di DB relazionali. DB-MAIN case-tool: funzionalità

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Il modello Entity-Relationship per il progetto delle basi di dati

BASI DATI INFORMATICA

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Esercizio 1 ESERCIZI DI PROGETTAZIONE CONCETTUALE DI BASI DI DATI. La base di dati di una università contiene informazioni

Il modello Relazionale.

Progettazione concettuale

Lezione 4. Dallo schema ER al relazionale

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

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

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

Cap. 3 - Il modello ER

Analisi Orientata agli Oggetti

ESERCIZI DI MODELLAZIONE E-R

Sommario. Introduzione... 13

SISTEMI INFORMATIVI E DATABASE

Esercizi su Modello Entità-Relazioni

UML GML- Classi di Oggetti

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

CAPITOLO V. DATABASE: Il modello relazionale

Corso di Basi di Dati

Progettazione di Basi di Dati. Dr. C. d'amat

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Progettazione logica Fase 2: Traduzione nel modello relazionale. adattato da Atzeni et al., Basi di dati, McGrawHill

Progettazione logica: criteri di ottimizzazione

IL MODELLO ENTITA - RELAZIONE

Traduzione ER - relazionale

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1

Strumenti di modellazione. Gabriella Trucco

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Ingegneria del Software

CAPITOLO IV. DATABASE: definizione e progettazione. Definizioni

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

REGIONE BASILICATA UFFICIO S. I. R. S.

Lorenzo Braidi. Database design. Libro_datadesign.indb :06:17

LA PROGETTAZIONE LOGICA

Progettazione concettuale

I Diagrammi di Flusso OO

UML I diagrammi implementativi

I modelli logici dei dati

Esempi di schema ER: Esami degli studenti e orario delle lezioni

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione concettuale

Lezione 7. da Modello Concettuale a Logico

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Corso di Laurea in Informatica Basi di Dati a.a

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

Progettazione logica: criteri di ottimizzazione

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

DataBase Management System - DBMS

Transcript:

Lezione 3 Modellazione dei Dati mediante il Modello Entità Associazione (ER) 1

Sommario Esempio di Applicazione con Database (AZIENDA) Concetti del Modello ER Entità ed Attributi Entità, Istanze, Domini degli Attributi, Attibuti Chiave Associazioni ed Istanze di Associazioni Entità Deboli Ruoli ed Attributi nelle Associazioni Notazione dei Diagrammi ER Diagramma ER dello Schema AZIENDA Notazioni alternative Diagrammi di classe UML, etc... 2

Database AZIENDA Richieste dell Azienda (semplificate) L azienda è organizzata in DIPARTIMENTI. Ogni dipartimento ha un nome, un numero ed un dipendente che lo dirige (direttore). Occorre gestire la data di inizio incarico del direttore del dipartimento. Ogni dipartimento controlla un certo numero di PROGETTI. Ciascun progetto ha un nome, un numero e viene svolto in un singolo luogo (filiale?). Occorre memorizzare il codice fiscale, l indirizzo, lo stipendio, il sesso e la data di nascita di ciascun DIPENDENTE. Ciascun dipendente lavora per un solo dipartimento ma può essere impiegato in più di un progetto. Occorre gestire il numero di ore settimanali che ciascun dipendente impiega in ciascun progetto assegnatoli. Occorre gestire anche il supervisore di ciascun dipendente. 3

Concetti del Modello ER Entità ed Attributi Le entità sono specifici oggetti o cose del mini-mondo che sono rappresentate del database. Per esempio i DIPENDENTI, i DIPARTIMENTI, i PROGETTI. Uno specifico dipendente (e.g. Luca Tomassetti) viene definito un istanza dell entità DIPENDENTI. Gli attributi sono proprietà usate per descrivere un entità. Per esempio i DIPENDENTI possono avere un Nome, un Codice Fiscale, un Indirizzo, etc... Un istanza di un entità avrà un valore per ciascuno degli attributi. Ad esempio uno specifico dipendente può avere Nome= Luca Tomassetti, CF= TMSLCU73D24D548V, Indirizzo= Via Paradiso 12,... Ciascun attributo ha un insieme di valori (o tipo di dati) associato ad esso. Esempio: intero, stringa, data,... 4

Tipi di Attributi Semplici Ciascuna istanza ha un valore singolo, atomico per l attributo. Ad esempio CF, Sesso,... Composti L attributo può essere composto da varie componenti. Per esempio, Indirizzo (Via/Viale/Piazza, nome, numero, cap, paese) oppure Nome (Nome proprio, Cognome). La composizione può anche formare gerarchie in cui alcune componenti sono loro stesse composte. Multivalore Un istanza può avere valori multipli per l attributo. Ad esempio, TitoloDiStudio. Denotati come {TitoloDiStudio}. 5

Entità ed Attributi Chiave Le entità vengono a volte chiamate tipi di entità. In questo contesto sia ha la corrispondenza: [Entità, Istanza] [Tipo di Entità, Entità]. Un attributo di un entità per il quale ciascuna istanza dell entità deve avere un valore univoco viene chiamato attributo chiave dell entità. Ad esempio, CF di DIPENDENTI. Un attributo chiave può essere composto. Ad esempio, Targa può essere chiave dell entità AUTO ed avere le componenti (Provincia, Numero). Un entità può avere più di una chiave. Ad esempio, l entità AUTO può avere due chiavi: Targa NumeroTelaio 6

Entità AUTO ed Istanze AUTO Targa(Provincia, Numero), NumeroTelaio, Marca, Modello, Anno, {Colore} auto1 ((FE, 541080), TK629, Fiat, Tipo, 1993, {verde met.}) auto2 ((BO, 541080), WP9872, Toyota, Corolla, 1999, {nero}) auto3 ((FE, 371166), TD729, Fiat, Panda, 2004, {nero, bianco})... 7

Notazione ER Symbol Significato ENTITÀ ENTITÀ DEBOLE ASSOCIAZIONE ASSOCIAZIONE IDENTIFICANTE ATTRIBUTO ATTRIBUTO CHIAVE ATTRIBUTO MULTIVALORE ATTRIBUTO COMPOSTO ATTRIBUTO DERIVATO E 1 R E 2 N E 1 R E 2 PARTECIPAZIONE TOTALE DI E2 IN R RAPPORTO DI CARDINALITÀ 1:N PER E1:E2 IN R R (min,max) E VINCOLO STRUTTURALE (min, max) SULLA PARTECIPAZIONE DI E IN R 8

Diagramma ER AZIENDA Entità: DIPENDENTE DIPARTIMENTO PROGETTO Associazioni: LAVORA PER DIRIGE LAVORA SU COMANDATO DA 9

Associazioni Un associazione mette in riferimento due o più entità con uno specifico significato. Ogni istanza di associazione mette in riferimento due o più istanze di entità. Ad esempio, DIPENDENTE Luca Tomassetti lavora sul PROGETTO Database, oppure il DIPENDENTE Luca Tomassetti dirige il DIPARTIMENTO Database. Le associazioni si indicano generalmente con un verbo e le entità che vengono messe in riferimento si dice partecipano all associazione. Ad esempio, DIPENDENTE e PROGETTO partecipano all associazione LAVORA SU. Il grado di un associazione è il numero di entità partecipati. LAVORA SU è un associazione binaria (grado 2). 10

Istanze dell associazione LAVORA PER DIPENDENTE LAVORA PER DIPARTIMENTO e1 e 2 e3 e 4 e5 e6 e7 r1 r 2 r 3 r4 r5 r6 r7 d1 d2 d3 11

Istanze dell associazione LAVORA SU DIPENDENTE LAVORA SU PROGETTO r9 r1 e1 e 2 e3 e 4 e5 e6 e7 r2 r3 r 4 r 5 r 6 r7 p1 p2 p3 r8 12

Associazioni ed Istanze di Associazione Più di un associazione può avere le stesse entità come partecipanti. Ad esempio DIRIGE e LAVORA PER sono due associazioni distinte tra DIPENDENTI e DIPARTIMENTI, ma con significati diversi e istanze di associazione differenti. 13

Diagramma ER AZIENDA Più di un associazione può avere le stesse entità come partecipanti. Ad esempio DIRIGE e LAVORA PER sono due associazioni distinte tra DIPENDENTI e DIPARTIMENTI, ma con significati diversi e istanze di associazione differenti. 14

Entità Deboli ed Associazioni Identificanti Un entità è definita debole se non possiede un attributo chiave. Un entità debole deve partecipare ad un associazione identificante con un altra entità (non debole) identificante [proprietario]. Le sue istanze sono identificate da una combinazione di: Valore di una chiave parziale dell entità debole; Istanza dell entità identificante a cui è associata (tramite l associazione identificante). Esempio: Le istanze dell entità PARENTE possono essere identificate dal Nome e dalla DataDiNascita, e dall istanza dell entità DIPENDENTE a cui sono associate. PARENTE è quindi un entità debole con DIPENDENTE come entità identificante attraverso l associazione identificante PARENTE DI. 15

Vincoli sulle Associazioni Vincoli sui rapporti di cardinalità: Cardinalità Massima Uno a uno (1:1) Uno a molti (1:N) or Molti a uno (N:1) Molti a molti (N:M) Cardinalità Minima (chiamato anche vincolo di partecipazione o vincolo di dipendenza di esistenza) zero (partecipazione opzionale, non dipendenza di esistenza) uno o più (partecipazione obbligatoria, dipendenza di esistenza) 16

Associazioni ed Istanze di Associazione Si possono esprimere anche associazioni ricorsive. Ambedue i partecipanti sono la stessa entità, ma con ruoli diversi. Ad esempio, COMANDATO DA è un associazione ricorsiva con DIPENDENTE; un istanza di DIPENDENTE (nel ruolo di subordinato, lavoratore) è associata ad un altra istanza di DIPENDENTE (nel ruolo di supervisore, boss, capo). Nei diagrammi ER è necessario specificare i nomi dei ruoli che riveste l entità partecipante in modo da permettere le distinzioni del caso. 17

Associazione Ricorsiva COMANDATO DA DIPENDENTE COMANDATO DA e1 e 2 e3 e 4 e5 e6 e7 1 2 2 2 1 2 1 1 2 1 1 2 r1 r2 r3 r4 r5 r 6 18

Attributi delle Associazioni Un associazione può avere anche degli attributi; ad esempio, OreSettimanali in LAVORA SU; il valore assunto in ciascuna istanza dell associazione descrive il numero di ore settimanali che un dipendente ha lavorato su un progetto. L attributo può essere spostato ad una qualsiasi delle entità partecipanti nel caso l associazione abbia rapporto di cardinalità 1:1. L attributo può essere spostato all istanza partecipante di cardinalità maggiore nel caso l associazione abbia rapporto di cardinalità 1:N. L attributo deve essere proprio dell associazione nel caso si abbia rapporto di cardinalità N:M. 19

Vincoli Strutturali un modo per esprimere la semantica delle associazioni Rapporto di Cardinalità (di associazioni binarie) 1:1, 1:N, N:1, oppure M:N MOSTRATO INDICANDO IL NUMERO APPROPRIATO SUL SEGMENTO TRA ENTITÀ ED ASSOCIAZIONE Vincolo di partecipazione (su ciascuna entità partecipante) Totale (dipendenza di esistenza) oppure parzial$ MOSTRATO UTILIZZANDO UN SEGMENTO DOPPIO 20

Notazione alternativa (min, max) Specificata su tutte le partecipazioni di un entità E ad un associazione R. Specifica che ciascuna istanza e dell entità E partecipa in almeno min ed al massimo max istanze di associazione dell associazione R. Default (no vincoli): min = 0, max = n Deve essere min max, min 0, max 1 Derivata dalla conoscenza dei vincoli del minimondo. 21

Notazione (min, max) Esempio Un dipartimento ha esattamente un direttore e un dipendente può dirigere (al massimo) un solo dipartimento. Specificare (0,1) per la partecipazione di DIPENDENTE in DIRIGE Specificare (1,1) per la partecipazione di DIPARTIMENTO in DIRIGE DIPENDENTE (0,1) DIRIGE (1,1) DIPARTIMENTO Un dipendente può lavorare per uno ed uno solo dipartimento ma un dipartimento può avere un numero qualsiasi di dipendenti. Specificare (1,1) per la partecipazione di DIPENDENTE in LAVORA PER Specificare (0,n) per la partecipazione di DIPARTIMENTO in LAVORA PER DIPENDENTE (1,1) LAVORA PER (0,N) DIPARTIMENTO 22

Diagramma ER AZIENDA (min, max) 23

Associazioni di grado superiore Associazioni di grado 2 sono dette binarie Associazioni di grado 3 sono dette ternarie ed associazioni di grado n sono dette n-arie. In generale, un associazione n-aria NON è equivalente a n associazioni binarie! Associazioni di ordine superiore a due saranno discusse con il modello EER (o UML) 24

Data Modeling Tools Esistono numerosi programmi per modellare concettualmente il database e fare un mapping allo schema relazionale: ERWin, S-Designer (Enterprise Application Suite), ER-Studio,... VANTAGGI: utili per documentare le richieste dell applicazione; forniscono interfacce grafiche. 25

Problemi principali DISEGNO Notazione concettuale poco significativa Per evitare problemi di estetica e di algoritmi per la disposizione, sono disponibili essenzialmente solo rettangoli e linee e non rappresentano niente più che associazioni e vincoli su chiave primaria-esterna nelle tabelle risultanti. METODOLOGIA Scarso supporto interno Scarsi strumenti per la verifica dei diagrammi o per suggerimenti. 26

Strumenti disponibili COMPANY TOOL FUNCTIONALITY Embarcadero Technologies Oracle ER Studio DB Artisan Developer 2000 and Designer 2000 Database Modeling in ER and IDEF1X Database administration and space and security management Database modeling, application development Popkin Software System Architect 2001 Data modeling, object modeling, process modeling, structured analysis/design Platinum Technology Platinum Enterprice Modeling Suite: Erwin, BPWin, Paradigm Plus Data, process, and business component modeling Persistence Inc. Pwertier Mapping from O-O to relational model Rational Rational Rose Modeling in UML and application generation in C++ and JAVA Rogue Ware RW Metro Mapping from O-O to relational model Resolution Ltd. Xcase Conceptual modeling up to code maintenance Sybase Enterprise Application Data modeling, business logic modeling Visio Suite Visio Enterprise Data modeling, design and reengineering Visual Basic and Visual C++ 27

Diagramma ER BANCA 28

Problemi con il modello ER Il modello Entità-Associazione nella sua forma originale non supporta astrazioni molto utili quali: Sottoclassi Specializzazione/generalizzazione. 29

Modello EER Extended Entity-Relationship Incorpora associazioni di sottoclasse Incorpora gerarchie di Specializzazione/ Generalizzazione 30