Il modello concettuale dei dati

Documenti analoghi
Il modello concettuale dei dati

Progettazione concettuale di una base di dati

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

Le Basi di dati: progettazione concettuale

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

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

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Modello Entità-Relazione (E-R)

Modello Entità-Relazione

Modello Entità-Relazione

Progettazione di Basi di Dati

Introduzione alle basi di dati: Il modello concettuale

Progettazione concettuale A. Ferrari

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

Il modello logico dei dati

MODELLO E/R. Modellazione dei dati

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

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

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

Unità Due. Modello E/R

DATABASE - MODELLO E-R CHIAVI E ATTRIBUTI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

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

Programmazione con Java

Il Modello Concettuale Enità-Relazione (ER)

Il modello Entity-Relationship: pattern di progettazione

PROGETTAZIONE CONCETTUALE

Altri costrutti del modello E-R. Esempio di cardinalità. Cardinalità di Residenza. Occorrenze di Residenza. Cardinalità di relationship

Laboratorio di Basi di Dati

Il modello Entità/Relazioni (ER)

Modelli di Base Dati

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1

Numero di contratto di noleggio CodiceInterno Chiave primaria CodiceInternazionale Codice identificativo internazionale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola:

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

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

Basi di Dati 1 Esercitazione 4 27/11/2012. Matteo Picozzi

I database. Introduzione alla teoria delle basi di dati

Il Dimensional Fact Model

Esercizio 1: un semplice schema concettuale. Descrivere lo schema concettuale della seguente realtà:

Basi di Dati 1! Esercitazione 4. Matteo Picozzi!

Laboratorio di Basi di Dati

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

UNIVERSITÀ DEGLI STUDI DI VERONA LAUREA IN SCIENZE DELLA COMUNICAZIONE

Transcript:

Elaborazione Automatica dei Dati Il Modello Concettuale dei Dati Enrico Cavalli Anno Accademico 202-203 Il modello concettuale dei dati

Modellazione dei dati Modellare i dati significa costruire una visione semplificata della realtà osservata individuandone gli elementi caratterizzanti e i legami intercorrenti tra essi Avviene a diversi livelli: Il livello Concettuale rappresenta la realtà dei dati e le relazioni tra essi attraverso uno schema Il livello Logico descrive il modo attraverso il quale i dati sono organizzati negli archivi del calcolatore Il livello Fisico descrive come i dati sono registrati nelle memorie di massa Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 3 Modello Concettuale dei dati E la sintesi tra la visione degli utenti e la visione dei progettisti dell applicazione Deve possedere caratteristiche antitetiche: Essere precisa e non lasciare dubbi di interpretazione Essere espressa con formalismi sufficientemente semplici per essere compresi anche dagli utenti non tecnici Il modello Entità/Associazioni, o modello Entity/Relationship, presenta queste caratteristiche e si concretizza in un documento grafico, semiformale Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 4 2

Il modello Entità / Associazioni ( E / R ) Modello E / R E / R = Entity / Relationship Introdotto nel 976 da Peter P. Chen Il modello entità / associazioni è uno strumento per analizzare le caratteristiche di una realtà in modo indipendente dagli eventi che in essa accadono, cioè per costruire un modello concettuale dei dati indipendente dalle applicazioni. Gli elementi di un modello E/R sono Entità: corrispondono agli oggetti nella progettazione orientata agli oggetti Associazioni: correlazioni tra due o più entità Attributi: descrivono le caratteristiche delle entità e delle associazioni Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 6 3

Entità Entità è un oggetto, concreto o astratto, che ha un significato anche quando viene considerato in modo isolato ed è di interesse per la realtà che si vuole modellare Esempi di entità sono: le persone, un modello di automobile, i movimenti contabili, le prove sostenute da uno studente. gli studenti sono classificabili nel tipo entità Studente i diversi modelli di automobile sono classificabili nel tipo entità Automobile Studente Automobile Persona Il singolo studente rappresenta un istanza del tipo entità Studente. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 7 Associazioni L associazione (relationship) è un legame che stabilisce un interazione tra le entità P P2 P3 Possedere A A2 A3 Persona Automobile Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 8 4

Associazioni Per esempio tra l entità Persona e l entità Automobile esiste l associazione Possedere che può essere descritta nel linguaggio naturale secondo due versi: una persona può possedere una o più automobili un automobile deve essere posseduta da una persona Si può dire che: tra l entità Persona e l entità Automobile esiste l associazione Possedere; tra Automobile e Persona esiste l associazione Essere posseduta Essere posseduta è l inversa di Possedere I sostantivi nelle frasi del linguaggio naturale corrispondono alle entità, mentre i verbi corrispondono alle associazioni. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 9 Associazioni Una persona può possedere un automobile o più Un automobile deve essere posseduta da una persona Persona Possedere Essere posseduta Automobile Si rappresenta un solo verso dell associazione: Persona Possedere Automobile Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 0 5

Associazioni Le associazioni hanno un grado dato dal numero delle entità che partecipano all associazione Le associazioni di grado 2 sono dette binarie e sono le più diffuse Le associazioni di grado sono dette ricorsive Tra due entità possono sussistere più associazione e in questo caso si evidenziano i ruoli giocati da una entità nelle diverse associazioni Proprietario Persona Autista Possedere Guidare Automobile Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo Associazioni Le associazioni tra un entità e se stessa si dicono ricorsive Esempio di associazione ricorsiva sull entità Persona è l associazione Essere genitore nella quale Persona partecipa con il ruolo di Genitore e di Figlio Essere genitore Coordinare Genitore Manager Figlio Persona Collaboratore Dipendente Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 2 6

Associazioni Le associazioni tra tre entità si dicono ternarie Si scompongono in diverse associazioni binarie on sono facili da trattare e nascondono insidie Paziente Chirurgo Intervento Sala Operatoria Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 3 Attributi Le proprietà delle entità e delle associazioni sono descritte attraverso gli attributi Esempi di attributi per l entità Automobile sono: Modello, Produttore, Cilindrata, PrezzoListino Caratteristiche degli attributi Formato di un attributo: il tipo di valori che assume Formati base sono: carattere numerico data/ora Dimensione: la quantità massima di caratteri o cifre inseribili Opzionalità: la possibilità di non essere sempre valorizzato: l attributo è obbligatorio se deve avere valore non nullo Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 4 7

Attributi PK indica la chiave primaria: l attributo o l insieme di attributi che permettono di identificare univocamente un istanza della entità Persona Acquistare Automobile CodiceFiscale {PK} ome Cognome Dataascita Indirizzo Targa DataAcquisto PrezzoAcquisto Modello {PK} Produttore Cilindrata PrezzoListino Di chi sono attributi il prezzo di acquisto, la data di acquisto,...? Anche le associazioni possono avere attributi Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 5 Attributi La presenza di un associazione con attributi è indicativa della potenziale presenza di un altra entità non identificata Persona Acquisto Automobile CodiceFiscale{PK} Cognome ome Dataascita Indirizzo Trattare Targa DataAcquisto PrezzoAcquisto Acquistare Modello {PK} Produtore Cilindrata PrezzoListino Le due rappresentazioni portano al medesimo modello logico dei dati Quale è la chiave primaria di Acquisto? Si indica con PPK una porzione di chiave primaria, questa situazione si presenta con chiavi primarie composte da molti attributi Spesso si aggiunge un numero progressivo come chiave primaria Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 6 8

Entità deboli ed entità forti Entità che non hanno una chiave primaria e devono essere associate a un altra entità per essere completamente significative prendono il nome di entità deboli Cliente Conto Movimento Codice {PK} Cognome ome Indirizzo Telefono Possedere umconto Tipo Saldo {PK} Variare Data Causale Importo Movimento ha senso solo in relazione all entità Conto Movimento è un entità debole Cliente e Conto sono entità forti Per evitare di avere entità deboli spesso si aggiunge un numero progressivo come attributo, con alcuni vantaggi... Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 7 Molteplicità di un associazione Il numero di possibili istanze di un entità che sono messe in corrispondenza con un istanza dell altra entità prende il nome di molteplicità dell associazione I valori minimo e massimo assunti dalla molteplicità sono rappresentati con scritture del tipo:..,.., 0.., 0.. Al valore minimo è associato il concetto di partecipazione facoltativa (0) o di partecipazione obbligatoria () all associazione Il valore massimo definisce la cardinalità della partecipazione all associazione e assume i due valori e In relazione alla cardinalità si parla di associazioni Uno a uno : Uno a molti : Molti a molti : Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 8 9

Associazioni : Un associazione tra E ed E2 si dice uno a uno (:) quando a ogni istanza di E corrisponde una sola istanza di E2 e a ogni istanza di E2 corrisponde una sola istanza di E Spettatore S S2 S3 Occupare Posto P P2 P3 P4.. Cardinalità 0.. Valori minimo e massimo della cardinalità: numero di linee uscenti dall istanza Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 9 Associazioni : Spettatore S S2 S3 Occupare Posto P P2 P3 P4.. Cardinalità 0.. Spettatore Occupare Posto Partecipazione obbligatoria Partecipazione facoltativa Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 20 0

Associazioni : Un associazione tra E ed E2 si dice uno a molti (:) quando ad ogni istanza di E corrispondono una o più istanze di E2 mentre a ogni istanza di E2 corrisponde una sola istanza di E Studente S S2 S3 S4 Essere iscritto Facoltà F F2 F3.. Cardinalità 0.. L associazione tra Studente e Facoltà è di tipo : Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 2 Associazioni : Studente S S2 S3 S4 Essere iscritto Facoltà F F2 F3.. Cardinalità 0.. Studente Essere iscritto Facoltà Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 22

Associazioni : Un associazione tra E ed E2 si dice molti a molti (:) quando a ogni istanza di E corrispondono una o più istanze di E2 ed a ogni istanza di E2 corrispondono una o più istanze di E Attore A A2 A3 A4 Recitare Film F F2 F3 0.. Cardinalità.. L associazione tra Attore e Film è di tipo molti a molti : Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 23 Associazioni : Attore A A2 A3 A4 Recitare Film F F2 F3 0.. Cardinalità.. Attore Recitare Film IDAttore {PK} umeroscene IDFilm {PK} Ingaggio Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 24 2

Scomposizione in due Associazioni : Attore Recitare Film IDAttore {PK} umeroscene IDFilm {PK} Ingaggio Attore Stipulare Contratto Riguardare Film IDAttore {PK} IDContratto {PK} IDFilm {PK} Data umeroscene Ingaggio Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 25 Regole di lettura Entità di partenza Entità di arrivo Ogni o m e deve può ome associazione uno solo uno o più o m e Fornitore Fornire Prodotto Ogni fornitore può fornire uno o più prodotti Ogni prodotto deve essere fornito da un solo fornitore Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 26 3

Esempi ed Esercizi Esempi ed esercizi () Cliente IDCliente {PK} CodFiscale ome Cognome Indirizzo Telefono Iscrizione Effettuare umero {PK} DataIscrizione Pagamento Ricevere Corso IDCorso {PK} Descrizione Giorno Ora Costo Applicare le regole di lettura Descrivere i fatti rappresentati nel precedente modello E/R Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 28 4

Esempi ed esercizi (2). Consideriamo gli indirizzi e i residenti di una città. Indirizzo Essere residenza Residente 2. Un treno viaggia tra due località effettuando un certo numero di fermate intermedie. Consideriamo le entità viaggiatori e tratte Viaggiatore Percorrere Tratta 3. Cittadini e Codici del servizio sanitario nazionale CodiceSS Essere attribuito Cittadino Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 29 Esempi ed esercizi (3) 4. Un Eurostar viaggia tra Milano e Roma con fermate a Bologna e Firenze. Consideriamo posti e passeggeri ( definire gli attributi ) Posto Occupare Passeggero 5. Docenti e Materie nel contesto di una scuola (definire gli attributi) Docente Insegnare Materia 6. Docenti e Classi in un contesto scolastico (definire gli attributi) Docente Insegnare Classe Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 30 5

Esempi ed esercizi (4) 7. Una catena di negozi con un manager per negozio che coordina gli altri addetti. Un manager coordina un solo negozio. Coordinare Manager Dirigere Collaboratore Addetto egozio EssereAssegnato Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 3 Esempi ed esercizi (5) 8. Modellare un treno composto da una locomotiva e una serie di carrozze Carrozza Carrozza Carrozza Locomotiva Precedere Precedente Successiva Carrozza Trainare Locomotiva IDCarro {PK} TipoCarro DataCostruzione DataRevisione IDMotrice {PK} TipoMotrice DataCostruzione DataRevisione Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 32 6

Esempi ed esercizi (6) 9. Modellare una gerarchia aziendale Dirigere Boss Capo Franco Enrico Collaboratore Dipendente Matricola {PK} Cognome ome DataAssunzione Aldo Giovanni Giacomo Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 33 Esempi ed esercizi (7) 0. Modellare la distinta base di un oggetto in produzione Essere Formata Motore Parte Parte A Parte B Componente Prodotto Codice {PK} Descrizione Gruppo Prezzo Parte C Parte D Vite Bullone Parte E Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 34 7

Esempi ed esercizi (8). Modellare situazioni quali: Una canzone e le relative esecuzioni Le stanze negli alberghi di una località turistica Canzone Titolo Genere Autore Essere Oggetto {PK} Esecuzione Albergo Codice ome Indirizzo Avere Stanza {PK} Esecuzione e Stanza sono casi particolari di entità deboli, dette ID Dependent, perché hanno una chiave composta che contiene la chiave dell entità forte da cui dipendono Titolo {PPK} Cantante {PPK} Data Codice {PPK} umero {PPK} umeroletti Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 35 Esempi ed esercizi (9). Modellare la relazione ternaria: Paziente, Chirurgo, Sala operatoria Paziente IDPaziente {PK} ome DataRicovero L esempio mostra come un associazione ternaria viene scomposta in tre associazioni binarie SalaOperatoria umero {PK} Reparto Telefono Intervento Giorno Ora DurataPrevista Chirurgo Matricola {PK} ome Specialità Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 36 8

Esercizi () Costruire il modello E/R per ricette e ingredienti Costruire il modello E/R dei dipendenti e le relative specializzazioni Modellare i prestiti di libri ai soci di una Biblioteca Costruire il modello E/R per descrivere, in un contesto universitario, studenti, esami, corsi, docenti. Ogni corso ha un solo docente che in genere è titolare di più corsi. Un esame può essere ripetuto Costruire il modello E/R per il catalogo di una biblioteca (Documento, Soggetto, Autore, Genere,... ) Costruire il modello E/R relativo agli ordini ricevuti dai clienti e le relative fatture. A un ordine è associata una sola fattura Costruire il modello E/R per la progettazione aziendale: progetti, dipendenti, reparti.b: I casi sono espressi con molta imprecisione. Dovete formulare opportune ipotesi a sostegno delle soluzioni proposte Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 37 Esercizi (2) Costruire il modello E/R per descrivere: acquisti, fornitori, prodotti Costruire il modello E/R per un catalogo di prodotti per la casa: modelli, produttori, rivenditori In un supermercato modellare: prodotti, reparti, vendite giornaliere..b: I casi sono espressi con molta imprecisione. Dovete formulare opportune ipotesi a sostegno delle soluzioni proposte Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 38 9

Esercizi (3) Costruire il modello E/R per una catena di supermercati. Ci sono diversi supermercati sul territorio nazionale, ogni supermercato è suddiviso in reparti con addetti dedicati ai reparti e un responsabile di reparto. Ogni supermercato ha un direttore che è a capo di tutti i dipendenti del supermercato. Ci sono addetti che non fanno capo ad alcun reparto: cassieri, addetti alle pulizie, addetti al ricevimento clienti. Si tenga anche conto dei seguenti fatti: Ci sono alcuni negozi con reparti senza addetti e senza capo Ogni caporeparto è a capo di un solo reparto Ogni dipendente è assegnato a un solo reparto oppure (XOR) al negozio Ogni negozio ha sicuramente più reparti I prodotti in vendita nel negozio sono venduti in un solo reparto Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 39 Esempi ed Esercizi (3) Coordinare Capo Dipendente Caporeparto Collaboratore Matricola {PK} ome Lavorareel DataAssunzione Direttore Sovrintendere Reparto IDReparto {PPK} IDegozio {PPK} omereparto Telefono Vendere Prodotto IDProdotto {PK} Descrizione Fornitore Dirigere Lavorareel egozio IDegozio {PK} Indirizzo Telefono Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 40 20

Corsi Esami Studenti CodCorso {PK} omecorso... EssereOggetto Data Voto Sostenere Matricola {PK} Cognome ome... Facolta DataIscrizione CodFac {PK} omefacolta Sede Tasse Corsi ( CodCorso, omecorso, umerocrediti, Docente ) Esami ( Matricola, CodCorso, Data, Voto ) Studenti ( Matricola, Cognome, ome, Dataascita, Indirizzo, CodFac, DataIscrizione ) Facolta ( CodFac, omefacolta, Sede ) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 4 Altri Diagrammi E / R Il diagramma Entità / Associazioni ( Entity / Relationship ) è rappresentato anche con i seguenti formalismi Entità Entità Associazione Associazione Codice Indirizzo Attributi Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 42 2

Diagramma E / R Consideriamo le entità Studente e Facoltà, con i relativi attributi Matricola ome Indirizzo Studente Studente Codice Descrizione umeroanni Facoltà Facoltà Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 43 Diagramma E / R Consideriamo le entità Studente e Facoltà ed il legame che le lega Matricola ome Indirizzo DataIscrizione Altri Dati Codice Descrizione umeroanni Studente Iscrizione Facoltà L associazione Iscrizione con i relativi attributi Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 44 22

Diagramma E / R Uno studente è iscritto ad una ed una sola facoltà Ad una facoltà sono iscritti molti studenti Matricola ome Indirizzo DataIscrizione Altri Dati Codice Descrizione umeroanni Studente Iscrizione Facoltà L associazione Iscrizione è molti ad uno tra Studenti e Facoltà Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 45 Diagramma E / R Entità Società e Presidenti: Ogni Società ha uno ed un solo Presidente e, viceversa, ogni presidente è a capo di uno ed un solo studio cinematografico omestudio IndirizzoStudio Dataomina Durata Codice ome IndirizzoPresidente Studi Presidenza Presidenti L associazione Presidenza è uno ad uno tra Studi e Presidenti Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 46 23

Diagramma E / R Consideriamo le entità Film ed Attori per le quali si osserva che: Ogni attore partecipa a più film ed in ogni film recitano più attori Titolo Anno Durata acolori umeroscene Ingaggio CodAttore ome IndirizzoAttore Film Cast Attori L associazione Cast è molti a molti tra Film e Attori Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 47 24