MODELLO E/R. Modellazione dei dati



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

PROGETTAZIONE CONCETTUALE

Informatica (Basi di Dati)

MODELLO RELAZIONALE. Introduzione

I database. Cosa sono e a cosa servono i Database

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

BASI DI DATI - : I modelli di database

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

I Sistemi Informativi

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

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

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Gestione Voti Scolastici

Progettazione di Basi di Dati

Lezione V. Aula Multimediale - sabato 29/03/2008

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

TEORIA sulle BASI DI DATI

Rappresentazione grafica di entità e attributi

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

Organizzazione degli archivi

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Basi di dati 9 febbraio 2010 Compito A

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

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

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON Prof. M. Simone

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

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Database. Organizzazione di archivi mediante basi di dati. ing. Alfredo Cozzi 1

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Vincoli di integrità

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA CONCETTUALE LE ASSOCIAZIONI

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

database: modello entityrelationship

BASE DI DATI: sicurezza. Informatica febbraio ASA

Università degli Studi di Verona. Laboratorio di Basi di Dati

Progettazione di un Database

Progettazione di un DB....in breve

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Progettazione di Database. Un Esempio

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

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

Progettaz. e sviluppo Data Base

Il Modello Relazionale

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

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere

Elena Baralis 2013 Politecnico di Torino 1

Modello Relazionale. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Il modello concettuale dei dati

Soluzione dell esercizio del 2 Febbraio 2004

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

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Alessandra Raffaetà. Basi di Dati

Database. Si ringrazia Marco Bertini per le slides

Modello relazionale. ing. Alfredo Cozzi 1

INTRODUZIONE ALLA TEORIA DEI DATABASE. Autore: ing. Mauro Pullin

Corso di Informatica (Basi di Dati)

Unità C1 Modello logico

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

Modello E-R. Modello relazionale

Il modello Entity-Relationship: pattern di progettazione

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

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

I database relazionali (Access)

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione Logica. Progettazione Logica

Strumenti di modellazione. Gabriella Trucco

Esercizio sui data base "Gestione conti correnti"

Le Basi di Dati. Le Basi di Dati

Progettazione logica relazionale (1/2)

Esercitazione di Basi di Dati

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

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

Segreteria da campo. Database Relazionali

Il modello Entity-Relationship: elementi di base

Progetto Motorizzazione. Si vuole realizzare un'applicazione base di dati per la gestione di un ipotetico ufficio della motorizzazione.

Corso di Sistemi di Elaborazione delle informazioni

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Introduzione alla teoria dei database relazionali. Come progettare un database

Basi di dati. Esercizi sul modello E.R.

Modellazione dei dati in UML

PROGETTAZIONE DI UN DATABASE

Esercitazione di Basi di Dati

Sistemi Informativi e Basi di Dati

Dalla progettazione concettuale alla modellazione di dominio

LE ASSOCIAZIONI (parte 1) le associazioni parte 1 1

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Esercizio data base "Biblioteca"

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Prova scritta. Mercoledì 11 Febbraio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Progettazione base dati relazionale

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

Organizzazione delle informazioni: Database

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Esercizio. Atzeni e altri, Basi di dati, Capitolo 8 64

Transcript:

MODELLO E/R Maria Mirto Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti tra essi. 1

Modellazione dei dati La progettazione di un modello di dati avviene su 3 livelli: 1. CONCETTUALE 2. LOGICO 3. FISICO Modellazione dei dati Realtà Modello concettuale Modello logico Modello fisico Rappresenta la realtà dei dati e le relazioni tra essi Rappresenta attraverso uno il modo schema attraverso (Modello cui i dati E/R) sono organizzati Rappresenta negli l effettiva archivi installazione elettronici. degli Descrive archivi quindi la elettronici composizione ed il formato dei dati nel loro aspetto di struttura logica dei dati. 2

Modellazione dei dati Il modello concettuale si definisce tramite lo SCHEMA dei dati, cioè una rappresentazione INDIPENDENTE da: dai valori assegnati ai dati dalle applicazioni che useranno i dati dalle viste parziali dei dati da parte degli utenti Il modello E/R Il modello entità/associazioni (Entity/Relationship) strumento utilizzato per costruire un modello concettuale dei dati indipendente dalle applicazioni. => risultato: lo schema E/R rappresentazione grafica che permette di individuare gli elementi del modello concettuale e le associazioni tra esse. Gli elementi di un modello entità/associazioni sono: entità associazioni, attributi. 3

L entità L 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à: una persona, un modello di automobile, un movimento contabile, una prova sostenuta da uno studente. L entità Le entità possono essere classificate secondo un certo criterio di omogeneità definendo il tipo di entità attraverso un nome. Es.: gli studenti di una scuola sono classificabili nel tipo entità Studente. i diversi modelli di automobile sono classificabili nel tipo entità Automobile. Ciascuno studente rappresenta un istanza istanza dell entità Studente. Ad esempio Fabio Carbone, Luigi Bianchi, ecc sono istanze di Studenti. II/II 4

L entità Nella rappresentazione grafica le entità sono identificate con un rettangolo contenente all interno il nome dell entità. Ad Esempio la rappresentazione delle entità Studente, Automobile e Persona: STUDENTE AUTOMOBILE PERSONA L associazione L associazione (relationship) è un legame che stabilisce un interazione tra le entità. PERSONA AUTOMOBILE Ogni associazione ha due versi: ogni verso ha un entità di partenza e una di arrivo; ogni verso inoltre ha una descrizione che consente di comprenderne il significato. 5

L associazione PERSONA Possiede Posseduta da AUTOMOBILE tra l entità Persona e l entità Automobile esiste un associazione che può essere descritta secondo due versi: una persona possiede una o più automobili; un automobile è posseduta da una persona. L associazione Un altro simbolismo usato per descrivere un associazione è un rombo con la descrizione dell associazione: PERSONA Possiede AUTOMOBILE 6

Gli attributi Le proprietà delle entità e delle associazioni vengono descritte attraverso gli attributi. Esempi di attributi per l entità Automobile sono: Modello, Produttore, Cilindrata, PrezzoListino. AUTOMOBILE PrezzoListino Cilindrata Produttore Modello Gli attributi Le caratteristiche di ogni attributo sono : il formato: indica il tipo di valori che assume; i tre formati base sono:, numerico, data/ora. la dimensione indica la quantità massima di caratteri o cifre inseribili. l opzionalità indica la possibilità di non essere sempre valorizzato: l attributo è obbligatorio se deve avere valore non nullo, facoltativo se sono accettabili valori nulli. Il valore nullo (in inglese Null) rappresenta un informazione mancante, inapplicabile o sconosciuta. 7

Gli attributi L insieme dei possibili valori assunti da un attributo si chiama dominio dell attributo. I valori appartenenti al dominio sono omogenei tra loro, cioè sono dello stesso tipo. Esempio: attributi di uno studente Nome {fabio, Antonio,ecc } Cognome {Maldini, Del Piero,Vieri } Matricola {numeri interi} Data Nascita {date} STUDENTE DataNascita Matricola Cognome NOME Oss. Età deriva da Data Nascita => definire solo gli attributi elementari e non quelli derivati Gli attributi Nel caso del formalismo con il rombo si possono rappresentare gli attributi dell associazione: PERSONA Possiede AUTOMOBILE DataAcquisto PrezzoAcquisto Gli attributi DataAcquisto e PrezzoAcquisto non sono attributi né dell entità Persona, né dell entità Automobile, => sono attributi dell associazione tra le due entità. 8

Gli attributi Si indica con il termine chiave o chiave primaria (primary key) l insieme di uno o più attributi che consentono di distinguere un istanza dall altra per la stessa entità. Nella descrizione grafica, gli attributi chiave vengono sottolineati (oppure se ne colora il cerchietto) Esempi: STUDENTE DataNascita Matricola Cognome NOME PRODOTTO Prezzo Descrizione Codice Le associazioni tra entità (1) Cardinalità dell associazione Un associazione tra le entità può essere: obbligatoria: quando il legame tra le entità deve essere sempre presente (linea continua nello Schema E/R) opzionale: quando può essere presente (linea tratteggiata nello Schema E/R) PERSONA Intestato a Titolare di CONTOCORRENTE 9

Le associazioni tra entità (2) Il grado di un verso dell associazione indica quante istanze dell entità di arrivo si associano all istanza di partenza. Il grado può essere a uno oppure a molti e pertanto le associazioni tra due entità si classificano nei seguenti tipi: a. Associazione 1:1 (uno a uno) o biunivoca ad ogni elemento del primo insieme E 1 corrisponde uno e un solo elemento del secondo insieme E 2, e viceversa. E 1 E 2 Ogni istanza della prima entità è associata ad una sola istanza della seconda entità e viceversa. Le associazioni tra entità (3) Esempio: l associazione tra Studente e l entità Diploma, in una scuola superiore, è biunivoca perché ad ogni studente corrisponde uno e un solo diploma. Il simbolismo che indica il grado a uno dell associazione tra le entità è la linea stessa. STUDENTE 1 Rilasciato 1 Attestato di Possedere DIPLOMA Patente Automobilista, ecc 10

Le associazioni tra entità (3) Rappresentazione alternativa STUDENTE (0,1) Possi ede (1,1) Attestato di DIPLOMA Uno studente può possedere 0 o al più 1 attestato di diploma Le associazioni tra entità (3) Rappresentazione alternativa STUDENTE (0,1) Possi ede (1,1) Attestato di DIPLOMA Un Attestato è posseduto da almeno 1 studente ed al più da 1 studente (uno e uno solo) 11

Le associazioni tra entità b. Associazione 1:N (uno a molti) o semplice ad un elemento di E 1 possono corrispondere più elementi di E 2, mentre ad ogni elemento di E 2 deve corrispondere uno e un solo elemento di E 1. E 1 E 2 Ogni istanza della prima entità si può associare a uno o più istanze della seconda entità, mentre ogni istanza della seconda entità si deve associare ad una sola istanza della prima. Le associazioni tra entità Esempio: gestione movimenti su un conto corrente. Su ogni conto si possono effettuare una o più operazioni, ma ogni movimento si riferisce ad un solo conto corrente. CONTOCORRENTE 1 Riferito a Movimentato da N MOVIMENTO 12

Le associazioni tra entità il verso Movimentato da (opzionale) è di grado a molti, mentre il verso Riferito a (obbligatorio) è di grado a uno. CONTOCORRENTE 1 Riferito a Movimentato da N MOVIMENTO Il grado a molti si rappresenta con l aggiunta di altre due linee in prossimità dell entità di arrivo. Le associazioni tra entità Rappresentazione alternativa (0,N) CONTOCORRENTE Riferi to (1,1) MOVIMENTO Un Conto Corrente può riferirsi a 0 o al più N Movimenti 13

Le associazioni tra entità Rappresentazione alternativa (0,N) CONTOCORRENTE Riferi to (1,1) MOVIMENTO Un Movimento deve riferirsi a 1 solo Conto Corrente Le associazioni tra entità c. Associazione N:N (molti a molti) o complessa ad un elemento dell insieme E 1 possono corrispondere più elementi dell insieme E 2 e viceversa. E 1 E 2 Ogni istanza della prima entità si può associare a uno o più istanze della seconda entità e viceversa. 14

Le associazioni tra entità Per esempio nell associazione tra l entità Studente e l entità Materia, uno studente può essere verificato su una o più materie, e una materia può essere oggetto di verifica da parte di uno o più studenti. STUDENTE Oggetto di verifica per Verificato in MATERIA STUDENTE (0,N) Verifi ca (0,N) MATERIA OSS. 1: Le associazioni tra entità Le associazioni 1:N sono molto più frequenti delle associazioni di tipo 1:1 e di tipo N:M. STUDENTE N Oggetto di verifica per Verificato in N MATERIA OSS. 2 L associazione N:M può essere facilmente scomposta in due associazioni 1:M, anche per consentire di rappresentare gli attributi dell associazione (maggiore chiarezza). 15

Le associazioni tra entità Dal precedente esempio: Il modello diventa più chiaro introducendo una terza entità Prova, avente come attributi la data e il voto della verifica. Infatti data e voto ottenuto non sono attributi nè di STUDENTE e nè di MATERIA ma di PROVA Data 1 Sostenuta da STUDENTE PROVA Verificato con N Voto N Riferita a 1 Control.con MATERIA Le associazioni tra entità Rappresentazione alternativa STUDENTE (0,N) Sosti ene (1,1) PROVA Data Voto (1,1) riferit a (0,N) MATERIA 16

REGOLE DI LETTURA Servono a controllare la bontà dello Schema E/R prodotto. Ogni <nome entità Partenza> può/deve essere <nome verso Associazione> un solo / uno o più <nome entità Arrivo> Può essere Entità di Partenza Può Deve Deve essere essere essere Un solo Un Uno Uno solo o più o più Entità di Arrivo Esempio Regole di Lettura Ogni fornitore PUO ESSERE abbinato (fornire) a UNO O PIU prodotti Ogni prodotto DEVE ESSERE fornito da UN SOLO fornitore FORNITORE 1 Abbinato a Fornito da N PRODOTTO 17

Le associazioni tra entità Gruppo Esercizi 1: Rappresentare con uno Schema E/R indicando il grado dei versi e l obbligatorietà o l opzionalità delle associazioni. Applicare anche le regole di lettura 1. Una materia può essere seguita da uno o più allievi, un allievo può seguire una o più materie. 2. Un Comune appartiene a una sola regione e ogni regione può comprendere più comuni 3. Ai clienti di un bar piacciono molti tipi di birra, un tipo di birra viene scelto da molti clienti Le associazioni tra entità Gruppo Esercizi 1: Rappresentare con uno Schema E/R indicando il grado dei versi e l obbligatorietà o l opzionalità delle associazioni. Applicare anche le regole di lettura 4. Un elettore può votare per un solo partito, un partito può essere votato da più elettori 5. Un attore può fare molti film, ogni film ha come interpreti molti attori 6. Un reparto vende più prodotti, ogni prodotto è venduto in un solo reparto 18

Le regole di derivazione del modello logico Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati => si può definire la struttura degli archivi adatti per organizzare i dati. Le strutture dati scelte per il modello logico devono rendere facili le operazioni di manipolazione e veloci le attività di ritrovamento dei dati richiesti. Il modello logico si ricava applicando le Regole di Derivazione: 1. ogni entità diventa un archivio; 2. ogni attributo di un entità diventa un campo nell archivio, cioè il nome di un campo nella struttura del record 3. ogni campo del record eredita le caratteristiche dell attributo dell entità da cui deriva; Le regole di derivazione del modello logico 4. l identificatore univoco di un entità diventa la chiave primaria nel record dell archivio derivato; 5. l associazione uno a uno diventa un archivio unico, il cui tracciato record contiene i campi corrispondenti agli attributi della prima e della seconda entità; 6. nell associazione uno a molti l identificatore univoco dell entità di partenza (TABELLA LATO 1) diventa chiave esterna (foreign key) dell entità di arrivo associata (TABELLA LATO MOLTI) 7. l associazione con grado molti a molti diventa un nuovo archivio (in aggiunta agli archivi derivati dalle due entità), il cui record contiene gli identificatori univoci delle due entità e gli eventuali attributi dell associazione. 19

Le regole di derivazione del modello logico ESEMPIO associazione 1:1 Associazione tra l entità CodiceFiscale e l entità Cittadino: è un associazione uno a uno in quanto ad ogni cittadino è assegnato uno ed un solo codice fiscale. CODICE FISCALE 1 1 CITTADINO l archivio avrà gli attributi dell una e dell altra entità: AnagrafiTributarie (CodiceFiscale, Cognome, Nome, DataNascita) Il campo CodiceFiscale diventa chiave primaria. Le regole di derivazione del modello logico Archivio Campo Chiave Formato Dimensione AnagrafiTributarie CodiceFiscale Cognome Nome DataNascita primaria data/ora 16 30 25 8 In generale dall associazione uno ad uno del modello concettuale viene derivato un unico archivio che contiene gli attributi della prima e della seconda entità. 20

Le regole di derivazione del modello logico ESEMPIO associazione 1:N Associazione tra l entità Contratto e l entità Dipendente è una relazione uno a molti, in quanto ogni contratto può essere sottoscritto da uno o più dipendenti, e ogni dipendente è regolato da un solo contratto di lavoro. CONTRATTO 1 N DIPENDENTE la chiave primaria dell archivio Contratti diventa chiave esterna nell archivio Dipendenti. Contratti (Codice, Descrizione, StipendioBase, DataScadenza) Dipendenti (Matricola, Cognome, Nome, Indirizzo, Qualifica, CodiceContratto) Le regole di derivazione del modello logico Archivio Campo Chiave Formato Dimensione AnagrafiTributarie Codice Descrizione StipendioBase DataScadenza primaria numerico numerico data/ora 3 30 10 8 Dipendenti Matricola Cognome Nome Indirizzo Qualifica CodiceContratto primaria esterna numerico 7 30 25 30 10 3 21

Le regole di derivazione del modello logico Agli attributi dell entità Dipendente (a molti) è stata aggiunta come chiave esterna CodiceContratto, cioè la chiave primaria dell entità Contratto (a uno). In generale dal modello concettuale vengono derivate le tabelle che rappresentano le entità e l associazione uno a molti viene tradotta aggiungendo agli attributi dell entità a molti la chiave dell entità a uno. Le regole di derivazione del modello logico ESEMPIO associazione N:M Si considerino l entità Docente e l entità Classe per una scuola: tra le due entità si può stabilire un associazione molti a molti, in quanto ogni docente può insegnare in una o più classi, e ogni classe ha uno o più docenti. DOCENTE CLASSE Accanto agli archivi Docenti e Classi, viene creato un nuovo archivio, chiamato Insegna, il cui record contiene gli attributi chiave dei due archivi considerati. 22

Le regole di derivazione del modello logico Se vengono considerati anche gli attributi dell associazione, questo nuovo archivio di legame contiene, oltre alle chiavi delle due entità anche gli attributi assegnati all associazione: il numero delle ore di insegnamento del docente in una classe non è attributo né di Docente, né di Classe, ma dell associazione; esso diventa un campo nel nuovo archivio Insegna. Docenti (Codice, Nome, Qualifica, Materia) Classi (Sigla, NumeroAlunni, Aula) Insegna (CodiceDocente, SiglaClasse, NumeroOre) Le regole di derivazione del modello logico Archivio Docenti Campo Codice Nome Qualifica Materia Chiave primaria Formato Dimensione 5 40 7 3 Classi Sigla NumeroAlunni Aula primaria numerico numerico 3 2 3 Insegna CodiceDocente SiglaClasse NumeroOre primaria primaria numerico 5 3 2 23

Le regole di derivazione del modello logico In generale quindi vengono derivati gli archivi corrispondenti alle entità e l associazione molti a molti viene tradotta con un terzo archivio contenente le chiavi delle due entità e gli eventuali attributi dell associazione. 24