Proseguiamo la creazione della nostra idea in un progetto software vero e proprio, andando ad analizzare il punto 2 dei 4 passi fondamentali per la progettazione di un database.
In questo secondo passo spiegherò Il Modello Entità-Associazione (dall’inglese Entity-Relationship, da cui la sigla ER), il quale permette di trasformare la nostra idea in un diagramma di flusso, base per la realizzazione del nostro.
Questo modello ci permetterà di evidenziare quali sono le entità necessarie del DB (Database) e quali sono le associazioni fra di esse.
Ma cosa sono le entità e cosa sono le associazioni?
- Gli attributi sono le sue proprietà.
Per meglio dire un’entità è la descrizione di un insieme di oggetti che condividono gli stessi attributi.
Nel precedente articolo abbiamo cominciato un esempio che vorrei utilizzare anche nel proseguo di questo mini corso iniziale. L’esempio è relativo ad un negozio di vendita e noleggio DVD e CD.
Consideriamo un film ed una persona, queste sono entrambe due entità, le quali saranno legate nel caso in cui la persona ha fatto parte del cast del film, in un qualunque suo possibile impiego.
Gli attributi per il film possono essere: nome, data di realizzazione, genere, trama e le lingue in cui è stato tradotto il film.
Mentre quelli della persona sono: il nome, il cognome, data di nascita e biografia.
Le associazioni tra le varie entità sono i legami che uniscono le entità. Si noti che anche le associazioni possono avere attributi.
Tra le due entità film e persona vi è un’associazione che descrive il fatto che una persona ha partecipato alla realizzazione di un film. Il ruolo avuto nella realizzazione del film, sia esso quello di regista, protagonista, attore secondario o altro, è un attributo dell’associazione.
Nel diagramma ER le entità vengono indicate con dei rettangoli mentre le associazioni con dei rombi collegati alle entità interessate dall’associazione. Gli attributi invece vengono indicati all’interno di ellissi collegate all’entità o all’associazione cui appartengono.
L’associazione tra le due entità la chiamiamo ad esempio “cast”, e indica che una persona ha partecipato alla realizzazione di uno o più film ovvero che un film è stato realizzato da una o più persone. Il diagramma ER corrispondente è:
La M e quella N vicino all’entità film e all’entità persona indica qual è la sua cardinalità, cioè quante volte può esserci nell’associazione. Nel nostro esempio lo si fa facendosi due semplici domande:
- un film quante persone può annoverare nel suo cast? La risposta è N (ovvero più di una).
Anche nel caso in cui una persona svolga più ruoli all’interno del cast del film, si useranno più associazioni “cast”. Ad esempio se una persona è sia regista che attore, verrà inserito una sola volta tra le persone, ma ci saranno due associazioni cast: una col ruolo di attore e una col ruolo di regista.
Oltre alla cardinalità M:N, le associazioni possono avere cardinalità 1:N o 1:1. Vediamo alcuni semplici esempi.
Ogni film può essere N volte oggetto di una proiezione in sala, mentre ogni proiezione ha come oggetto (di norma) un solo film.

Ogni studente ha una sola carriera universitaria e ogni carriera appartiene ad un solo studente.
Altro elemento che possiamo notare nel diagramma è che l’attributo lingue di film è cerchiato due volte. Questo sta ad indicare che è multivalore, cioè al suo interno vi sono memorizzati più valori (le lingue in cui è stato tradotto il film possono essere più di una).
Un altro tipo di attributo, non mostrato nell’esempio, è l’attributo composto, eccone un esempio:
L’indirizzo è un attributo composto perché costituito da ulteriori attributi semplici: via, numero, città, provincia e cap.
A presto
Paolo Bellesia
P.s. Se ancora non lo hai fatto e vuoi scaricare il primo Special Report gratuito "Crea il tuo programma" iscriviti nel box a fianco potrai cosi cominciare a progettare in modo semplice e divertente i tutti i tuoi programmi. Inoltre riceverai le indicazioni di tutti gli articoli che periodicamente inseriamo nel Blog.


