Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il...

26
Il modello concettuale dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano Edizioni Atlas

Transcript of Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il...

Page 1: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

Il modello concettuale

dei dati

A. Lorenzi, E. Cavalli

INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI

Copyright © Istituto Italiano Edizioni Atlas

Page 2: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

2

Modello Concettuale

Livello Fisico

Modello logico

Realtà

Database

Modello Concettuale

Entità/Associazioni

Entity/Relationship

E/R

Livelli di analisi

Page 3: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

3

Il modello E/R

• Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è

uno strumento utile per analizzare le caratteristiche di una realtà in modo

indipendente dagli eventi che in essa accadono.

Fornire Prodotto Fornitore

1 N

DataAcquisto

Quantità

CodFornitore {PK}

Nome

Via

Città

CAP

CodProdotto {PK}

Descrizione

Prezzo

• Fornitore, Prodotto Entità

• CodFornitore, Nome, Via, .. Prezzo Attributi

• Fornire Associazione

Page 4: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

4

Entità e associazioni

Page 5: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

5

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.

Automobile Studente Persona

Gli studenti di una scuola sono classificabili nel tipo entità Studente.

Ciascun singolo studente rappresenta un’istanza dell’entità Studente.

Page 6: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

6

Associazioni (1)

• L’associazione (in inglese relationship) è un legame che stabilisce

un’interazione tra le entità.

P1

P2

P3

A1

A2

A3

Possedere

Persona Automobile

Page 7: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

7

Associazioni (2)

• Una persona può possedere una o più automobili

• Un’automobile deve essere posseduta da una persona

Persona Automobile

Possedere

Essere posseduta

Nome e verso di

lettura dell’asso-

ciazione

Nome dell’asso-

ciazione non

rappresentata

Page 8: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

8

Associazioni (3)

Differenti simbolismi per rappresentare le associazioni

Persona Automobile Possiede

Posseduta da

Persona Automobile Possiede

Page 9: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

9

Associazioni (4)

• Le associazioni hanno un grado dato dal numero delle entità che

partecipano all’associazione. Le associazioni di grado 2 sono dette binarie;

le associazioni di grado 1 sono dette ricorsive

• Tra due entità possono sussistere più associazioni e in questo caso si

evidenziano i ruoli giocati da una entità nelle diverse associazioni

Persona Automobile

Possedere

Guidare

Proprietario

Autista

Nome dei ruoli delle

due associazioni

Page 10: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

10

Associazioni (5)

• Le associazioni tra un’entità e se stessa si dicono ricorsive: Coordinare è un

esempio di associazione ricorsiva nella quale l’entità Dipendente partecipa nei

ruoli di Supervisore e Collaboratore

Dipendente

Coordinare

Manager

Collaboratore

Page 11: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

11

Attributi

Page 12: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

12

Attributi (1)

• Le proprietà delle entità e delle associazioni sono descritte attraverso gli

attributi.

• Per esempio, attributi per l’entità Automobile sono: Modello, Produttore,

Cilindrata, Potenza e PrezzoListino

Caratteristiche degli attributi

• Formato: il tipo di valori che assume.

Formati base sono: carattere, numerico, data/ora

• Dimensione: la quantità di caratteri o cifre

• Opzionalità: la possibilità di essere

valorizzato e meno.

– obbligatorio

– con valore nullo

Automobile

Modello

Produttore

Cilindrata

Potenza

PrezzoListino

Page 13: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

13

Attributi (2)

Studente

Matricola {PK}

Nome

Cognome

Nascita

Facoltà

• Chiave primaria (primary key) di un’entità è un insieme minimale di attributi

che permette di distinguere tra le istanze di quella entità.

• Dominio di un attributo è l’insieme dei valori che esso può assumere

37425

Giuseppe

Rossi

15-09-1993

Economia

Istanza dell’entità

Studente

• Conoscendo la matricola è possibile identificare univocamente uno studente: 37425 (Giuseppe, Rossi, 15-09-1992, Economia)

Page 14: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

14

Attributi (3)

Acquistare Automobile Persona

DataAcquisto

PrezzoAcquisto

CodiceFiscale {PK}

Nome

Cognome

DataNascita

Indirizzo

Modello {PK}

Produttore

Cilindrata

Potenza

PrezzoListino

Nome della

associazione Attributi della

associazione

• Le associazioni possono avere attributi. Per esempio: nell’associazione

Acquistare di chi sono attributi DataAcquisto e PrezzoAcquisto?

Page 15: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

15

Rappresentazioni alternative

Automobile

DataAcquisto PrezzoAcquisto

Acquista Persona

Modello

Automobile

Produttore Cilindrata

PrezzoListino

Page 16: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

16

Caratteristiche delle associazioni

Page 17: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

17

Le associazioni tra entità

• Si rappresenta con scritture del tipo: 1 .. 1, 0 .. 1, 1 .. N

• Al valore minimo è associato il concetto di obbligatorietà: 0 facoltativa,

1 obbligatoria

• Al valore massimo quello di cardinalità: 1 (uno) oppure N (molti)

• Le associazioni si possono classificare in base alla cardinalità in:

– Associazioni uno a uno 1 : 1

– Associazioni uno a molti 1 : N

– Associazioni molti a molti N : N

• La molteplicità di un’associazione è il numero di possibili istanze di

un’entità che viene messo in corrispondenza con un’istanza dell’altra

entità che partecipa all’associazione.

Page 18: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

18

Associazioni 1:1 (1)

• Un’associazione si dice uno a uno, o biunivoca, e si indica con 1 : 1,

quando ogni istanza della prima entità si deve associare a una sola

istanza della seconda entità e viceversa.

S1

S2

S3

P1

Occupare

Spettatore Posto

P2

P3

P4

1 . . 1 0 . . 1 Cardinalità

Page 19: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

19

Associazioni 1:1 (2)

Il modello E/R della caso in esame:

Posto Occupare

1 1 Spettatore

1 : 1

Posto Occupare

1 1 Spettatore

Facoltativa per

Posto

Obbligatoria per

Spettatore

Page 20: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

20

Associazioni 1:N (1)

• Un’associazione si dice uno a molti, e si indica con 1 : N, quando a ogni

istanza della prima entità si può associare una o più istanze della seconda

entità, mentre a ogni istanza della seconda entità si deve associare una

sola istanza della prima.

C1

C2

C4

M1

Effettuare

Conto Movimento

C3 M3

M4

0 . . N 1 . . 1 Cardinalità

M2

Page 21: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

21

• Un conto associato a più movimenti: N vicino a Movimento

• Un movimento associato a un solo conto: 1 vicino a Conto

• Ci sono conti senza movimenti: partecipazione facoltativa di Conto

• Regola mnemonica per la grafica:

Associazioni 1:N (2)

Il modello E/R della caso in esame:

Movimento Effettuare

1 N

Conto

1 : N

Page 22: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

22

Associazioni N:N (1)

• Un’associazione si dice molti a molti, e si indica con N : N, se a ogni

istanza della prima entità si possono associare una o più istanze della

seconda entità e a ogni istanza della seconda entità si possono associare

una o più istanze della prima.

0 . . N 1 . . N Cardinalità

Attore

A1

A2

A4

F1

Recitare

Film

A3 F2

F3

Page 23: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

23

Associazioni N:N (2)

Il modello E/R della caso in esame:

Film Recitare

N N

Attore

N : N

Facoltativa

per Attore

Obbligatoria

per Film

• Le associazioni N:N sono meno frequenti delle associazioni 1:N

• Un’associazioni N:N spesso si rappresenta con due associazioni 1:N

Page 24: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

24

Associazioni N:N (3)

Studente Materia Valutare

N N

Data

Voto

Studente Svolgere

N N Prova

1 1

Assegnare Materia

….

Data

Voto

Page 25: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

25

Regole di lettura

può

deve uno solo

uno o più

Nome della

associazione

Ogni

Nome

Entità di

partenza

Nome

Entità di

arrivo

Fornire Prodotto Fornitore

1 N

Ogni fornitore può fornire uno o più prodotti

Ogni prodotto deve essere fornito da un solo fornitore

Page 26: Il modello concettuale dei dati - Valeria Valecchi · 2018-09-09 · 3 Il modello E/R • Il modello entità/associazioni o Entity/Relationship (1976 Peter P. Chen) è uno strumento

26

Regole di lettura e verifica del modello

Supponiamo di avere rappresentato le vetture presenti in una via e i

passeggeri che le occupano con il modello in figura

Occupare

Vettura Passeggero 1 N

Ogni passeggero può occupare una o più vetture

Ogni vettura deve essere occupata da un solo passeggero ?

Occupare

Passeggero Vettura 1 N

OK