MODELLO E/R.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

La modellizzazione dei dati
La progettazione concettuale
Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Creazione di archivi tramite Data Base
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
Progettazione concettuale
Progettazione concettuale
DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo: Semplice;
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Progettazione Concettuale: Il modello Entità-Relazioni
4 – Progettazione – Introduzione e Modello E-R
MODULO DIDATTICO - I DATABASE -
Creazione di archivi tramite Data Base
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Archivio Necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
Modello E-R Generalizzazioni
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Implementare un modello di dati
ESERCIZIO N.1 ANALISI DEI REQUISITI Si vuole progettare un Data Base per una biblioteca personale che presti libri. La progettazione tiene conto di quanto.
INFORMATICA Corso Base Modulo G: I DataBase  Access.
Array a un dimensione : vettori
COMPITO 2 CELESTE BONANNO MATR CDL: SDFA.
SECONDO COMPITO: PRESENTAZIONE DI UN DATABASE
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Progettare un database
LE BASI DI DATI E IL LINGUAGGIO SQL.
DATABASE Introduzione
Percorso didattico per l’apprendimento di Microsoft Access
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
Modellazione dei Dati Fabio Scanu a.s. 2012/2013.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Diagramma delle Classi
Database Progettazione Concettuale
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione di una base di dati relazionale Vincoli.
Progettazione di una base di dati relazionale Terza forma normale.
Database Progettazione Logica
Sistemi di Elaborazione delle Informazioni
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
2° COMPITO VANIA PASCALE MATRICOLA GESTIONE DEI PRESTITI DI UNA BIBLIOTECA PERSONALE DOMINIO APPLICATIVO : il dominio applicativo è rappresentato.
Eprogram informatica V anno.
Cloud informatica V anno.
MODELLO E/R.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini.
1. CASO BIBLIOTECA ANALISI DEI REQUISITI Si vuole automatizzare la gestione prestiti dei libri di una biblioteca personale. La progettazione deve tener.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Transcript della presentazione:

MODELLO E/R

Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti tra essi.

Modellazione dei dati La progettazione di un modello di dati avviene su 3 livelli: CONCETTUALE LOGICO FISICO

Rappresenta l’effettiva installazione degli archivi elettronici Modellazione dei dati Realtà Rappresenta la realtà dei dati e le relazioni tra essi attraverso uno schema (Modello E/R) Modello concettuale Rappresenta il modo attraverso cui i dati sono organizzati negli archivi elettronici. Descrive quindi la composizione ed il formato dei dati nel loro aspetto di struttura logica dei dati. Modello logico Rappresenta l’effettiva installazione degli archivi elettronici Modello fisico

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.

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 dell’entità Studente. Ad esempio Fabio Carbone, Luigi Bianchi, ecc… sono istanze di Studenti. II/II

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.

L’associazione PERSONA AUTOMOBILE Posseduta da Possiede 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 AUTOMOBILE Possiede

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 Modello Produttore Cilindrata PrezzoListino

Gli attributi Le caratteristiche di ogni attributo sono : il formato: indica il tipo di valori che assume; i tre formati base sono: carattere, 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.

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 STUDENTE NOME Cognome Matricola DataNascita Nome {fabio, Antonio,ecc…} Cognome {Maldini, Del Piero,Vieri…} Matricola  {numeri interi} Data Nascita  {date} 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 AUTOMOBILE Possiede 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à.

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 NOME Cognome Matricola DataNascita PRODOTTO Codice Descrizione Prezzo

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) Intestato a PERSONA CONTOCORRENTE Titolare di

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: Associazione 1:1 (uno a uno) o biunivoca ad ogni elemento del primo insieme E1 corrisponde uno e un solo elemento del secondo insieme E2, e viceversa. E1 E2 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 Attestato di DIPLOMA 1 1 Rilasciato Possedere Patente – Automobilista, ecc…

Le associazioni tra entità (3) Rappresentazione alternativa Possiede STUDENTE (0,1) (1,1) Attestato di DIPLOMA Uno studente può possedere 0 o al più 1 attestato di diploma

Le associazioni tra entità (3) Rappresentazione alternativa Possiede STUDENTE (0,1) (1,1) Attestato di DIPLOMA Un Attestato è posseduto da almeno 1 studente ed al più da 1 studente (uno e uno solo)

Le associazioni tra entità Associazione 1:N (uno a molti) o semplice ad un elemento di E1 possono corrispondere più elementi di E2, mentre ad ogni elemento di E2 deve corrispondere uno e un solo elemento di E1. E1 E2 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. 1 N CONTOCORRENTE MOVIMENTO Riferito a Movimentato da

Le associazioni tra entità il verso Movimentato da (opzionale) è di grado a molti, mentre il verso Riferito a (obbligatorio) è di grado a uno. Riferito a 1 CONTOCORRENTE MOVIMENTO Movimentato da N 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 Riferito (0,N) (1,1) MOVIMENTO CONTOCORRENTE Un Conto Corrente può riferirsi a 0 o al più N Movimenti

Le associazioni tra entità Rappresentazione alternativa Riferito (0,N) (1,1) MOVIMENTO CONTOCORRENTE Un Movimento deve riferirsi a 1 solo Conto Corrente

Le associazioni tra entità Associazione N:N (molti a molti) o complessa ad un elemento dell’insieme E1 possono corrispondere più elementi dell’insieme E2 e viceversa. E1 E2 Ogni istanza della prima entità si può associare a uno o più istanze della seconda entità e viceversa.

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 (0,N) Verifica STUDENTE MATERIA

Le associazioni tra entità OSS. 1: Le associazioni 1:N sono molto più frequenti delle associazioni di tipo 1:1 e di tipo N:M. N STUDENTE Oggetto di verifica per Verificato in 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).

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 N STUDENTE Sostenuta da Verificato con PROVA 1 MATERIA Riferita a Control.con Data Voto

Le associazioni tra entità Rappresentazione alternativa STUDENTE PROVA MATERIA Data Voto (0,N) Sostiene (1,1) riferita

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> Entità di Partenza Può essere Deve essere Entità di Arrivo Un solo Uno o più

Esempio Regole di Lettura Ogni fornitore PUO’ ESSERE abbinato (fornire) a UNO O PIU’ prodotti Ogni prodotto DEVE ESSERE fornito da UN SOLO fornitore 1 N FORNITORE PRODOTTO Fornito da Abbinato a

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 Una materia può essere seguita da uno o più allievi, un allievo può seguire una o più materie. Un Comune appartiene a una sola regione e ogni regione può comprendere più comuni 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 Un elettore può votare per un solo partito, un partito può essere votato da più elettori Un attore può fare molti film, ogni film ha come interpreti molti attori Un reparto vende più prodotti, ogni prodotto è venduto in un solo reparto

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: ogni entità diventa un archivio; ogni attributo di un’entità diventa un campo nell’archivio, cioè il nome di un campo nella struttura del record ogni campo del record eredita le caratteristiche dell’attributo dell’entità da cui deriva;

Le regole di derivazione del modello logico l’identificatore univoco di un’entità diventa la chiave primaria nel record dell’archivio derivato; 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à; 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) 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.

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 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 carattere 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à.

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. 1 N CONTRATTO 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 Dipendenti Codice Descrizione StipendioBase DataScadenza Matricola Cognome Nome Indirizzo Qualifica CodiceContratto primaria esterna numerico carattere data/ora 3 30 10 8 7 25

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.

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 Campo Chiave Formato Dimensione Docenti Classi Insegna Codice Nome Qualifica Materia Sigla NumeroAlunni Aula CodiceDocente SiglaClasse NumeroOre primaria carattere numerico 5 40 7 3 2

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.