47
MODELLO E/R

MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Embed Size (px)

Citation preview

Page 1: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

MODELLO E/R

Page 2: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Modellazione dei dati

Modellare i dati significa:

costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti tra essi.

Page 3: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Modellazione dei dati

La progettazione di un modello di dati avviene su 3 livelli:

1. CONCETTUALE

2. LOGICO

3. FISICO

Page 4: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Modellazione dei dati

Realtà

Modello concettualeModello concettuale

Modello logico

Modello fisico

Rappresenta la realtà dei dati e le relazioni tra essi

attraverso uno schema (Modello E/R)

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.

Rappresenta l’effettiva installazione degli archivi

elettronici

Page 5: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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 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

Page 6: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Il modello entità/associazionientità/associazioni (Entity/RelationshipEntity/Relationship) strumento utilizzato per costruire un modello concettuale dei dati indipendente dalle applicazioni.

Il modello entità/associazionientità/associazioni (Entity/RelationshipEntity/Relationship) strumento utilizzato per costruire un modello concettuale dei dati indipendente dalle applicazioni.

Il modello E/R

=> risultato: lo schema E/Rschema E/R rappresentazione grafica che permette di individuare gli elementi del modello concettuale e le associazioni tra esse.

=> risultato: lo schema E/Rschema 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àentità• associazioni,associazioni,• attributiattributi.

Gli elementi di un modello entità/associazioni sono:• entitàentità• associazioni,associazioni,• attributiattributi.

Page 7: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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.

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.

L’entità

Esempi di entità:

una persona,

un modello di automobile,

un movimento contabile,

una prova sostenuta da uno studente.

Esempi di entità:

una persona,

un modello di automobile,

un movimento contabile,

una prova sostenuta da uno studente.

Page 8: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Le entità possono essere classificate secondo un certo criterio di omogeneità definendo il tipo di entitàtipo di entità attraverso un nome.

Le entità possono essere classificate secondo un certo criterio di omogeneità definendo il tipo di entitàtipo di entità attraverso un nome.

L’entità

II/II

Es.: • gli studenti di una scuola sono classificabili nel tipo

entità Studente. • i diversi modelli di automobile sono classificabili nel

tipo entità Automobile.

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

Ciascuno studente rappresenta un’istanzaistanza dell’entità Studente.Ad esempio Fabio Carbone, Luigi Bianchi, ecc… sono istanze di Studenti.

Page 9: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Nella rappresentazione grafica le entità sono identificate con un rettangolo contenente all’interno il nome dell’entità.

Nella rappresentazione grafica le entità sono identificate con un rettangolo contenente all’interno il nome dell’entità.

STUDENTESTUDENTE AUTOMOBILEAUTOMOBILE PERSONAPERSONA

L’entità

Ad Esempio la rappresentazione delle entità Studente, Automobile e Persona:

Page 10: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

L’associazione (relationship) è un legame che stabilisce un’interazione tra le entità.

L’associazione (relationship) è un legame che stabilisce un’interazione tra le entità.

PERSONA AUTOMOBILE

L’associazione

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.

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.

Page 11: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

PERSONA AUTOMOBILEPossiede

Posseduta da

L’associazione

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.

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.

Page 12: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Un altro simbolismo usato per descrivere un’associazione è un rombo con la descrizione dell’associazione:

PERSONA AUTOMOBILEPossiede

L’associazione

Page 13: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Le proprietà delle entità e delle associazioni vengono descritte attraverso gli attributiattributi. Le proprietà delle entità e delle associazioni vengono descritte attraverso gli attributiattributi.

Gli attributi

AUTOMOBILE

ModelloProduttore

CilindrataPrezzoListino

Esempi di attributi per l’entità Automobile sono: Modello, Produttore, Cilindrata, PrezzoListino.

Page 14: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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.

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.

Gli attributi

Il valore nullo (in inglese Null) rappresenta un’informazione mancante, inapplicabile o sconosciuta. Il valore nullo (in inglese Null) rappresenta un’informazione mancante, inapplicabile o sconosciuta.

Page 15: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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.

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.

STUDENTE

NOMECognome

MatricolaDataNascita

Gli attributi

Esempio: attributi di uno studente

Nome {fabio, Antonio,ecc…}

Oss. Età deriva da Data Nascita => definire solo gli attributi elementari e non quelli derivatiOss. Età deriva da Data Nascita => definire solo gli attributi elementari e non quelli derivati

Data Nascita {date}Matricola {numeri interi}Cognome {Maldini, Del Piero,Vieri…}

Page 16: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Nel caso del formalismo con il rombo si possono rappresentare gli attributi dell’associazione:

PERSONA AUTOMOBILEPossiede

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

Page 17: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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

PRODOTTO

CodiceDescrizione

Prezzo

Gli attributi

Nella descrizione grafica, gli attributi chiave vengono sottolineati (oppure se ne colora il cerchietto)

Esempi:

STUDENTE

NOMECognome

MatricolaDataNascita

Page 18: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

PERSONA CONTOCORRENTETitolare di

Intestato a

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)

Le associazioni tra entità (1)

Page 19: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Il gradogrado 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:

Il gradogrado 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.a. Associazione 1:1 (uno a uno) o biunivocaAssociazione 1:1 (uno a uno) o biunivocaad ogni elemento del primo insieme E1 corrisponde uno e un solo elemento del secondo insieme E2, e viceversa.

a.a. Associazione 1:1 (uno a uno) o biunivocaAssociazione 1:1 (uno a uno) o biunivocaad 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à (2)

Page 20: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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 1 Attestato diDIPLOMA

Le associazioni tra entità (3)

Patente – Automobilista, ecc…

PossedereRilasciato

Page 21: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Rappresentazione alternativa

STUDENTE(0,1) Attestato di

DIPLOMA

Le associazioni tra entità (3)

Possiede

(1,1)

Uno studente può possedere 0 o al più 1 attestato di diploma

Page 22: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Rappresentazione alternativa

STUDENTE(0,1) Attestato di

DIPLOMA

Le associazioni tra entità (3)

Possiede

(1,1)

Un Attestato è posseduto da almeno 1 studente ed al più da 1 studente (uno e uno solo)

Page 23: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

b.b. Associazione 1:N (uno a molti) o sempliceAssociazione 1:N (uno a molti) o semplicead 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.

b.b. Associazione 1:N (uno a molti) o sempliceAssociazione 1:N (uno a molti) o semplicead 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à

Page 24: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Le associazioni tra entità

1

NCONTOCORRENTE MOVIMENTO

Riferito a

Movimentato da

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.

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.

Page 25: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

1

NCONTOCORRENTE MOVIMENTO

Riferito a

Movimentato da

Le associazioni tra entità

Il grado a molti si rappresenta con l’aggiunta di altre due linee in prossimità dell’entità di arrivo.

il verso Movimentato da (opzionale) è di grado a molti, mentre il verso Riferito a (obbligatorio) è di grado a uno.

il verso Movimentato da (opzionale) è di grado a molti, mentre il verso Riferito a (obbligatorio) è di grado a uno.

Page 26: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Le associazioni tra entità

Rappresentazione alternativa

(0,N)Riferito

(1,1)MOVIMENTOCONTOCORRENTE

Un Conto Corrente può riferirsi a 0 o al più N Movimenti

Page 27: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Le associazioni tra entità

Rappresentazione alternativa

(0,N)Riferito

(1,1)MOVIMENTOCONTOCORRENTE

Un Movimento deve riferirsi a 1 solo Conto Corrente

Page 28: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

c.c. Associazione N:N (molti a molti) o complessaAssociazione N:N (molti a molti) o complessaad 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à

Page 29: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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.

Le associazioni tra entità

STUDENTEOggetto di verifica per

Verificato inMATERIA

Per esempio

(0,N) Verifica

(0,N)STUDENTE MATERIA

Page 30: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

OSS. 2

L’associazione N:M può essere facilmente scomposta in due L’associazione N:M può essere facilmente scomposta in due associazioni 1:Massociazioni 1:M, anche per consentire di rappresentare gli attributi dell’associazione (maggiore chiarezza).

OSS. 2

L’associazione N:M può essere facilmente scomposta in due L’associazione N:M può essere facilmente scomposta in due associazioni 1:Massociazioni 1:M, anche per consentire di rappresentare gli attributi dell’associazione (maggiore chiarezza).

Le associazioni tra entità

NNSTUDENTE

Oggetto di verifica per

Verificato inMATERIANN

OSS. 1:

Le associazioni 1:N sono molto più frequenti delle associazioni di tipo 1:1 e di tipo N:M.

OSS. 1:

Le associazioni 1:N sono molto più frequenti delle associazioni di tipo 1:1 e di tipo N:M.

Page 31: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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

Le associazioni tra entità

NNSTUDENTE

Sostenuta da

Verificato conPROVA

11

MATERIA

Riferita a

Control.con

Data

Voto

11

NN

Page 32: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Le associazioni tra entità

Rappresentazione alternativa

STUDENTE PROVA

MATERIA

Data

Voto

(0,N) Sostiene

(1,1)

(0,N)

riferita

(1,1)

Page 33: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

REGOLE DI LETTURAServono a controllare la bontà dello Schema E/R prodotto.Servono a controllare la bontà dello Schema E/R prodotto.

OgniOgni

<nome entità Partenza> può/deve esserepuò/deve essere

<nome verso Associazione> un solo / uno o piùun solo / uno o più

<nome entità Arrivo>

OgniOgni

<nome entità Partenza> può/deve esserepuò/deve essere

<nome verso Associazione> un solo / uno o piùun solo / uno o più

<nome entità Arrivo>

Entità di Partenza

Può Può essereessere

Può Può essereessere

Deve Deve essereessere

Deve Deve essereessere

Entità di Arrivo

Un Un solosolo

Un Un solosolo

Uno Uno o piùo più

Uno Uno o piùo più

Page 34: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Esempio Regole di Lettura

1

NFORNITORE PRODOTTO

Fornito da

Abbinato a

• Ogni fornitore PUO’ ESSERE abbinato (fornire) a UNO O PIU’ prodotti

• Ogni prodotto DEVE ESSERE fornito da UN SOLO fornitore

• Ogni fornitore PUO’ ESSERE abbinato (fornire) a UNO O PIU’ prodotti

• Ogni prodotto DEVE ESSERE fornito da UN SOLO fornitore

Page 35: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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

Le associazioni tra entità

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

Page 36: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Le associazioni tra entità

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

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

Page 37: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati => si può definire la struttura degli archivi adatti per organizzare i dati.

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 regole di derivazione del modello logico

Il modello logico si ricava applicando le Regole di DerivazioneRegole 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;

Il modello logico si ricava applicando le Regole di DerivazioneRegole 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 strutture dati scelte per il modello logico devono rendere facili le operazioni di manipolazione e veloci le attività di ritrovamento dei dati richiesti.

Le strutture dati scelte per il modello logico devono rendere facili le operazioni di manipolazione e veloci le attività di ritrovamento dei dati richiesti.

Page 38: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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.

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.

Le regole di derivazione del modello logico

Page 39: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

ESEMPIO associazione 1:1ESEMPIO associazione 1:1Associazione 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.

ESEMPIO associazione 1:1ESEMPIO associazione 1:1Associazione 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

Page 40: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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

Archivio Campo Chiave Formato Dimensione

AnagrafiTributarie CodiceFiscale

Cognome

Nome

DataNascita

primaria carattere

carattere

carattere

data/ora

16

30

25

8

Le regole di derivazione del modello logico

Page 41: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

ESEMPIO associazione 1:NESEMPIO associazione 1:NAssociazione 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.

ESEMPIO associazione 1:NESEMPIO associazione 1:NAssociazione 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.

la chiave primaria dell’archivio Contratti diventa chiave esterna nell’archivio Dipendenti.Contratti (Codice, Descrizione, StipendioBase, DataScadenza)Dipendenti (Matricola, Cognome, Nome, Indirizzo, Qualifica,

CodiceContratto)

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

1

NCONTRATTO DIPENDENTE

Page 42: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Archivio Campo Chiave Formato Dimensione

AnagrafiTributarie

Dipendenti

Codice

Descrizione

StipendioBase

DataScadenza

Matricola

Cognome

Nome

Indirizzo

Qualifica

CodiceContratto

primaria

primaria

esterna

numerico

carattere

numerico

data/ora

carattere

carattere

carattere

carattere

carattere

numerico

3

30

10

8

7

30

25

30

10

3

Le regole di derivazione del modello logico

Page 43: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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”.

Agli attributi dell’entità Dipendente (a molti) è stata aggiunta come chiave esterna CodiceContratto, cioè la chiave primaria dell’entità Contratto (a uno).

Le regole di derivazione del modello logico

Page 44: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

ESEMPIO associazione N:MESEMPIO associazione N:MSi 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.

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

DOCENTE CLASSE

Page 45: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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.

Le regole di derivazione del modello logico

Docenti (Codice, Nome , Qualifica, Materia)

Classi (Sigla, NumeroAlunni, Aula)

Insegna (CodiceDocente, SiglaClasse, NumeroOre)

Docenti (Codice, Nome , Qualifica, Materia)

Classi (Sigla, NumeroAlunni, Aula)

Insegna (CodiceDocente, SiglaClasse, NumeroOre)

Page 46: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

Archivio Campo Chiave Formato Dimensione

Docenti

Classi

Insegna

Codice

Nome

Qualifica

Materia

Sigla

NumeroAlunni

Aula

CodiceDocente

SiglaClasse

NumeroOre

primaria

primaria

primaria

primaria

carattere

carattere

carattere

carattere

carattere

numerico

numerico

carattere

carattere

numerico

5

40

7

3

3

2

3

5

3

2

Le regole di derivazione del modello logico

Page 47: MODELLO E/R. Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli

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.

Le regole di derivazione del modello logico