Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

25
Modello E-R 1 Concettuale: Il Concettuale: Il modello Entità- modello Entità- Relazioni Relazioni Eugenio Di Sciascio

Transcript of Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

Page 1: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

Modello E-R1

Progettazione Concettuale: Il Progettazione Concettuale: Il modello Entità-Relazionimodello Entità-Relazioni

Eugenio Di Sciascio

Page 2: Modello E-R 1 Progettazione Concettuale: Il modello 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)

Page 3: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 4: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 5: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 6: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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à

Page 7: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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.

Page 8: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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”.

Page 9: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 10: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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”

Page 11: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

Modello E-R11

RelazioniRelazioni

Relazione: Associazione o legame logico esistente tra due o più entità

Socio CampoPrenota

Page 12: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 13: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 14: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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.

Page 15: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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à

Page 16: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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à.

Page 17: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 18: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 19: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 20: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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)

Page 21: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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.

Page 22: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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à

Page 23: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 24: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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

Page 25: Modello E-R 1 Progettazione Concettuale: Il modello Entità-Relazioni Eugenio Di Sciascio.

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).