vuoi
o PayPal
tutte le volte che vuoi
Si definisce occorrenza
, ogni oggetto dell’entità. Ad esempio alcune occorrenze per l’entità PERSONA
sono: Mario Rossi, Luca Neri e Alessio Bianchi.
L’attributo - È l’equivalente degli aggettivi qualificativi; descrive alcune proprietà di base dell’entità.
Gli attributi sono tantissimi e variano da entità a entità; non devono essere inseriti tutti quanti ma
solo quelli che sono strettamente in sintonia con ciò che stiamo rappresentando. Nel caso in cui
stiamo progettando una base di dati per l’ufficio anagrafico non ha senso progettare un attributo
come oppure perché l’impiegato comunale non ha alcun interesse a
taglia numero_scarpe
conoscere questi dettagli. Quegli attributi hanno senso in altri contesti.
Sarebbe corretto non inserire lettere accentate né spazi nei nomi degli attributi
L’associazione - Fino ad ora siamo in grado di progettare entità con attributi ma nulla di più, è
necessario trovare un modo per far comunicare le entità che hanno un qualche legame tra loro.
L’associazione serve a descrivere dei legami logici tra le entità
. Si indica con un rombo all’interno del
quale si inserisce un verbo (o meglio, un sostantivo) che descrive l’associazione creata.
Siccome gli studenti sostengono
gli esami dei loro corsi, c’è
questa associazione.
Le associazioni devono essere scovate dal mondo reale. Esistono due tipi principali di associazione:
tra due entità (molto diffusa), tra tre o più entità (relativamente diffusa).
I tre costrutti base - Riassumendo l’entità, l’attributo e l’associazione sono i tre costrutti di base del
Modello E-R senza i quali non si è in grado di progettare uno schema concettuale.
Gli altri costrutti - Il modello contiene altri costrutti che non sono tutti fondamentali: la cardinalità di
attributi e associazioni, l’identificatore e la generalizzazione. Sono stati scritti in ordine decrescente
di importanza.
Cardinalità di associazioni - La cardinalità di un’associazione indica il numero di oggetti di un’entità a
cui un’altra entità può essere associata attraverso l’associazione. Per ogni entità coinvolta
nell’associazione è obbligatorio inserire la cardinalità. Questa si esprime attraverso una coppia di 2
Cenni sul Modello Entità - Relazione di Francesco Fresta
numeri interi dove rappresenta la cardinalità minima mentre la cardinalità massima. È
m n m n
( , )
ovvio che la cardinalità minima non può essere più grande della massima, al limite uguale.
contiene
PERSONA
occorrenze (oggetti) come
“Mario Rossi”, “Luca Verdi” e
“Giulia Bianchi” mentre
ggetti come
CITTÀ o
“Roma”, “Milano” e “Villa San Giovanni”.
Si vuole dare una risposta alle seguenti due domande, “La persona x in quante città risiede?” e “In una
città quante persone possono risiedere?”. Ad esempio, “Mario Rossi” (un oggetto di ha una
PERSONA
)
residenza, più di una o nessuna? “Milano” (un oggetto di ospita più residenti, uno solo o
CITTÀ
)
nessuno?
Per rispondere alla domanda servono le cardinalità delle associazioni; basta riportare le cardinalità in
modo esattamente uguale al modo in cui funzionano le cose nel mondo reale. Si ricorda che una
persona ha una sola residenza, non può averne due.
Si legge sia da sinistra verso destra che al contrario, nel seguente modo: “Una persona può non avere
una residenza ma se ce l’ha è unica” e “in una città possono risiedere zero o più persone”.
Come si può notare le cardinalità sono state inserite solo dopo aver capito come funzionano certi
meccanismi, in questo caso la residenza, nella vita reale.
“Un chirurgo può operare in una o più sale operatorie” e “in una sala operatoria possono operare uno
o più chirurghi”
“Un biglietto prenota uno e un solo posto” e “un posto è prenotato da un solo biglietto”.
Ancora una volta la cardinalità rispecchia le leggi, gli usi e le consuetudini che si applicano nella realtà.
3
Cenni sul Modello Entità - Relazione di Francesco Fresta
Una volta che sono definite le cardinalità, si prendono in considerazione le cardinalità massime di
ogni entità coinvolta nell’associazione. Queste consentono di definire tre diverse tipologie di
associazioni:
Associazione uno a uno perché la cardinalità massima delle entità è 1
● Associazione uno a molti perché la cardinalità massima di una entità è 1 mentre dell’altra è N
● Associazione molti a molti perché entrambe le cardinalità massime valgono N
●
Cardinalità degli attributi - La cardinalità può essere definita allo stesso modo anche sugli attributi,
sempre usando la coppia di valori In realtà la cardinalità anche se non si vede è sempre
m n
( , ).
presente negli attributi, perché se non è specificato si intende che è sempre ovvero è
1 1
( , )
obbligatorio inserire un solo valore.
Valgono le stesse regole delle associazioni. Le varianti più usate sono
indica che l’inserimento del valore è opzionale ma se si inserisce se ne può inserire solo
0 1
● ( , )
uno è possibile immettere almeno un valore o più d’uno. La variante significa che è
1 N 0 N
● ( , ) ( , )
possibile non inserire alcun valore, inserirne uno o più d’uno.
La comodità nell’uso delle cardinalità sugli attributi è data dal fatto che è possibile permettere
all’utente di inserire più valori senza sapere quanti. Se ad esempio si avesse l’attributo
significherebbe che l’utente può inserirne solo uno, e se lui volesse inserirne
numero_telefono
due? Potremmo creare due attributi: e ma se lui
numero_telefono1 numero_telefono2
volesse inserirne tre? Perciò si usa la cardinalità dell’attributo. Specificando la cardinalità
sull’attributo segni_particolari
si consente all’utente di non inserire
alcun valore nel caso in cui non avesse
segni particolari, un valore o più valori.
Identificatore dell’entità - Per ogni entità è obbligatorio trovare un identificatore. L’identificatore in
pratica riprende il concetto di chiave primaria.
La chiave primaria consiste in un attributo, o un insieme di attributi, che da soli permettono di identificare
senza errori né omonimia le singole righe di una tabella
. Ad esempio,
STUDENTI
Matricola Nome Cognome Data_nascita Corso_Laurea
432918 Luca Rossi 14/10/1994 Architettura 4
Cenni sul Modello Entità - Relazione di Francesco Fresta
343019 Mario Bianchi 01/03/1995 Giurisprudenza
342111 Francesco Verdi 31/12/1992 Informatica
455872 Luca Rossi 01/01/1990 Lettere
I valori di quale l’attributo, o insieme di attributi, da soli consentono di identificare le righe della
tabella? Ad esempio, e non costituiscono una chiave primaria valida perché ci sono
Nome Cognome
dei valori ripetuti; Luca Rossi chi? Quale dei due?.
Al contrario e rappresentano una discreta chiave primaria.
Nome Cognome Corso_Laurea
,
Tuttavia in questo caso la chiave primaria, o identificatore, perfetta è la quale nasce
Matricola
proprio per identificare senza possibilità di omonimia gli studenti universitari facenti parte della
stessa Università.
Un’altra chiave primaria abbastanza soddisfacente è e
Nome Cognome Data_nascita
, ,
perché è improbabile, non impossibile, che ci siano due persone con lo stesso nome,
Corso_Laurea
cognome, nate lo stesso giorno ed iscritte allo stesso corso di laurea.
Questo ragionamento si deve applicare quando si sceglie l’identificatore per le entità.
Le entità si identificano in due modi diversi, con un identificatore interno (molto importante) oppure
con un identificatore esterno (meno diffuso). L’identificatore interno riprende fedelmente il concetto di
chiave primaria. Si indica in due modi diversi Nel Modello E-R per creare un
identificatore composto da un
unico attributo, è necessario
annerire l’interno del circoletto
dell’attributo
Esempio di identificatore interno che coinvolge più attributi. Si suppone che e
Nome Cognome
,
bastino da soli a identificare univocamente gli oggetti appartenenti all’entità.
Data_nascita 5
Cenni sul Modello Entità - Relazione di Francesco Fresta
Differenza tra entità e associazione (chiamata anche relazione)
L’entità consente di rappresentare classi di oggetti, persone o cose che appartengono alla realtà e
sono dotate di molte caratteristiche. Alcuni esempi di entità sono: , , ,
PERSONA UOMO DONNA
, , , , ,
DIPARTIMENTO UFFICIO AUTOMOBILE PARCHEGGIO ZONA …
Le si rappresenta come entità perché sono “oggetti” complessi, con molte qualità, caratteristiche e
sfaccettature. Una persona ha infinite caratteristiche, è complessa da definire.
L’associazione, altresì definita relazione, serve invece per mettere in comunicazione delle entità. Crea
dei legami logici tra queste diverse entità. È simile al funzionamento dei verbi nelle lingue: è possibile
formulare frasi bellissime ma se non si utilizzano i verbi, la frase non ha senso e nessuno è in grado di
capirla.
Se l’entità rappresenta persone e cose, l’associazione consente di definire il modo in cui queste
persone e cose (in generale oggetti) funzionano nella realtà.
Cosa lega una persona ad una città? La residenza, il domicilio,