m odello e ntitÀ - r elazione l entitÀ e attributi l domini l relazioni l generalizzazioni l...
TRANSCRIPT
MODELLO
ENTITÀ - RELAZIONE
ENTITÀ E ATTRIBUTI
DOMINI
RELAZIONI
GENERALIZZAZIONI
IDENTIFICATORI
ENTITA’ DEBOLI
VINCOLI DI CARDINALITA’
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
Caratteristiche
MODELLO ENTITA’ - RELAZIONE
Costrutti e loro rappresentazione grafica
(n,m) (n,m)
(n,m)
( P,E )
Entità
Relazione
Attributo
Attributo composto
Cardinalità relazione
Identificatore interno
Cardinalità attributo
Identificatore esterno
Generalizzazione
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
Costrutto Entità
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
Costrutti Attributo e Dominio
Semplice non scomponibile in componenti più elementari
Nome, Età di STUDENTE
Semplice - Composto
Scalare - Multivalore
Derivato - Memorizzato
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 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à
(1,1)
STUDENTE
NomeEsami
Patente(0,23)
(0,1)
MODELLO ENTITA’ - RELAZIONE
Tipologia e Cardinalità degli Attributi
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
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
Il comitato ANSI ha individuato e fissato ben 14 diversi significati di valore NULLO
MODELLO ENTITA’ - RELAZIONE
Valori Nulli
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à
CORSOESAMESTUDENTE
CORSOTIENEDOCENTE
CITTA'RISIEDEPERSONA
MODELLO ENTITA’ - RELAZIONE
Costrutto Relazione
Definizione una relazione R è un sottoinsieme del
prodotto cartesiano delle entità, insiemi Ei , partecipanti alla relazione:
Istanza una istanza della relazione R è una ennupla
ordinata di istanze ei appartenenti alle Entità (insiemi) Ei coinvolte nella relazione
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
CORSOESAMESTUDENTE
MODELLO ENTITA’ - RELAZIONE
Definizione formale di Relazione
s1
s2
s3
c1
c3
( s1 ,c1 )
( s1 ,c3 )
( s2 ,c1 )
( s3 ,c2 )
( s2 ,c2 )
c2
Livello intesionale della relazione SEGUE : descrizione del legame logico esistente tra
le entità STUDENTE e CORSO
Livello estensionale della relazione SEGUE :
insieme delle istanze della relazione: coppie ordinate formate da uno specifico STUDENTE e uno specifico CORSO
STUDENTE SEGUE CORSO
MODELLO ENTITA’ - RELAZIONE
Costrutto Relazione
Grado il grado di una relazione è determinato dal
numero di entita partecipanti alla relazione
CITTA'
RISIEDE
STUDENTE
STUDIA
due relazioni binarie tra le entità STUDENTE e CITTA’
CORSOESAMESTUDENTE
DOCENTE
una relazione ternaria tra STUDENTE, DOCENTE e CORSO
MODELLO ENTITA’ - RELAZIONE
Grado di una Relazione
Relazione ricorsiva una relazione si dice ricorsiva se sussiste tra
una entità e se stessa: se associa coppie di istanze appartenenti alla stessa entità
PERSONA
AMICIZIA
PERSONA
PARENTELA
Padre Figlio
ricorsiva simmetrica
ricorsiva asimmetrica
in questo caso è necessario indicare il ruolo svolto dall’entità nella relazione
MODELLO ENTITA’ - RELAZIONE
Relazioni ricorsive
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
DOCENTEDataNascitaCognome
Indizzo
Nome
CITTA'
Nome
Sindaco
NumAbitanti
MODELLO ENTITA’ - RELAZIONE
Identificatore 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
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
AULA
PARTE
EDIFICIO
Nome
ViaNumCivico
NumPosti
Nome
Attrezzata
DETTAGLIO
PARTE
ORDINE
Numero
DataTot-Importo
Descrizione
Articolo
Quantità
MODELLO ENTITA’ - RELAZIONE
Identificatore esterno di Entità
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
(1,N)
CLIENTE
FIRMA
Cod-Fiscale
Indirizzo
Data
(1,N)
(1,N)
CONT.COR
(1,1)
OPERAZ
Numero
Saldo
Numero
Data
Importo
EFF.SU
MODELLO ENTITA’ - RELAZIONE
Esempio di entità debole
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à
DOCENTE TIENE CORSO( 1, 3 )
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
Vincoli di Cardinalità
( 1, 2 )
TIENEDOCENTE CORSO(1,1)(1,1)
D1 C1
D2
D3
D4
D5
C2
C3
C4
C5
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
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
TIENEDOCENTE CORSO(1,1)(0,N)
D1 C1
D2
D3
D4
D5
C2
C3
C4
C5
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
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
TIENEDOCENTE CORSO(0,N)(1,1)
D1 C1
D2
D3
D4
D5
C2
C3
C4
C5
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 )
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
TIENEDOCENTE CORSO(1,N)(1,N)
D1 C1
D2
D3
D4
D5
C2
C3
C4
C5
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
MODELLO ENTITA’ - RELAZIONE
Esempio di Cardinalità
F.SCEFORN.RE PRODOTTO
PARTE
Quantità
F1
F 2
P1
P2
P3
1
2
3
4
5
A 1
A 2
A 3
Un FORNITORE fornisce :una data PARTE per un dato PRODOTTO in una data Quantità
MODELLO ENTITA’ - RELAZIONE
Esempio di Relazione Ternaria
F_ AFORN.RE ARTICOLO
PARTE
F1
F 2
P2
A1
A2
A3
P3P1
Una relazione ternaria non è in generale rappresenta-bile mediante tre distinte relazioni binarie
MODELLO ENTITA’ - RELAZIONE
Relazioni Ternarie e Binarie
F_P P_ A
Una relazione ternaria non è in generale rappre-sentabile 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_C_SDOCENTE SEMESTRE
CORSO
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
D_C C_S
D_S
ARTICOLO
A _ F
Come rappresentare una relazione ternaria mediante tre distinte relazioni binarie
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
Relazioni Ternarie e Binarie
PARTE
FORN.RE
F_ P_ AF_ F
P_ F
Quantità
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 tipo-sottotipo, 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
PERSONA
DOCENTE TECNICO STUDENTE
NomeCodFiscale
RISIEDE CITTA'
NumMatQualificaMateria
CITTA'ISCRITTO
e7e3 e4
e1 e2 e3 e4 e5 e6 e7
PERSONA
DOCENTE TECNICO STUDENTE
e1 e5 e6e2
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 )
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
Vincoli sulle Generalizzazioni le generalizzazioni sono caratterizzate da due
tipi di vincoli, tra loro ortogonali :
MODELLO ENTITA’ - RELAZIONE
Generalizzazione
PERSONA
UOMO
DONNA
PERSONA
UOMO DONNA
( T,E )
MODELLO ENTITA’ - RELAZIONE
Esempio di Generalizzazione
Totale ed Esclusiva
PERSONA
SUDENTE LAVORATORE
( P,S )
PERSONA
LAVORATORE
STUDENTE
MODELLO ENTITA’ - RELAZIONE
Esempio di Generalizzazione
Parziale e Sovrapposta
PERSONA
SUDENTE DOCENTE
( P,E )
PERSONA
STUDENTE
DOCENTE
MODELLO ENTITA’ - RELAZIONE
Esempio di Generalizzazione
Parziale ed Esclusiva
MODELLO ENTITA’ - RELAZIONE
Esempio
Descrizione del modello E-R con il modello E-R
Nome
APPARTENENZA
GENERALIZZAZIONE
COSTRUTTOBASE
COSTRUTTO
ENTITA’ RELAZIONE
( 1 ,1 )( 0 , N )
PARTECIPAZIONE
Card.Max
Nome
Card.Min
Card.MaxCard.Min
( 1 ,1 )
( 1 , N )
PADRE
FIGLIA
( 0 , N )
( 0 , N ) ( 0 , N ) ( 1 , N )
ATTRIBUTO
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