Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi...

58
Sistemi Informativi L-B Il modello Entity-Relationship Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/SIL-B/ Versione elettronica: ER.pdf

Transcript of Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi...

Page 1: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Sistemi Informativi L-B

Il modello Entity-Relationship

Sistemi Informativi L-B

Home Page del corso:http://www-db.deis.unibo.it/courses/SIL-B/

Versione elettronica: ER.pdf

Page 2: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 2

I modelli concettuali dei dati

Vogliamo pervenire a uno schemache rappresenti la realtà di interessein modo indipendente dal DBMSCerchiamo quindi un livello di astrazione “intermedio”tra sistema e utenti, che sia al tempo stesso:

FlessibileIntuitivoEspressivo

… tutte caratteristiche che mancano ai modelli logici

I modelli concettuali prevedono tipicamente una rappresentazione grafica, che risulta anche utile come strumento di documentazione e comunicazione

Realtà percepita

Modello

Schema

Page 3: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 3

Modello Entity-Relationship

Uno “standard de facto” per la progettazione concettuale Ha una rappresentazione graficaEsistono molti dialetti E/R, che spesso si differenziano solo per la notazione grafica adottataConcetti fondamentali:

Entità (entity)Associazione (relationship)Attributo

e inoltre:Vincolo di cardinalitàIdentificatoreGerarchia

Introduciamo i concetti di base parlando di “meccanismi di astrazione”…

Page 4: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 4

Meccanismi di astrazione

Quando ragioniamo su un problema usiamo sempre, in funzione del tipo di problema da risolvere, dei procedimentali mentali di un certo tipo per arrivare alla soluzione, ovvero astraiamo dal caso specifico per ricondurci a un “pattern” più generale che conosciamo. Astrazione: procedimento mentale che si adotta quando

si concentra l’attenzione su alcune caratteristiche, trascurando le altre giudicate non rilevanti

Nel nostro caso i meccanismi fondamentali di astrazione sono:classificazione: identifica classi di oggetti del mondo reale aventi proprietà comuni aggregazione: definisce un nuovo concetto a partire da concetti componentigeneralizzazione: definisce una classe astraendo dalle differenze esistenti tra due o più classi

Page 5: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 5

Astrazione di classificazione

Definizione di una classe a partire da un insieme di oggetti aventiproprietà (caratteristiche) comuni

Febbraio è un'istanza (elemento) della classe Mesi

In generale, dato un insieme di oggetti, le classi definibili non sono univocamente determinate, dipende da ciò che interessa modellare!

Mesi

Febbraio … DicembreGennaio

Mobili

Page 6: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 6

Modello E/R: Entità

Insieme (classe) di oggetti della realtà di interesse che possiedono caratteristiche comuni (es. persone, automobili, …) e che hanno esistenza “autonoma”L’istanza (elemento) di un’entità è uno specifico oggetto appartenente a quella entità (es. io, la mia auto, …)

Graficamente un’entità si rappresenta con un rettangolo:

Persone Automobili Impiegati

Page 7: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 7

Entità e relazioni

Data un’entità, in prima approssimazione possiamo considerarla “equivalente” a una relazione, di cui però non sappiamo ancora definire lo schema

… …… …

…………

Studenti

Studenti

Page 8: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 8

Astrazione di aggregazione

Definizione di un concetto (classe) a partire da un insieme di concetti componenti

La Matricola è una parte (part of) dello StudenteÈ la tipica astrazione che viene utilizzata quando si definiscono dei record (tuple)

Studente

Cognome … EmailMatricola

Page 9: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 9

Aggregazione di classi

Un caso particolarmente interessante è quando i concetti che vengono aggregati sono delle classi che rappresentiamo come delle entità

Esami

CorsiStudenti

Lezioni

OrariAule Corsi

Page 10: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 10

Modello E/R: Associazione

Rappresenta un legame logico tra entità, rilevante nella realtà che si sta considerandoIstanza di associazione: combinazione (aggregazione) di istanze delle entità che prendono parte all’associazione Graficamente un’associazione si rappresenta con un rombo:

Se p è un’istanza di Persone e c è un’istanza di Città, la coppia (p, c) è un’istanza dell’associazione Risiedono

Persone Risiedono Città

Page 11: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 11

A livello di istanze…

entità E1

E2

istanza di E1

associazioneA tra E1 ed E2

istanza di A

Page 12: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 12

Associazioni e relazioni

Data un’associazione, in prima approssimazione possiamo considerarla ancora “equivalente” a una relazione, di cui però non sappiamo ancora definire lo schemaSappiamo però che dobbiamo in qualche modo mantenere le giuste corrispondenze (istanze dell’associazione) tra le entità coinvolte

Studenti CorsiEsami

…… …

………

…Esami

Page 13: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 13

Istanze di associazioni: una precisazione

Per definizione l’insieme delle istanze di un'associazione è un sottoinsieme del prodotto Cartesiano degli insiemi delle istanze di entitàche partecipano all’associazioneNe segue che non ci possono essere istanze ripetute nell’associazione

Se s è uno studente e c un corso, la coppia (s,c) può comparire un’unica volta nell'insieme delle istanze di Esami

vedremo più avanti come si può rappresentare la possibilità di sostenere più volte lo stesso esame

Studenti CorsiEsami

Page 14: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 14

Grado delle associazioni

È il numero di istanze di entità che sono coinvolte in un’istanza dell’associazioneassociazione binaria: grado = 2

associazione ternaria: grado = 3

Persone Lavorano Città

Impiegati Assegnati Progetti

Sedi

Page 15: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 15

Più associazioni tra le stesse entità

È possibile stabilire più associazioni, di diverso significato, tra le stesse entità

Persone Lavorano Città

Risiedono

Page 16: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 16

Associazioni ad anello (1)

Un’associazione ad anello coinvolge più volte la stessa entità, e quindi mette in relazione tra loro le istanze di una stessa entità

Un’associazione ad anello può essere o meno: Simmetrica: (a,b) ∈ A ⇒ (b,a) ∈ A Riflessiva: (a,a) ∈ A Transitiva: (a,b) ∈ A, (b,c) ∈ A ⇒ (a,c) ∈ A

L’associazione Amico è simmetrica, irriflessiva e intransitiva

Persone Amico

Page 17: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 17

Associazioni ad anello (2)

Nelle associazioni ad anello non simmetriche è necessario specificare, per ogni ramo dell’associazione, il relativo ruolo

L’importanza dei ruoli diventerà evidente appena introdurremo i vincoli di cardinalità

Dipendenti Dirige

dirige

diretto

Page 18: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 18

Associazioni ad anello (3)

È possibile avere anelli anche in relazioni n-arie generiche (n > 2)

Il significato di un’istanza (d1,d2,p) è:

il dipendente d1 dirige il dipendente d2 all’interno del progetto p

Dipendenti Dirige

dirige

diretto

Progetti

Page 19: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 19

Un semplice schema E/R (incompleto!)

offrono

Studenti Corsi

Professori

CorsidiLaurea

esami

seguono commissioni docenti

iscritti

propedeutici

base

avanz

Vale la pena osservare che lavorando direttamente con le relazioni a questo punto avremmo solo dei nomi di relazione, SENZA NESSUN LEGAME tra loro!!

Page 20: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 20

Attributi

Un atttributo è una proprietà elementare di un’entità o di un’associazioneGraficamente:

nome, cognome, cod_fiscale sono tutti attributi di Persone

Ogni attributo è definito su un dominio di valoriQuindi un attributo associa ad ogni istanza di entità o associazione un valore del corrispondente dominio

Personenome

cognomecod_fiscale

Page 21: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 21

Entità con attributi e relazioni

Ancora in modo approssimato, un entità con attributi possiamo considerarla “equivalente” a una relazione, di cui ora possiamo definire lo schema

15/02/1978

20/09/1979

13/04/1978

21/06/1978

DataNascita EmailCognome Nome

[email protected]

[email protected]

[email protected]

[email protected]

Matricola

Studenti

nome data nascita

matricola

cognome

emailStudenti

Page 22: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 22

Attributi: dell’entità o dell’associazione?

È importante fare attenzione a dove si specificano gli attributi!

data e voto non sono proprietà né di uno studente né di un corso, ma del legame Studenti-Corsi che si crea in occasione di un esame

Studenti CorsiEsami

voto data

Page 23: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 23

Associazioni con attributi e relazioni

Data un’associazione con attributi, in prima approssimazione possiamo considerarla ancora “equivalente” a una relazione, di cui possiamo definire lo schema solo parzialmente… dobbiamo ancora trovare il modo di mantenere le giuste corrispondenze tra le entità coinvolte

Studenti CorsiEsami

voto data

…Voto Data

20/09/200430

12/06/200326

15/07/200330

12/06/200328

…Esami

Page 24: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 24

Rappresentare un’associazione (1)

“Lo studente Giorgio Bianchi, nato il 21 Giugno 1978, con numero di matricola 29323 ed email [email protected], ha superato con voto 28 il 12 Giugno 2003 l’esame del corso di Analisi, codice 483, tenuto dal Prof. Biondi al primo anno”

Consideriamo il seguente schema, completo di attributi

Sappiamo che un’istanza dell’associazione è la combinazione (aggregazione) di istanze delle entità che vengono associateQuindi, ad esempio:

nome data nascita

matricola

cognome

email Studenti

titolo docente

anno

codcorso

CorsiEsami

voto data

Page 25: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 25

Rappresentare un’associazione (2)

Anticipiamo qualcosa…Osserviamo che CodCorso è la sola chiave di Corsi, e quindi anche chiave primaria, e che Matricola è la chiave primaria di StudentiPossiamo pertanto dire, senza perdita di informazioni, la stessa cosa in modo più compatto:

…e quindi per l’associazione di fatto dobbiamo rappresentare solo:

“Lo studente con numero di matricola 29323 ha superato con voto 28 il 12 Giugno 2003 l’esame del corso con codice 483”

matricola

Studenti

codcorso

CorsiEsami

voto data

Page 26: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 26

Rappresentare un’associazione (3)

matricola

Studenti

codcorso

CorsiEsami

voto data

Esami

913

913

729

483

CodCorsoVoto Data

20/09/20043035467

12/06/20032629323

15/07/20033039654

12/06/20032829323

Matricola

Page 27: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 27

Identificatori

Un identificatore permette l’individuazione univoca delle istanze di un’entità; deve valere anche la minimalità: nessun sottoinsieme proprio dell’identificatore deve a sua volta essere un identificatore

Corrisponde al concetto di chiave del modello relazionalePer definire un identificatore per un’entità E si hanno due possibilità:

Identificatore interno: si usano uno o più attributi di EIdentificatore esterno: si usano altre (una o più) entità, collegate a E da associazioni, più eventuali attributi di E

Talvolta quando l’identificatore usa sia altre entità che attributi propri si parla di identificatore misto

Se il numero di elementi (attributi o entità) che costituiscono l’identificatore è pari a 1 si parla di identificatore semplice, altrimenti l’identificatore è compostoOgni entità deve avere almeno un identificatore, in generale può averne più di uno

Page 28: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 28

Identificatori interni ed esterni

PersoneCF

cognomeidentificatore interno semplice

turno_lab

PCidentificatore interno compostoStudenti

Studenti Iscritti Università

matricola

nome

indirizzo

nome cognome

identificatore esterno composto:una matricola è univocasolo all’interno della stessa Università

Page 29: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 29

Differenze con il modello relazionale (1)

Nel modello relazionale abbiamo, per ogni relazione:Una o più chiaviUna chiave primaria

La chiave primaria viene poi “esportata”, definendo così delle foreign keysQuindi: per definire una foreign key dobbiamo aver prima definito qual èla chiave primaria della relazione che vogliamo referenziare

Se in Esami vogliamo referenziare la primary key di Studentidobbiamo prima scegliere se è Matricola o CodiceFiscale!

VRDMRC79I20B

VRDMRC79I20A

RSSNNA78D13A

BNCGRG78F21A

CodiceFiscale DataNascitaCognome Nome

20/09/1979MarcoVerdi42132

20/09/1979MarcoVerdi39654

13/04/1978AnnaRossi35467

21/06/1978GiorgioBianchi29323

Matricola

Studenti

Page 30: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 30

Differenze con il modello relazionale (2)

Nel modello E/R il “riferimento” di un’associazione a un’entità è esplicito nello schema, anche quando non è stato ancota definito alcun identificatore!

Lo schema mi dice già che ogni istanza di Esami referenzia una specifica istanza di Studenti

Come? A questo livello di dettaglio non è necessario saperlo, lo possiamo stabilire anche dopo!

Studenti Esami

Page 31: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 31

Attributi composti

Sono attributi che si ottengono aggregando altri (sotto-)attributi, i quali presentano una forte affinità nel loro uso e significatovia, n. civico, città e CAP formano l’attributo composto indirizzo

Si noti che se A è composto dagli attributi A1, A2, …, Ancon rispettivi domini D1, D2, …, Dn, allora il dominio di A è il prodotto Cartesiano D = D1 × D2 × … × DnUn attributo non composto viene anche detto semplice

Persone indirizzo

via

cittàn.civico

CAP

Page 32: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 32

Attributi e domini: un esempio

Per l’entità Persone, attributi e i relativi domini sono, ad esempio:nome: stringa(20)cognome: stringa(20)cod_fiscale: stringa(16)data_di_nascita: giorno × mese × annotitolo_di_studio: stringa(50)

dove i domini giorno, mese, ed anno sono:giorno = 1, ..., 31mese = {Gen,Feb,Mar,Apr,Mag,Giu,Lug,Ago,Set,Ott,Nov,Dic}anno = 1900, ..., 2100

Page 33: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 33

Uno schema E/R (ancora incompleto!)

Studenti Corsi

Professori

CorsidiLaurea

esami

seguono commissioni docenti

offrono

iscritti

propedeuticibase

avanz

nomecognomedatan

nome

nomeciclo

data votonome telefono (0,n)

matricola

indirizzo

via città

(1,1)

Page 34: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 34

Vincoli nel modello Entity-Relationship

In ogni schema E/R sono presenti dei vincoli

Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello:

ogni istanza di associazione deve riferirsi ad istanze di entitàistanze diverse della stessa associazione devono riferirsi a differenti combinazioni di istanze delle entità partecipanti all'associazione… ed altri che vedremo

Altri vincoli sono espliciti, e vengono definiti da chi progetta lo schema E/R sulla base della conoscenza della realtà che si sta modellando

vincoli di cardinalità (per associazioni e attributi)vincoli di identificazione

Page 35: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 35

Associazioni: vincoli di cardinalità

Sono coppie di valori (min-card,max-card) associati a ogni entità che partecipa a un’associazione, che specificano il numero minimo e massimo di istanze dell’associazione a cui un’istanza dell’entità può partecipare

Ad esempio, se i vincoli di cardinalità per un’entità E relativamente a un’associazione A sono (1,n) questo significa:

ogni istanza di E partecipa almeno ad una istanza di Amin-card = 1

ogni istanza di E può partecipare a più istanze di A (senza limiti)max-card = n

Graficamente: E A(1,n)

Page 36: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 36

Vincoli di cardinalità: un esempio

min-card(Automobili,Proprietà) = 0: esistono automobili non possedute da alcuna personamax-card(Automobili,Proprietà) = 1: ogni automobile può avere al più un proprietariomin-card(Persone,Proprietà) = 0: esistono persone che non posseggono alcuna automobilemax-card(Persone,Proprietà) = n: ogni persona può essere proprietaria di un numero arbitrario di automobili

Si noti che i vincoli si possono stabilire correttamente solo se è ben chiaro cosa rappresentano le diverse entità (analisi della realtà!)

Persone Proprietà Automobili(0,n) (0,1)

Page 37: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 37

Perché sono importanti?

Anticipiamo qualcosa, traducendo Proprietà…

Un’automobile ha al massimo un proprietarioQuindi non esistono valori ripetuti di Targa in ProprietàQuindi Targa è chiave di Proprietà!

Persone Proprietà Automobili(0,n) (0,1)

codice fiscale targadata acquisto

Proprietà

………

CL 217 HK

CM 415 EF

CT 001 MJ

TargaDataAcquisto

12/06/2003FDLNNR66M45

15/07/2003BLGSTR71B22

12/08/2004BLGSTR71B22

CF

Page 38: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 38

Tipi di associazione: terminologia

Nel caso di un’associazione binaria A tra due entità E1 ed E2 (non necessariamente distinte), si dice che:

A è uno a uno se le cardinalità massime di entrambe le entità rispetto ad A sono 1A è uno a molti se max -card(E1,A) = 1 e max-card(E2,A) = n, o viceversaA è molti a molti se max-card(E1,A) = n e max-card(E2,A) = n

Si dice inoltre che:La partecipazione di E1 in A è opzionale se min-card(E1,A) = 0La partecipazione di E1 in A è obbligatoria (o totale) sese min-card(E1,A) = 1

Page 39: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 39

Tipi di associazione: esempi

Persone Risiedono Città(1,1) (1,n)

Studenti Risiedono Città(1,1) (0,n)

Persone Lavorano Città(0,n) (0,n)

Studenti Esami Corso(0,n) (0,n)

Professori Insegnano Corso(0,n) (0,1)

Page 40: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 40

Associazione n-arie

Quanto visto si estende naturalmente al caso di associazioni di grado > 2

Ogni corso ha da 1 a 3 lezioni settimanaliRagionare sui vincoli è in generale meno immediato che nel caso binario

Ogni corso si tiene in non più di 2 auleNon riguarda gli Orari, quindi non riguarda Lezioni!C’è bisogno di un’associazione specifica tra Corsi e Aule

Aule Lezioni Corsi

Orari

(1,3)

SvoltiIn(1,2)

Page 41: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 41

Vincoli di cardinalità e identificatori esterni

Se E è identificata esternamente attraverso l’associazione A, allora si ha, sempre, min-card(E,A) = max-card(E,A) =1

Se fosse min-card(E,A) = 0 parte dell’identificatore non sarebbe definito!Se fosse max-card(E,A) >1 avrei due coppie (Matricola,NomeUniv) che si riferiscono a uno stesso studente!Se basta E1, tramite A, a identificare E, allora max-card(E1,A) =1; in caso contrario max-card(E1,A) = n (verificare!)

Studenti Iscritti Università

matricola

nome

indirizzo

nome cognome

(1,1) (0,n)

Page 42: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 42

Attributi: vincoli di cardinalità

Anche per gli attributi è possibile specificare il numero minimo e massimo di valori dell’attributo che possono essere associati ad un’istanza della corrispondente associazione o entitàGraficamente si può indicare la coppia (min-card,max-card) sulla linea che congiunge l’attributo all'associazione/entità, o affianco al nome dell’attributo

se non si indica niente il valore di default è (1,1)Si parla di attributi:

opzionali: se la cardinalità minima è 0 (es. n. patente)monovalore: se la cardinalità massima è 1 (es. cod_fiscale)multivalore (o ripetuti): se la cardinalità massima è n (es. telefono)

Personetelefono

n.patentecod_fiscale

(0,n)(0,1)

Page 43: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 43

Esempio con vincoli di cardinalità

Persone Lavorano Città

Risiedono

telefonon.patente

cod_fiscale

(0,n)

(1,1) (1,n)

(0,n)(0,n)(0,1)

data_nascita

nomeCAPregione

nome cognome

(1,n)

Page 44: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 44

Attributi ripetuti e composti

Nel caso di presenza di più attributi multivalore, la creazione di un attributo composto può rendersi necessaria per evitare ambiguitàAd esempio, se una persona ha più indirizzi…

…non si può rappresentarlo così!

Persone indirizzo

via

cittàn.civico

CAP

(1,n)

Persone

via (1,n)

città (1,n)n.civico (1,n)

CAP (1,n)

Page 45: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 45

Uno schema E/R completo!

Studenti Corso

Professori

CorsidiLaurea

esami

seguono commissioni docenti

offrono

iscritti

propedeuticibase

avanz

nomecognomedatan

nome

nomeciclo

data votonome telefono (0,n)

matricola

indirizzo

via città

(1,1)

(1,n)

(0,n)

(1,1)

(0,n) (0,n)

(0,n) (0,n)

(0,n)

(0,n)(3,5)

(1,n)

(1,1)

(1,n)

Page 46: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 46

Astrazione di generalizzazione

Definisce una classe (superclasse) a partire da più classi (sottoclassi)

Le istanze di Automobili sono un sottoinsieme delle istanze di Veicoli, ovvero, ogni automobile è un (is a) veicoloCiò che caratterizza un veicolo caratterizza anche ogni suo sottoinsieme, ovvero ogni sottoclasse eredita dalla superclasse… ma può anche avere caratteristiche proprieLa specializzazione è il processo inverso

Veicoli

Autobus BicicletteAutomobili

Mobili

MobiliUfficio MobiliCasa

Page 47: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 47

Modello E-R: gerarchie di generalizzazione

Un’entità E è una generalizzazione di un gruppo di entità E1, E2, ..., En se ogni istanza di E1, E2, ..., En è anche un’istanza di ELe entità E1, E2, ... En sono dette specializzazioni di EGraficamente:

Le proprietà di E sono ereditate da E1, E2, ..., En: ogni Ei ha gli attributidi E e partecipa alle associazioni definite per E (non vanno quindireplicati nello schema, sarebbe un errore!)Per le gerarchie di generalizzazione va anche specificato il tipo di copertura…

E

E1 E2 En…

Page 48: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 48

Ereditarietà delle proprietà

Gli attributi vanno riferiti all’entità più generica in cui sono presentiobbligatoriamente; analogamente per le associazioni

Quindi così non va bene:

Persone

Studenti Professori

matricola (0,1)

dipartimento (0,1)

nomenome

Iscritte(0,1)(0,n)

CdL

Così sì!

Persone

Studenti Professorimatricola dipartimento

nomeIscritti

(1,1)

(0,n)CdL

Page 49: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 49

Copertura delle generalizzazioni

Le generalizzazioni si caratterizzano per due dimensioni indipendenti

Confronto fra unione delle specializzazioni e classe generalizzatatotale se la classe generalizzata è l’unione delle specializzazioniparziale se la classe generalizzata contiene l’unione delle specializzazioni

Confronto fra le classi specializzateesclusiva se le specializzazioni sono fra loro disgiuntesovrapposta (overlapped) se può esistere una intersezione non vuotafra le specializzazioni

Sono ovviamente possibili le quattro combinazioni(t,e) (p,e) (t,o) (p,o)

Page 50: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 50

Proprietà di copertura - esempi

uominidonne

persone

Totale esclusiva

ingegnerimedici

laureati

Parziale sovrapposta

automoto

veicoli

Parziale esclusiva

Totale sovrapposta

uomini donne

ingegneri

laureati

persone

uomini donne

(t,e)

veicoli

auto moto

(p,e)

laureati

ingegneri

(t,o)

donne uomini

laureati

ingegneri medici

(p,o)

Page 51: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 51

Subset

È un caso particolare di gerarchiain cui si evidenzia una sola classespecializzata

Studenti eredita le proprietà di Persone e in più ha la matricola

Non ha ovviamente senso parlaredi tipo di copertura

Persone

Studentimatricola

data_nascita

nome

Page 52: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 52

Uno schema E/R con gerarchie

Studenti Corsi

Professori

CorsidiLaurea

esami

seguono commissioni docenti

offrono

iscritti

propedeuticibase

avanz

nomecognomedatan

nome

nomeciclo

data votonome telefono (0,n)

matricola

indirizzo

via città

(1,1)

(1,n)

(0,n)

(1,1)

(0,n) (0,n)

(0,n) (0,n)

(0,n)

(0,n)(3,5)

(1,n)

(1,1)

(1,n)

Laureandi relatore(1,1) (0,n)

titolo_tesi

Page 53: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 53

Esercizi

1. (gerarchie) Le persone hanno CF, cognome ed età; gli uomini anche la posizione militare; gli impiegati hanno lo stipendio e possono essere segretari, direttori o progettisti (un progettista può essere anche responsabile di progetto); gli studenti (che non possono essere impiegati) un numero di matricola; esistono persone che non sono né impiegati néstudenti (ma i dettagli non ci interessano)

2. I concetti sinora introdotti per il modello E/R possono essere modellati disegnando uno schema E/R (!?)

Ad esempio:Ogni entità ha almeno un identificatore (interno o esterno)Ogni associazione, in base al suo grado, è collegata a n entitàOgni attributo ha un nome (univoco all’interno dell’entità o associazione cui si riferisce)

…e la stessa cosa si può fare per i concetti del modello relazionale!

Page 54: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 54

Le astrazioni nel modello E/R

Riassumendo quanto visto, nel modello E/R i meccanismi di astrazione sono usati come segue:

Classificazione: usata per definire entità (a partire dalle istanze)attributi (a partire dai valori)

Aggregazione: entità (a partire dagli attributi)associazione (a partire da entità e attributi)attributo composto (a partire da altri attributi)

Generalizzazione: gerarchie di generalizzazione

Page 55: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 55

Riassunto della notazione grafica

Entità

Associazione

Attributo

Attributo composto

Identificatore

Gerarchia di generalizzazione

Subset

Vincoli di cardinalità (min-card,max-card)

Page 56: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 56

Utilità del modello E/R

Uno schema E/R è più espressivo di uno schema relazionale, inoltre può essere utilizzato con successo per alcuni compiti diversi dalla progettazione, ad esempio:Documentazione:

La simbologia grafica del modello E/R può essere facilmente compresa anche dai non “addetti ai lavori”

Reverse engineering:A partire da un DB esistente si può fornirne una descrizione in E/R allo scopo di meglio analizzarlo ed eventualmente reingegnerizzarlo

Integrazione di sistemi:Essendo indipendente dal modello logico dei dati, è possibile usare il modello E/R come “linguaggio comune” in cui rappresentare DB eterogenei, allo scopo di integrarli

Page 57: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 57

Limiti del modello E/R

Per contro, per quanto più espressivo di uno schema relazionale, uno schema E/R non è sufficiente a rappresentare tutti gli aspetti di interesseI limiti sono di due tipi:

i nomi dei vari concetti possono non essere sufficienti per comprenderne il significatonon tutti i vincoli di integrità sono esprimibili in uno schema E/RAd esempio:

per sostenere un esame è necessario avere sostenuto tutti gli esami propedeuticiun laureando deve aver sostenuto almeno tutti gli esami dei primi 2 anni

In fase di progettazione bisogna quindi “corredare” lo schema con una documentazione appropriata e successivamente prendere delle misure per far rispettare tali vincoli…

Page 58: Sistemi Informativi L-B - unibo.it · 2008-12-02 · Studenti Studenti. Modello E/R Sistemi Informativi L-B 8 Astrazione di aggregazione ... 29323 ed email gbianchi@alma.unibo.it,

Modello E/R Sistemi Informativi L-B 58

Riassumiamo:

Il modello E/R è un modello concettuale molto utilizzato per la progettazione di basi di datiEsistono molti dialetti E/R, che spesso si differenziano solo per la notazione grafica adottataI principali costrutti del modello sono l’entità, l’associazione e l’attributo, a cui si aggiungono identificatori, gerarchie e vincoli di cardinalitàL’espressività del modello E/R non è normalmente sufficiente in fase di progettazione, il che comporta la necessità di documentazione di supporto

Va infine ricordato che, come conoscere un linguaggio di programmazione non significa di per sé saper programmare, cosìconoscere il modello E/R non significa saper progettare basi di dati!…ma è comunque un buon punto di partenza :-)