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
Scarica

Modello Entità