Sei sulla pagina 1di 26

Basi di Dati e Sistemi Informativi

Progettazione Concettuale:
Il modello Entit-Relazioni

Giuseppe Loseto

Corso di Laurea in Ing. Inform. e dellAutom. Ing. Gestionale Magistrale

Introduzione
Sistema Informativo: sistema in grado di gestire informazioni
di interessa in modo strutturato

Basi di Dati (Database): sistema in grado di gestire dati in


modo integrato e flessibile, limitando i rischi di ridondanza e
incoerenza
DBMS (DataBase Management System): sistema software in
grado di gestire collezioni di dati (DB) in modo affidabile e
persistente
Modello dei dati: insieme di elementi utilizzati per organizzare
e strutturare di dati di interesse
modello relazionale, gerarchico, reticolare, NoSQL

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

2 di 26

Metodologia di progetto
Requisiti del DB

Progettazione
Concettuale
Progettazione
Logica
Progettazione
Fisica
Risultato
Progettazione
Giuseppe Loseto

Schema Concettuale

Rappresenta le specifiche informali della realt di


interesse

Nessun riferimento sulle modalit di


codifica/memorizzazione

Schema Logico

Traduzione dello schema concettuale in termini di


modello di rappresentazione dei dati

Si utilizzano tecniche di verifica dello schema logico

Indipendente dai dettagli fisici

Schema Fisico

Specifica i parametri fisici di memorizzazione dei dati

Dipende dal DBMS utilizzato

Progettazione Concettuale: Il modello Entit-Relazioni

3 di 26

Lo 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 implementativi

Come si definisce: tipicamente mediante il modello EntitRelazioni (Entity-Relationship)

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

4 di 26

Primi elementi del Modello E-R


Entit: Una classe di oggetti (astratti o tangibili) della realt
di interesse (mini mondo) distinguibili dagli altri
Attributi: le particolari propriet che caratterizzano ciascuna
entit nel contesto di interesse

NOME
COGNOME

Giuseppe Loseto

MATRICOLA

STUDENTE

Progettazione Concettuale: Il modello Entit-Relazioni

5 di 26

Gli elementi di una entit


Loccorrenza di una entit (1 singolo esemplare della classe)
sar caratterizzata da valori assunti dagli attributi

Nome=Mario
s1

Cognome=Rossi

Matr.=119310

Giuseppe Loseto

Nome=Laura
s2

Cognome=Petrarca

Matr.=507412

Progettazione Concettuale: Il modello Entit-Relazioni

6 di 26

Gli attributi (1/2)

Tipi particolari di attributo:


Civico

CAP

Via

Citt

Indirizzo

Stato

Telefoni

s1

Nome=Mario
Cognome=Rossi

Attributo Composto: suddivisibile in parti pi


piccole che hanno ancora una propria
specificit:
Indirizzo Via, Civico, CAP, Citt, Stato.
Utile quando preveda di riferirmi a singole
parti dellattributo (via e civico).
Attributo Multivalore: pu assumere pi di un
singolo valore per ciascuna occorrenza di una
entit.
Es: Telefoni, titoli_di_studio, sedi

Telefoni=080555333, 03481122345, 0335663452


Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

7 di 26

Gli attributi (2/2)

Attributo derivato: attributo che possibile o conveniente determinare a partire


da altri attributi immagazzinati.
Et
Es.: Et derivabile da data di nascita ( anche conveniente?)

Dominio di un attributo: Linsieme 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) linsieme dei sottoinsiemi 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 lurbanizzazione non completa)

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

8 di 26

La chiave di una entit


Attributi chiave: Come distinguere tra occorrenze di una stessa entit?
Assumiamo lesistenza 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 questo sottoinsieme.

NOME
COGNOME

Giuseppe Loseto

MATRICOLA

STUDENTE

Progettazione Concettuale: Il modello Entit-Relazioni

9 di 26

Note sul vincolo di chiave


La propriet di unicit un vincolo sullo schema dellentit,
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 lentit autovettura.

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

10 di 26

Esempio di chiave (1/2)


Utilizzando una rappresentazione tabellare:

La chiave non deve dipendere


dal particolare stato

Studente
Nome

Cognome

Nome

Cognome

Matricola

Mario

Rossi

Mario

Rossi

119310

Piero

Bianchi

Piero

Bianchi

514222

Fabio

Bianchi

Fabio

Bianchi

125234

Piero

Bianchi

Piero

Bianchi

432541

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

11 di 26

Esempio di chiave (2/2)


La propriet di un attributo di essere chiave dipende dal
contesto:
La Matricola da sola non in grado di
individuare una occorrenza di esami
superati

Esami superati
Corso

Data

Votazione

Matricola

AnalisiI

19/09/99

27

119310

AnalisiI

19/09/00

27

514222

AnalisiII

19/06/00

30

119310

FisicaII

14/07/00

28

119310

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

12 di 26

Relazioni
Relazione: Associazione o legame logico esistente tra due o
pi entit

Impiegato

Giuseppe Loseto

Lavora

Dipartimento

Progettazione Concettuale: Il modello Entit-Relazioni

13 di 26

Grado di una relazione


Grado di una relazione: numero di entit partecipanti

Impiegato

Lavora

Dipartimento

Fornitore

Consegna

Prodotto

Grado=2

Grado=3
Magazzino

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

14 di 26

Relazioni ricorsive
Una entit pu essere in relazione con se stessa. In tal caso si utilizzano
esplicitamente nomi di ruolo per chiarire la partecipazione

Lentit impiegato partecipa alla relazione sovrintende sia nel ruolo di


responsabile che in quello di subordinato

Impiegato

sovrintende

responsabile

Giuseppe Loseto

subordinato

Progettazione Concettuale: Il modello Entit-Relazioni

15 di 26

Vincoli 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 lesistenza di una occorrenza di


entit dipende dal suo essere in relazione con unaltra
occorrenza di entit.

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

16 di 26

Cardinalit
Le cardinalit vengono espresse normalmente come:

E1

E2

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 dellaltra entit.

E1

E2
M:N (molti a molti), vale anche il viceversa della
precedente definizione

E1

E2

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

17 di 26

Partecipazione
Si considerano due tipi di partecipazione: totale e parziale.

Dipartimento

1
controlla

N
Progetto

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.

Linea spessa:
partecipazione
totale

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

18 di 26

Osservazioni sulla notazione


Esistono notazioni alternative per la rappresentazione dei
vincoli.
Si possono rappresentare per ogni entit il numero minimo e
massimo di entit partecipanti.
Se min=0 partecipazione parziale
Se min>0 partecipazione totale
Dipartimento

(0,N)
controlla

(1,1)
Progetto

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

19 di 26

Un esempio di progetto

1.
2.
3.

4.

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:
Lazienda organizzata in dipartimenti. Ogni dipartimento ha un
identificativo e un nome univoco; un impiegato gestisce il dipartimento.
Il dipartimento pu avere pi sedi dislocate sul territorio.
Un dipartimento gestisce un numero variabile di attivit identificabili
univocamente; ciascuna attivit ha inoltre un nome e si svolge in un
unico luogo.
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 dipartimento e pu lavorare su vari progetti, non
necessariamente gestiti dal suo dipartimento.
E necessario inoltre tenere traccia dei famigliari di ciascun dipendente
per motivi fiscali.

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

20 di 26

Schema E-R
del database aziendale
N

Indirizzo Nome

Cognome

lavora
in

Ndip

Nome_Dip

Stip

Data_n

Sedi

Impiegato

CF

Dipartimento

1
dirige

Data_ini

et

sovrintende

1 responsabile sovrintende
N impiegati

1
imparentato

controlla
lavora
su

M
N

Ore_lav

Progetto

Famigliare
CF
Nome Sesso
Giuseppe Loseto

Sede

Nprog
N_data Grado_p

Progettazione Concettuale: Il modello Entit-Relazioni

Nome_Prog

21 di 26

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

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

22 di 26

Relazioni con grado > 2


(Risoluzione)
quantit

Fornitore

Consegna

Prodotto

codProdotto
codFornitore

Magazzino

codMagazzino
quantit

Fornitore

effettua

Consegna

include

Prodotto

codProdotto
codFornitore

viene
effet.

Magazzino

Giuseppe Loseto

codMagazzino

Progettazione Concettuale: Il modello Entit-Relazioni

23 di 26

Gerarchie ISA (1/2)


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

Costo_orario

Contrattista

Giuseppe Loseto

ISA

Stip_annuo

Dipendente

Progettazione Concettuale: Il modello Entit-Relazioni

24 di 26

Gerarchie ISA (2/2)

Generalizzazione totale ogni occorrenza della classe padre una occorrenza di


almeno una delle figlie (in caso contrario si dice parziale)

Generalizzazione esclusiva ogni occorrenza della classe padre al pi una sola


occorrenza di una classe figlia (in caso contrario si dice sovrapposta)

Persona
Parziale e
sovrapposta

Studente

Genitore

ISA

ISA
Lavoratore

Studente
lavoratore
Giuseppe Loseto

Totale ed
esclusiva

Padre

Progettazione Concettuale: Il modello Entit-Relazioni

Madre

25 di 26

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

E comunque necessario procedere a raffinamenti e verifiche


(normalizzazione).

Giuseppe Loseto

Progettazione Concettuale: Il modello Entit-Relazioni

26 di 26