MODELLO
ENTITÀ - RELAZIONE
ENTITÀ E ATTRIBUTI
DOMINI
RELAZIONI
GENERALIZZAZIONI
IDENTIFICATORI
ENTITA’ DEBOLI
VINCOLI DI CARDINALITA’
MODELLO ENTITA’ - RELAZIONE
Caratteristiche
Modello ad alto livello di astrazione, per la
rappresentazione concettuale dei dati
Proposto da P.P. Chen, anni ‘76
Intuitivo, facile da comprendere, molto diffuso ed
utilizzato per la progettazione di basi di dati
Usato per la progettazione concettuale dei dati,
produzione di schemi Entità-Relazione
Usato come linguaggio di comunicazione tra il
progettista informatico e l’utente del sistema
Fornisce una serie di costrutti e vincoli
atti a descrivere la realtà di interesse in modo
semplice e naturale,
con astrazione dalla particolare organizzazione
logica e fisica dei dati richiesta dal DBMS
MODELLO ENTITA’ - RELAZIONE
Costrutti e loro rappresentazione grafica
Entità
Relazione
Attributo
Attributo composto
Cardinalità relazione
Cardinalità attributo
(n,m)
(n,m)
(n,m)
Identificatore interno
Identificatore esterno
( P,E )
Generalizzazione
MODELLO ENTITA’ - RELAZIONE
Costrutto Entità
 Entità come istanza ( Entity )
rappresenta un oggetto della realtà che, ai fini
dell’applicazione di interesse,
•
ha una propria identità :
è distinguibile da altri oggetti indipendentemente
dai valori dei propri attributi
•
ha una esistenza fisica, es: PERSONA, AULA
oppure
•
ha una esistenza concettuale, es: ESAME,
CORSO
 Entità come tipo ( Entity Type )
esprime il l’idea astratta dell’oggetto che si vuol
rappresentare e che viene descritto dal Nome e
dagli Attributi , aspetto intensionale della
rappresentazione
 Entità come classe ( Entity Set )
insieme delle entità, istanze, dello stesso tipo,
aspetto estensionale della rappresentazione
MODELLO ENTITA’ - RELAZIONE
Costrutti Attributo e Dominio
 Attributi
descrivono proprietà elementari di Entità e Relazioni
di interesse ai fini dell’applicazione
es: Nome, Età, Indirizzo di STUDENTE
 Domini
ogni attributo associa a ciascuna istanza di entità, o
di relazione, un valore appartenente ad un insieme
predefinito di valori ammissibili, detto dominio
dell’attributo
es: l’insieme delle stringhe di 15 caratteri
per l’attributo Nome dell’entità STUDENTE
es: gli interi compresi tra 18 e 65
per l’attributo Età dell’entità STUDENTE
La gran parte dei dati memorizzati in una base di
dati è costituita dai valori degli attributi delle entità in
essa rappresentate
MODELLO ENTITA’ - RELAZIONE
Tipologia degli Attributi
Semplice
-
Composto
Scalare
-
Multivalore
Derivato
-
Memorizzato
 Semplice
non scomponibile in componenti più elementari
 Nome, Età
di STUDENTE
 Composto
costituito da più componenti ciascuna
rappresentabile con un attributo semplice avente un
significato proprio ed indipendente
 Data formata da
Giorno, Mese, Anno
 Indirizzo formato da Numero, Via, Città
 Multivalore
associa ad ogni istanza di una entità un insieme di
valori
 NumTel di
PERSONA con più numeri di telefono
{ tel-casa, tel-ufficio, . . . }
 Autore di LIBRO con più autori
{ Elmasri, Navathe }
MODELLO ENTITA’ - RELAZIONE
Tipologia e Cardinalità degli Attributi
 Memorizzato
attributo i cui valori sono presenti, effettivamente
memorizzati, nella base di dati
 Derivato
attributo i cui valori, non presenti nella base di dati,
sono calcolati a partire da valori di attributi
memorizzati
 Età
derivato da Data-Nascita
 Numero-Studenti di un CORSO derivato
dalla relazione tra STUDENTE e CORSO
 Cardinalità degli attributi
specifica il numero minimo e massimo di valori
dell’attributo associati a ciascuna istanza di entità
STUDENTE
Nome (1,1)
Esami (0,23)
Patente (0,1)
MODELLO ENTITA’ - RELAZIONE
Valori Nulli
 Valore Nullo
è un particolare valore polimorfo (appartiene a più
Tipi ) che indica assenza di informazione
Può significare
 che all’attributo non è possibile assegnare un
valore
 Cognome da nubile di IMPIEGATO maschio
 che, per il momento, non si conosce il valore da
assegnare all’attributo
 Matricola di STUDENTE trasferito
 che non si sa se è possibile o meno applicare
un valore : non si sa se il valore esiste o, in
caso affermativo, non lo si conosce
MODELLO ENTITA’ - RELAZIONE
Valori Nulli
Il comitato ANSI ha individuato e fissato ben 14
diversi significati di valore NULLO
1. Non Applicabile
2. Applicabile, al momento Ignoto
3. Esistente, ma Riservato
4. Esistente, Non Disponibile
. . . . . . . . . . . . .
8. Disponibile, in Aggiornamento
9. Disponibile, di Validità Incerta
10. Disponibile, Non Valido
. . . . . . . . . . . . .
14. Derivato da Valori Nulli
MODELLO ENTITA’ - RELAZIONE
Costrutto Relazione
 Relazione
definisce una corrispondenza tra le istanze di due o più entità
rappresenta un legame, significativo per l’applicazione, tra due o più
entità
modella fatti significativi della realtà che mettono in relazione le istanze
di due o più entità
STUDENTE
ESAME
CORSO
DOCENTE
TIENE
CORSO
PERSONA
RISIEDE
CITTA'
MODELLO ENTITA’ - RELAZIONE
Definizione formale di Relazione
 Definizione
una relazione R è un sottoinsieme del prodotto cartesiano delle entità,
insiemi Ei , partecipanti alla relazione:
R  E1  E 2  ... E n
 Istanza
una istanza della relazione R è una ennupla ordinata di istanze ei
appartenenti alle Entità (insiemi) Ei coinvolte nella relazione
 e1 , ..., e n  | e1  E1  e2  E 2 , ..., e n  E n 
 Dalla definizione di relazione del modello E-R consegue che una
relazione non ammette ennuple ripetute
Ad esempio, la relazione ESAME non è in grado di descrivere il fatto
che un certo studente ha ripetuto più volte lo stesso esame
STUDENTE
ESAME
CORSO
MODELLO ENTITA’ - RELAZIONE
Costrutto Relazione
STUDENTE
SEGUE
CORSO
 Livello intesionale della relazione SEGUE :
descrizione del legame logico esistente tra le entità STUDENTE e
CORSO
( s1,c1)
s1
( s1,c3)
c1
s2
( s2,c1)
c2
s3
( s3,c2)
c3
( s2,c2)
 Livello estensionale della relazione SEGUE :
insieme delle istanze della relazione: coppie ordinate formate da
uno specifico STUDENTE e uno specifico CORSO
MODELLO ENTITA’ - RELAZIONE
Grado di una Relazione
 Grado
il grado di una relazione è determinato dal numero di entita partecipanti
alla relazione
STUDIA
CITTA'
STUDENTE
RISIEDE
 due relazioni binarie tra le entità STUDENTE e CITTA’
STUDENTE
ESAME
CORSO
DOCENTE
una relazione ternaria tra STUDENTE, DOCENTE e CORSO
MODELLO ENTITA’ - RELAZIONE
Relazioni ricorsive
 Relazione ricorsiva
una relazione si dice ricorsiva se sussiste tra una entità e se stessa: se
associa coppie di istanze appartenenti alla stessa entità
AMICIZIA
PERSONA
ricorsiva simmetrica
PARENTELA
Padre
PERSONA
Figlio
ricorsiva asimmetrica
 in questo caso è necessario indicare il ruolo svolto dall’entità nella
relazione
MODELLO ENTITA’ - RELAZIONE
Identificatore di Entità
 Identificatore
di una entità specifica l’attributo(i) e/o le entità che permettono di
identificare in maniera univoca ciascuna singola istanza dell’entità
 Identificatore interno
se è costituito da uno o più attributi della entità stessa; per l’identificazione
delle istanze non sono necessari attributi e/o entità esterne
DOCENTE
Nome
Cognome
DataNascita
Indizzo
Nome
CITTA'
Sindaco
NumAbitanti
MODELLO ENTITA’ - RELAZIONE
Identificatore esterno di Entità
 Identificatore esterno (entità debole)
quando gli attributi di una entità, detta entità debole, non sono sufficienti
ad identificare le sue istanze;
per l’identificazione delle istanze è necessario ricorrere ad una o più altre
entità, dette entità forti
Nome
Numero
ORDINE
Data
Tot-Importo
EDIFICIO
PARTE
PARTE
Nome
Articolo
DETTAGLIO
Via
NumCivico
Descrizione
Quantità
AULA
NumPosti
Attrezzata
 la relazione tra entità debole ed entità forte e sempre una relazione
binaria, con cardinalità (1,1) dal lato dell’entità debole
 una identificazione esterna può coinvolgere entità a loro volta
identificache esternamente, purchè non si formino dei cicli di
identificazione
MODELLO ENTITA’ - RELAZIONE
Esempio di entità debole
 Una operazione bancaria di versamento/prelievo su/da un conto
corrente NON può avere una esistenza autonoma : l’operazione deve
essere rifarita al conto corrente su cui veine effettuata
Nome
CLIENTE
Indirizzo
Cod-Fiscale
(1,N)
FIRMA
Data
(1,N)
Numero
CONT.COR
Saldo
(1,N)
EFF.SU
(1,1)
Numero
OPERAZ
Data
Importo
MODELLO ENTITA’ - RELAZIONE
Vincoli di Cardinalità
 Cardinalità delle relazioni
sono specificati per ogni entità partecipante ad una relazione
indicano il numero minimo e massimo di istanze della relazione a cui le
istanze delle entità coinvolte possono partecipare
 modellano particolari situazioni della realtà
( 1, 3 )
DOCENTE
( 1, 2 )
TIENE
CORSO
 dal lato DOCENTE : ogni DOCENTE deve tenere almeno 1 corso ,
può tener al più 3 corsi
 dal lato CORSO : ogni CORSO deve essere tenuto da almeno un
docente, al più da due docenti
 Obbligatorietà / Opzionalità
cardinalità minima zero significa che la partecipa-zione di una entità alla
relazione è opzionale
cardinalità minima uno significa che la partecipa-zione di una entità alla
relazione è obbligatoria
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
 Corrispondenza uno-a-uno (1 :1)
– obbligata ( totale ) dal lato DOCENTE
– obbligata ( totale ) dal lato CORSO
 Situazione ipotizzata:
– ogni DOCENTE deve tenere un solo CORSO
– ogni CORSO è tenuto da un solo DOCENTE
(1,1)
DOCENTE
(1,1)
TIENE
CORSO
D1
C1
D2
C2
D3
C3
D4
C4
D5
C5
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
 Corrispondenza uno-a-molti (1:N)
– opzionale ( parziale ) dal lato DOCENTE
– obbligata ( totale ) dal lato CORSO
 Situazione ipotizzata:
– un DOCENTE può tenere nessuno o più CORSI
– un CORSO deve essere tenuto da un solo
DOCENTE
(0,N)
DOCENTE
(1,1)
TIENE
CORSO
D1
C1
D2
C2
D3
C3
D4
C4
D5
C5
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
 Corrispondenza molti-a-uno ( N:1 )
– obbligata ( totale ) dal lato DOCENTE
– parziale ( opzionale ) dal lato CORSO
 Situazione ipotizzata:
– ogni DOCENTE deve tenere un solo corso CORSO
– un CORSO può essere tenuto da più DOCENTI o da
nessun docente ( alcuni corsi non sono attivati )
(1,1)
DOCENTE
(0,N)
TIENE
CORSO
D1
C1
D2
C2
D3
C3
D4
C4
D5
C5
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
 Corrispondenza molti-a-molti ( N:M )
– obbigata ( totale ) dal lato DOCENTE
– obbligata ( totale ) dal lato CORSO
 Situazione ipotizzata:
– ogni DOCENTE deve tenere almeno un CORSO
– ogni CORSO è tenuto da almeno un DOCENTE
(1,N)
DOCENTE
(1,N)
TIENE
CORSO
D1
C1
D2
C2
D3
C3
D4
C4
D5
C5
MODELLO ENTITA’ - RELAZIONE
Esempio di Relazione Ternaria
 Un FORNITORE fornisce :
una data PARTE
per un dato PRODOTTO
in una data Quantità
Quantità
FORN.RE
F.SCE
PRODOTTO
PARTE
F1
F2
1
2
A1
3
A2
P1
4
P2
5
P3
A3
MODELLO ENTITA’ - RELAZIONE
Relazioni Ternarie e Binarie
 Una relazione ternaria non è in generale rappresenta-bile mediante tre
distinte relazioni binarie
FORN.RE
F_ A
ARTICOLO
F_P
PARTE
P_ A
F1
A1
F2
A2
A3
P1
P2
P3
MODELLO ENTITA’ - RELAZIONE
Relazioni Ternarie e Binarie
 Una relazione ternaria non è in generale rappresentabile mediante tre relazioni binarie
 I tre fatti ( istanze delle tre relazioni binarie ) :
< f1, p1 >
(< f1, p1 ,? >) :
il FORNITORE f1 fornisce la
PARTE p1 per un qualche ARTICOLO
< p1, a2 > (< ?, p1, a2>) : un qualche FORNITORE
fornisce la PARTE p1 per l’ARTICOLO a2
< f1, a2 >
(< f1, ? , a2 >) : il FORNITORE f1 fornisce
una qualche PARTE per l’ ARTICOLO a2
 non implicano necessariamente il fatto ( istanza
della relazione ternaria ) :
< f1, p1, a2 > : il FORNITORE f1 fornisce la PARTE p1
per l’ARTICOLO a2
 mentre vale l’implicazione inversa
 le tre distinte relazioni binarie non ci dicono: quale
fornitore quale parte ha fornito per un dato articolo
 la relazione ternaria contiene più informazione
delle tre relazioni binarie con cui si pensa poterla
rappre-sentare o sostituirla
MODELLO ENTITA’ - RELAZIONE
Relazioni Ternarie e Binarie
D_S
DOCENTE
D_C_S
SEMESTRE
D_C
CORSO
C_S
 Le tre distinte relazioni binarie non dicono ciò che dice la relazione
ternaria:
in quale semestre un determinato docente tiene un dato corso
MODELLO ENTITA’ - RELAZIONE
Relazioni Ternarie e Binarie
 Come rappresentare una relazione ternaria mediante tre distinte
relazioni binarie
FORN.RE
ARTICOLO
Quantità
F_ F
F_ P_ A
A_ F
P_ F
PARTE
 la relazione ternaria può essere rappresentata con :
una entita debole senza identificatore interno
più tre relazioni binarie identificanti
 una istanza dell’entità debole (rappresentante una istanza della relazione
ternaria ) è identificata dalla combinazione delle istanze delle tre entità
dominanti
MODELLO ENTITA’ - RELAZIONE
Generalizzazione
 Generalizzazione - è un meccanismo di astrazione che consente di
specificare una classe ( superclasse ) come generalizzazione di altre classi (
sottoclassi ) considerando le proprità (attributi e relazioni ) che esse hanno
in comune
PERSONA
AVVOCATO
INGEGNERE
STUDENTE
 l’insieme delle entità PERSONA è costituito da sottogruppi ( ovvacati,
ingegneri, studenti ) :
– che sono significativi ai fini dell’applicazione
– e che, perciò, debbono essere rappresentati in modo esplicito
 tra l’entità padre e le entità figlie esiste una relazione del genere tiposottotipo, detta relazione ISA :
 uno STUDENTE è-una PERSONA
 Studente ha tutte le caratteristiche di Persona più altre caratteristiche che lo
specializzano in quanto studente
MODELLO ENTITA’ - RELAZIONE
Generalizzazione
 una istanza di una sottoclasse è anche istanza della superclasse e
rappresenta la stessa entità-reale
viceversa, non tutte le entità della superclasse sono necessariamente anche
istanze di una delle sottoclassi
CodFiscale
Nome
PERSONA
CITTA'
RISIEDE
DOCENTE
TECNICO
STUDENTE
Materia
Qualifica
NumMat
CITTA'
ISCRITTO
PERSONA
e1
e2
e3
e4
e5
e6
e7
DOCENTE
TECNICO
STUDENTE
e1
e2
e3
e5
e6
e4
e7
MODELLO ENTITA’ - RELAZIONE
Generalizzazione
 Ereditarietà
una entità che è istanza di una sottoclasse eredita tutte le proprietà ( attributi
e relazioni ) della superclasse
 Motivazione all’uso di gerarchie di generalizzazione nel modellare i dati
il motivo principale che rende opportuno e necessario l’uso di superclassi e
sottoclassi è che certi attributi sono applicabili ad alcune ma non a tutte le
istanze di una entità ( della superclasse )
 Vincoli sulle Generalizzazioni
le generalizzazioni sono caratterizzate da due tipi di vincoli, tra loro
ortogonali :
totale - se ogni istanza della superclasse è istanza di almeno una delle
sottoclassi,
parziale - altrimenti
esclusiva - se ogni istanza della superclasse è istanza di al più una sola
delle sottoclassi,
sovrapposta - altrimenti
MODELLO ENTITA’ - RELAZIONE
Esempio di Generalizzazione
Totale ed Esclusiva
PERSONA
( T,E )
UOMO
DONNA
PERSONA
DONNA
UOMO
MODELLO ENTITA’ - RELAZIONE
Esempio di Generalizzazione
Parziale e Sovrapposta
PERSONA
( P,S )
LAVORATORE
SUDENTE
PERSONA
STUDENTE
LAVORATORE
MODELLO ENTITA’ - RELAZIONE
Esempio di Generalizzazione
Parziale ed Esclusiva
PERSONA
( P,E )
DOCENTE
SUDENTE
PERSONA
STUDENTE
DOCENTE
MODELLO ENTITA’ - RELAZIONE
Esempio
Descrizione del modello E-R con il modello E-R
COSTRUTTO
Card.Max
Card.Min
Nome
GENERALIZZA
ZIONE
Nome
COSTRUTTO
BASE
ATTRIBUTO
( 1 ,1 )
(0,N)
PADRE
APPARTENENZA
(0,N)
(1,N)
(0,N)
FIGLIA
( 1 ,1 )
ENTITA’
RELAZIONE
(0,N)
(1,N)
PARTECIPAZIONE
Card.Min
Card.Max
MODELLO ENTITA’ - RELAZIONE
Esempio
Descrizione del modello E-R con il modello E-R
 Lettura dello schema :
 una ENTITA’ può partecipare a zero o a più RELAZIONI e una REALZIONE può
coinvolgere una (nel caso di relazione ricorsiva) o più ENTITA’
 la partecipazione di una entità ad una relazione ha una CARDINALITA’
minima e massima
 un ATTRIBUTO ha un nome, una cardinalità minima e massima, ed è
associato ad un concetto base
 una GENERALIZZAZIONE ha una sola entità PADRE e una o più entità FIGLIE
 una ENTITA può essere PADRE e FIGLIA di diverse generalizzazioni, o anche di
nessuna
 un COSTRUTTO BASE è identificato univocamente dal suo NOME
 un ATTRIBUTO è identificato dal suo NOME e dal COSTRUTTO BASE a cui è
associato
 nello schema i vincoli di CARDINALITA’ delle relazioni sono stati
rappresentati come attributi
 non tutte le caratteristiche del modello E-R sono state rappresentate nello
schema