Modello E-R1
Progettazione Concettuale: Il Progettazione Concettuale: Il modello Entità-Relazionimodello Entità-Relazioni
Eugenio Di Sciascio
Modello E-R2
Lo schema concettualeLo schema concettuale
Cosa è: una rappresentazione di alto livello dei requisiti sui dati raccolti nello URD.
Cosa contiene: una descrizione dettagliata dei dati, delle relazioni e dei vincoli
Cosa non contiene: dettagli implementativiCome si definisce: tipicamente mediante il
modello Entità – Relazioni (Entity-Relationship)
Modello E-R3
Primi elementi del Modello E-RPrimi elementi del Modello E-R
Entità: Una classe di oggetti (astratti o tangibili) della realtà di interesse (mini mondo) distinguibili dagli altri
STUDENTE
NOME
COGNOME
MATR.
Attributi: le particolari proprietà che caratterizzano ciascuna entità nel contesto di interesse
Modello E-R4
Gli elementi di una entitàGli elementi di una entità L’occorrenza di una entità (1 singolo esemplare della classe) sarà caratterizzata da valori assunti dagli attributi.
s1
Nome=Mario
Cognome=Rossi
Matr.=119310
s2
Nome=Laura
Cognome=Petrarca
Matr.=507412
Modello E-R5
Gli attributiGli attributiTipi particolari di attributo:
• Attributo Composto: è suddivisibile in parti più piccole che hanno ancora una propria specificità.
Es.: Indirizzo Via, Civico, CAP, Città, Stato.
Utile quando preveda di riferirmi a a singole parti dell’attributo (via e civico).
• Attributo Multivalore: può assumere più di un singolo valore per ciascuna occorrenza di una entità.
Es. Telefoni, titoli_di_studio, sedi.
Indirizzo
Civico
ViaCAP
Città
Stato
Telefoni
s1Nome=MarioCognome=Rossi
Telefoni=080555333, 03481122345, 0335663452
Modello E-R6
Gli attributi (cont.d)Gli attributi (cont.d) Ancora sugli attributi:• Attributo derivato: attributo che è possibile o conveniente determinare a
partire da altri attributi immagazzinati.Es.: Età è derivabile da data di nascita (è anche conveniente?).
Il dominio di un attributo: L’insieme dei valori che possono essere assegnati ad un attributo di una entità. Es. età: 16-65, nome: insieme delle stringhe di caratteri .Def.: un attributo A di una entità E il cui insieme di valori è V è definibile come:A : E -> P(V). Dove P(V) è l’insieme dei sottoinisemi di V.
Sui valori nulli: quando per un attributo in un esemplare di entità non sia possibile determinare un valore viene creato il valore Null. Il suo significato può essere duplice: 1-Ignoto; 2- Non applicabile.Es.: 1- Voto_di_maturità=null (non è noto il valore, ma la maturità è stata conseguita).
2- Civico=null (non esiste una numerazione poiché l’urbanizzazione non è completa).
Età
Modello E-R7
La chiave di una entitàLa chiave di una entità Attributi chiave: Come distinguere tra occorrenze di una
stessa entità? Assumiamo l’esistenza di un vincolo di unicità sugli attributi.
Vincolo di chiave: esiste un sottoinsieme di attributi (che può ridursi ad uno) di una entità la cui combinazione di valori è distinta per ciascuna occorrenza di una entità.
Chiamiamo Chiave qs. sottoinsieme.
STUDENTE
NOME
COGNOME
MATR.
Modello E-R8
Note sul vincolo di chiaveNote sul vincolo di chiave
La proprietà di unicità è un vincolo sullo schema dell’entità, non su un particolare insieme di occorrenze di entità. Essa pertanto vale sempre.
La chiave va determinata quindi sulla base delle proprietà del mini mondo che la base di dati rappresenta.
Una entità può avere più di un insieme di attributi che verificano il vincolo di chiave.Es.: Numero di telaio e numero di targa per l’entità “autovettura”.
Modello E-R9
EsempioEsempioUtilizzando una rappresentazione
tabellare:
Studente
Fabio Bianchi
Nome Cognome
Mario Rossi
Piero Bianchi
Piero Bianchi
La chiave non deve dipendere dal particolare “stato”
La chiave non deve dipendere dal particolare “stato”
Nome Cognome
Mario Rossi
Piero Bianchi
Fabio Bianchi
Piero Bianchi
Matr.
119310
514222
125234
432541
Modello E-R10
EsempioEsempio
La proprietà di un attributo di essere chiave dipende dal contesto:
Esami superatiData Votazione
19/09/99 27
19/09/00 27
19/06/00 30
14/07/00 28
Matr.
119310
514222
119310
119310
Corso
AnalisiI
AnalisiI
AnalisiII
FisicaII
La Matricola da sola non è in grado di individuare una
occorrenza di “esami superati”
Modello E-R11
RelazioniRelazioni
Relazione: Associazione o legame logico esistente tra due o più entità
Socio CampoPrenota
Modello E-R12
Grado di una relazioneGrado di una relazione
Grado di una relazione: numero di entità partecipanti
Socio CampoPrenota Grado=2
Fornitore ProdottoFornitura
Beneficiario
Grado=3
Modello E-R13
Relazioni ricorsiveRelazioni ricorsive
Una entità può essere in relazione con se stessa. In tal caso si utilizzano esplicitamente nomi di ruolo per chiarire la partecipazione
• L’entità impiegato partecipa alla relazione sovrintende sia nel ruolo di responsabile che in quello di subordinato.
Impiegato
sovrintenderesponsabile subordinato
Modello E-R14
Un esempio di progettoUn esempio di progetto Vogliamo progettare il modello E-R per un database di una
azienda. Supponiamo di aver raccolto ed analizzato i requisiti in una fase
precedente. I principali requisiti sono qui elencati:1. L’azienda è organizzata in dipartimenti. Ogni dipartimento ha un
identificativo e un nome univoco; un impiegato gestisce il dipartimento. Il dip. Può avere più sedi dislocate sul territorio.
2. Un dipartimento gestisce un numero variabile di attività identificabili univocamente; ciascuna attività ha inoltre un nome e si svolge in un unico luogo.
3. Per ciascun impiegato si desidera tenere traccia di varie informazioni anagrafiche. Si desidera tenere traccia dei rapporti gerarchici del personale. Da un punto di vista organizzativo ciascun impiegato è assegnato ad un dip. Può lavorare su vari progetti, non necessariamente gestiti dal suo dip.
4. E’ necessario inoltre tenere traccia dei famigliari di ciascun dipendente per motivi fiscali.
Modello E-R15
Lo schema E-R del database Lo schema E-R del database aziendaleaziendale
Sedi
Impiegato Dipartimento
Progetto
Famigliare
CF
Data_n
Nome
Cognome
Indirizzo
NdipNome_Dip
NprogNome_Prog
Sede
Nome
SovrintendeResp. Subord. Controlla
Lavora_in
Dirige
imparentatoLavora_su
1 N 1
N
NM
1
N
1N
11
Sesso N_data Grado_p
Stip
Data_ini
Ore_lav
età
Modello E-R16
Vincoli strutturali sulle relazioniVincoli strutturali sulle relazioni
Le relazioni possono avere vincoli che limitano le combinazioni delle entità partecipanti.
I vincoli dipendono dal contesto, cioè dal minimondo che la relazione rappresenta.
1. Cardinalità: specifica il numero di occorrenze di relazione cui le occorrenze di entità possono partecipare.
2. Partecipazione:specifica se l’esistenza di una occorrenza di entità dipende dal suo essere in relazione con un’altra occorrenza di entità.
Modello E-R17
CardinalitàCardinalitàLe cardinalità vengono espresse normalmente come
1:1, 1:N, M:N.1:1(uno a uno), alla relazione partecipa una singola
occorrenza di entità per ciascuna delle 2 entità partecipanti
1:N(uno a molti), alla relazione possono partecipare, per una singola occorrenza di entità di una delle entità partecipanti, svariate occorrenze dell’altra entità.
M:N(molti a molti), vale anche il viceversa della precedente definizione
E1 E2
E1 E2
E2E1
Modello E-R18
Cardinalità:Cardinalità:
Impiegato Dipartimento
Progetto
Famigliare
CF
Data_n
Nome
Cognome
Indirizzo
NdipNome_Dip
NprogNome_Prog
Sede
Nome
SovrintendeResp. Subord. Controlla
Lavora_in
Dirige
imparentatoLavora_su
1 N 1
N
NM
1
N
1N
11
Sesso N_data Grado_p
Stip
Data_ini
Ore_lav
età
1 impiegato dirige 1 dip.
1 Impiegato Lavora in 1 solo Dipartimento
In un Dipartimento possono lavorare svariati impiegati
Ad 1 progetto possono lavorare svariati impiegati
1 impiegato può lavorare su vari progetti
Modello E-R19
PartecipazionePartecipazioneSi considerano due tipi di partecipazione:
totale e parziale.– Partecipazione totale -> dipendenza esistenziale. Ogni
occorrenza di entità partecipa alla relazione
Es.: I requisiti dichiarano che un progetto (una occorrenza della entità Progetto) deve essere gestito da un dipartimento, altrimenti non ha senso che esista.
– Partecipazione parziale -> Una occorrenza di entità può partecipare alla relazione.
Es.: Un impiegato può essere direttore di un dipartimento, ma non necessariamente.
Dipartimento
Progetto
Controlla1
N
Linea spessa: partecipazione
totale
Modello E-R20
Osservazioni sulla notazioneOsservazioni sulla notazione
Esistono notazioni alternative per la rappresentazione dei vincoli.
Si possono rappresentare per ogni entità il numero minimo e massimo di entità partecipanti.
N.b. (min=0 partecipazione parziale, min >0 partecipazione totale).Dipartimento
Progetto
Controlla(0,N)
(1,1)
Modello E-R21
Relazioni con grado > 2Relazioni con grado > 2
Possono esistere relazioni ternarie (>3 molto improbabili).
Molti sistemi reali non consentono di “mappare” relazioni con grado > 2. E’ pertanto necessario rappresentare la relazione ternaria utilizzando relazioni binarie.
Questa operazione però può causare perdita di informazione se non condotta con attenzione.
Modello E-R22
Relazioni con grado > 2 (2)Relazioni con grado > 2 (2)
FornituraFornitore Prodotto
Beneficiario
F_nome Quantità Id_prod
B_nome Fornitore Prodotto
Beneficiario
F_nomeId_prod
B_nome
FornituraFF SP
FB
1 N N 1
N
1
Quantità
Modello E-R23
Gerarchie ISAGerarchie ISA
Rappresentano legami logici tra una entità E (padre) e una o più entità E1, E2, ..,EN (figli). Il padre è più generale dei figli che sono considerabili specializzazioni.ISA : IS-A -> “è un” Es.: Un liceale è uno studente; un universitario è uno studente.
Impiegato
ISA
DipendenteContrattista
Stip_annuoCosto_orario
Modello E-R24
Gerarchie ISA (2)Gerarchie ISA (2) Generalizzazione totale ogni occorrenza della classe padre è
una occorrenza di almeno una delle figlie Generalizzazione esclusiva ogni occorrenza della classe
padre è al più una sola occorrenza di una classe figlia
Persona
ISA
DonnaUomo
Persona
ISA
LavoratoreStudente
Totale ed esclusiva
Parziale e sovrapposta
Studente lavoratore
Modello E-R25
Considerazioni finali sul modello E-RConsiderazioni finali sul modello E-R
Va costruito dopo una adeguata attività di raccolta di requisiti.
Consente una descrizione ad alto livello dei dati. Aiuta a chiarire ulteriormente i requisiti Consente di esplicitare numerosi vincoli E’ soggettivo: numerose scelte sono possibili e vanno
adeguatamente ponderate. Se costruito in modo adeguato consente la mappatura
immediata nel modello logico relazionale. N.b. E’ comunque necessario procedere a raffinamenti e verifiche (normalizzazione).
Top Related