Il 0% ha trovato utile questo documento (0 voti)
3 visualizzazioni6 pagine

Modello Er

Il documento tratta del modello E/R (entità/relazione) per la progettazione di basi di dati, descrivendo la terminologia e i simboli utilizzati, come entità, attributi e relazioni. Viene spiegato come costruire un modello concettuale e come convertirlo in un modello relazionale, evidenziando l'importanza delle chiavi primarie e delle chiavi esterne per collegare le tabelle. Infine, viene fornito un esempio pratico di un museo e delle sue opere d'arte per illustrare la conversione dal modello E/R al modello relazionale.

Caricato da

mardaremirela5
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
3 visualizzazioni6 pagine

Modello Er

Il documento tratta del modello E/R (entità/relazione) per la progettazione di basi di dati, descrivendo la terminologia e i simboli utilizzati, come entità, attributi e relazioni. Viene spiegato come costruire un modello concettuale e come convertirlo in un modello relazionale, evidenziando l'importanza delle chiavi primarie e delle chiavi esterne per collegare le tabelle. Infine, viene fornito un esempio pratico di un museo e delle sue opere d'arte per illustrare la conversione dal modello E/R al modello relazionale.

Caricato da

mardaremirela5
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

SUL MODELLO E/R

APPUNTI PER LA QUINTA D

1. Terminologia e simboli del modello E/R

La costruzione di una base di dati deve essere preceduta da un’attenta pro-


gettazione per definire le caratteristiche fondamentali della realtà che si vuole
automatizzare e gli obiettivi che si vogliono raggiungere, cioè il modello dei dati.
Osservando una realtà possiamo cogliere quali siano gli elementi che la caratteriz-
zano: per esempio in una scuola gli studenti, il personale docente e non docente, le
materie, le prove degli studenti, ecc.
Ognuno di questi elementi costituisce un’entità utile a rappresentare la gestione
automatizzata della realtà osservata.
L’entità possiede poi gli attributi, cioè le proprietà che la identificano e la carat-
terizzano.
Tra le entità si stabiliscono le relazioni o associazioni, cioè i collegamenti tra esse.

Ad esempio, le proprietà dell’entità Studente sono la matricola, il cognome, la


data di svolgimento, la materia a cui si riferisce.
L’entità Prova ha come attributi il voto, la data di svolgimento, la materia a cui si
riferisce.
Per conoscere a quale studente si riferiscono le prove occorre fissare un collegamen-
to, cioè una relazione, tra l’entità Prova e l’entità Studente.

Con la definizione delle entità, degli attributi e delle associazioni si costruisce il


modello concettuale della realtà osservata.
Da questo modello possiamo poi derivare le strutture dati adatte a contenere le
informazioni che si riferiscono alle diverse entità, definendo il modello logico, cioè
l’organizzazione da assegnare all’insieme dei dati. Il modello logico più usato per
costruire i database è il modello relazionale nel quale le informazioni sono orga-
nizzate in tabelle, fatte di righe e di colonne.
Ogni entità diventa una tabella.
1
SUL MODELLO E/R 2

Gli attributi diventano i titoli delle colonne della tabella.


Le righe contengono i dati che si riferiscono a uno specifico esemplare dell’entità.
Ad esempio l’entità Studente diventa una tabella avente nelle colonne la matricola,
il cognome, il nome, la data di nascita, ecc.

Matricola Cognome Nome DataNascita Classe Indirizzo Tel


3928 Russo Sergio 16/03/1998 2A Viale Italia 2 333224455
Studenti 4374 Ferrari Luciano 11/10/1996 3B Via Mazzini 54 335787890
4417 Esposito Maria 22/08/1997 3B Via Verdi 56 338898786
4679 Ferrari Anna 15/10/1996 3C Viale Europa 7 339909897

All’interno di una tabella c’è di solito un campo che assume valori diversi in tutte
le righe: questo campo si chiama chiave primaria (in inglese, primary key) della
tabella perchè identifica in modo univoco ogni riga rispetto a tutte le altre.
Per collegare una tabella ad un’altra tramite una relazione, basta aggiungere alla
seconda tabella la chiave della prima. Questa colonna aggiunta alla seconda tabella
si chiama chiave esterna (in inglese foreign key) perchè consente di collegare tra
loro le tabelle.

Quando è necessario, possiamo collegare le due tabelle e ottenere informazioni da


entrambe le tabelle: per esempio il cognome e il nome dello studente (informazioni
che stanno nella tabella Studenti ) che ha ottenuto il voto 7 nella prova del 21 marzo
(informazioni che si trovano nella tabella Prove).
Il collegamento corretto tra lo studente e le sue prove è garantito dala chiave ester-
na Matricola nella tabella Prove che si collega alla chiave primaria Matricola nella
tabella Studenti.

L’associazione tra due entità E1 e E2 è rappresentata mediante una linea trat-


teggiata dal lato di E1 se ogni istanza di E1 può o meno appartenere alla asso-
ciazione in questione (ad esempio, un lettore può o meno decidere di leggere un
libro). Così la linea tratteggiata (che rappresenta l’opzionalità) indica che pos-
sono esistere istanze di E1 che non sono associate ad alcuna istanza di E2.
SUL MODELLO E/R 3

L’associazione tra due entità E1 e E2 è rappresentata mediante una linea con-


tinua dal lato di E1 se ogni istanza di E1 deve necessariamente appartenere alla
associazione in questione (ad esempio, un comune deve per forza appartenere ad
una regione). Quindi la linea continua (che rappresenta l’obbligatorietà) indica
che tutte le istanze di E1 devono essere associate ad almeno un’istanza di E2.

L’associazione prevede di rappresentare mediante la classica “zampa di gallina”


o tridente il fatto che più esemplari dell’entità E2 sono coinvolte nell’associazione
(ad esempio, un lettore può leggere anche più libri, non necessariamente uno o
zero). La “zampa di gallina” dal lato di E2 indica quindi che, relativamente a
quanto contenuto nel cerchio tratteggiato, per una o più istanze di E1, l’associazione
individua una o più istanze di E2.

Una linea continua (o tratteggiata) all’entità E2 che sia priva della “zampa di
gallina” sta a significare che in quella particolare associazione può essere coinvolta
solo una e una sola istanza di E2 (ad esempio, un comune deve appartenere ad una
e una sola regione, non a più regioni, oppure un auto può essere guidata in un certo
momento solo da un autista e non da più di uno). L’assenza della “zampa di galli-
na” dal lato di E2 indica quindi che, relativamente a quanto contenuto nel cerchio
tratteggiato, per una o più istanze di E1, l’associazione individua una sola istanza
di E2.
SUL MODELLO E/R 4

Di seguito offro una descrizione informale di una situazione reale con tanto di
corrispondente modello concettuale (più precisamente, il modello E/R, acronimo
di entity/relationship) dove ogni entità prevede degli attributi. Tra gli attributi, è
sottolineato l’attributo che funge da chiave primaria.
Esercizio: un museo può contenere più opere d’arte. Un museo prevede un
direttore, di cui va ricordato nome e cognome e titolo. Un museo è caratterizzato
da dimensione, via e città. Ogni direttore proviene da una nazione di cui va ricor-
data una breve descrizione. Ogni museo può ospitare una o più opere d’arte di cui
va ricordato il tipo (scultura, pittura), l’artista (del quale va ricordato la data di
nascita e la data di morte e la nazionalità).

Soluzione:

2. Conversione dal modello E/R al modello relazionale

Prendendo come esempio il modello E/R dell’ultima figura, ecco le regole generali
SUL MODELLO E/R 5

da seguire per convertirlo nel corrispondente modello relazionale:

Una relazione “uno a molti” del modello E/R, ovvero la seguente situazione:

viene convertita nel modello relazionale introducendo tra gli attributi di E2 un


nuovo attributo ref_x che funge da chiave esterna che punta alla chiave primaria
x di E1. Quindi avremo E1(x , A, B, C, ... ) ed E2(y, D, E, F, ... ref_x ) dove da
ref_x va fatta risalire una freccia che punta alla chiave primaria x di E1.
Si agisce esattamente come prima anche in presenza di una relazione “uno a uno”.

Una relazione “molti a molti” del modello E/R, ovvero la seguente situazione:

viene convertita nel modello relazionale introducendo una nuova tabella E1_E2 che
prenderà come chiave primaria ref_x e ref_y dove x e y sono rispettivamente le
chiavi primarie di E1 ed E2. Quindi avremo oltre ad E1(x , A, B, C, ... ) ed E2(y,
D, E, F, ... ) anche una nuova relazione E1_E2(ref_x , ref_y) dove ref_x punta alla
chiave primaria x di E1 mentre ref_y punta alla chiave primaria y di E2. Vanno
pertanto raffigurate due frecce: una che parte da ref_x e arriva su x, l’altra che
parte da ref_y ed arriva su y.

Nell’esempio di cui sopra, quale sarà allora il modello relazionale corrispondente?

Soluzione:

Museo(Nome, Dimensione, Via, Città)

Direttore(Id, Nome, Cognome, Titolo, ref_Nome_museo, ref_Nome_nazione)

Opera_Artistica(Id, Titolo, ref_Nome_museo, ref_Id_artista)


SUL MODELLO E/R 6

Artista(Id, Data_nascita, Data_morte, ref_Nome_nazione)

Nazione(Nome, Descrizione)
Si noti come ho sottolineato ciascuna chiave primaria per ogni relazione.
Ovviamente in blu ho indicato le chiavi esterne. Per completezza si dovrebbe rap-
presentare, per ogni chiave esterna, la freccia che collega quella chiave esterna alla
corrispondente chiave primaria da essa riferita. Così ad esempio si dovrebbe raf-
figurare una freccia che va da ref_Nome_nazione di Artista alla chiave primaria
Nome di Nazione, e così via.

Potrebbero piacerti anche