Livello concettuale: associazioni

Introduzione

L'associazione (Relationhip) descrive eventuali legami concettuali tra una, due o più entità.

Classificazione

Per semplicità conviene considerare solo associazioni binarie, cioè quelle che legano solo due entità (che chiameremo prima e seconda entità). Le associazioni possono essere classificate in base a quanti elementi appartenenti ad un'entità sono coinvolte nel legame stabilito con l'altra entità (caratteristicha che in alcuni casi è chiamata molteplicità dell'associazione). In particolare le associazioni possono essere dei seguenti tipi:
uno a molti:
legano un solo elemento appartenente alla prima entità con più elementi della seconda entità; viceversa, invece, legano un solo elemento della seconda con uno della prima; a tal proposito rivedere un precedente esempio alunno e classe.
molti a molti:
legano un solo elemento appartenente alla prima entità con più elementi della seconda altra entità; viceversa, legano un solo elemento della seconda con più elementi della prima;
uno a uno:
legano un solo elemento appartenente alla prima entità con quello della seconda entità e viceversa.
Le associazioni molti a uno NON esistono.

Rappresentazione

Nello schema E-R ogni tipo viene rappresentato sempre con il classico rombo, quello che cambia è il segmento che unisce l'associazione con le entità. Può essere usato un numero (1,N) vicino ad ogni entità coinvoltà nel legame, per indicare la molteplicità.

immagine delle rappresentazioni

Quando si parla di "più elementi" non è necessario indicare precisamente quanti siano, basta sapere che ce ne sarà più di uno, e basta scrivere N. Quando un legame deve coinvolgere un solo elemento, basta scrivere 1. In alternativa ai numeri si possono usare degli speciali simboli sul segmento grafico (indicati dalle frecce rosse).

immagine delle rappresentazioni alternative

Oltre alla molteplicità bisogna stabilire se il legame dell'associazione sia obbligatorio oppure opzionale, per esempio: è necessario domandarsi se sia obbligatorio o meno che ogni alunno iscritto all'istituto faccia sempre parte di una classe, oppure possano esistere, nel database, alcuni alunni che non appartengano a nessuna classe; inoltre, possono esistere nel database classi che non contengono nessun alunno? Per continuare con l'esempio, faremo l'ipotesi di aver ottenuto risposta affermativa all'ultima domanda. Anche questa caratteristica del legame viene rappresentata graficamente nello schema E-R, solitamente tratteggiando il segmento di unione tra l'associazione e l'entità coinvolta.

immagine delle rappresentazioni alternative

In questo caso l'associazione risulta essere obbligatoria-opzionale.

Regole di lettura

Oltre alla rappresentazione grafica le associazioni possono essere descritte anche in forma verbale (a parole) scrivendo le cosiddette regole di lettura, di cui si era parlato nel solito esempio; ricordiamo che da un'associazione binaria si ottengono sempre due regole di lettura. Analizzeremo la solita associazione binaria tra alunno e classe appena ottenuta; per motivi didattici è conveniente oscurarne momentaneamente alcune parti ed evidenziarne altre.

immagine per ottenere le regole di lettura

questa immagine esprime la seguente regola di lettura (da sinistra verso destra): ogni alunno DEVE appartenere ad UNA sola classe.

immagine per ottenere le regole di lettura

questa immagine esprime la seguente regola di lettura (da destra verso sinistra): ad ogni classe POSSONO appartenere UNO O PIU` alunni.

In ogni figura ci sono due parti in rosso che corrispondono proprio alle parole scritte in maiuscolo. Le parole in maiuscolo inoltre servono a porre l'attenzione su quei termini che fanno la differenza: il verbo POTERE usato al posto di DOVERE, per indicare l'opzionalità o l'obbligatorietà; il termine UNA SOLA usato al posto di UNO O PIU`, per indicare la molteplicità. NOTA: la seconda regola di lettura è leggermente diversa dalla formulazione del vecchio esempio: ora, quando dice che ad ogni classe POSSONO appartenere uno o più alunni significa che ci possono essere classi alle quali non appartiene nessun alunno. Anche se può sembrare poco realistico questo artificio è stato introdotto solo per rendere l'esempio più completo.

Suggerimenti: per non sbagliare a scrivere le regole di lettura basta ricordarsi di iniziare la frase con la parola OGNI (oppure AD OGNI); per lo stesso motivo è meglio chiamare le entità con sostantivi al singolare (alunno e classe).

Associazioni unarie o ricorsive

Le associazioni unarie sono quelle che coinvolgono due volte la stessa entità e per questo motivo sono chiamate anche ricorsive; ci si accorge di dover usare queste particolari associazioni quando nello schema E-R sarebbe necessario disegnare due volte la stessa entità (una cosa non possibile nella realtà). Ad esempio, se si vogliono registrare le coppie di alunni vicini di banco, bisognerà mettere in collegamento un alunno con un altro alunno, con una nuova associazione che chiameremo vicinanza. Siccome l'entità alunno è già presente, basta usare due volte la stessa entità, ma per non fare confusione nelle regole di lettura si può usare uno pseudonimo diverso per ogni verso di lettura dell'associazione: nella figura abbiamo deliberatamente dimenticato di disegnare l'associazione appartenenza.

immagine  per associazioni unarie

In questo caso le regole di lettura saranno le seguenti:
  • ogni alunno-a-destra deve avere vicino un solo alunno - a - sinistra ;
  • ogni alunno-a-sinistra deve avere vicino un solo alunno - a - destra.
Mapping delle associazioni ricorsive
(Adobe Acrobat)

Associazione IS-A

Un'associazione IS-A (dall'inglese is a, è un) permette di rappresentare entità che derivano da altre entità e che ne sono un particolarizzazione. Le entità legate da associazioni IS-A costituisco una struttura detta gerarchia IS-A,in cui compaiono entità padre e entità figlie. Le entità figlie, essendo derivate dall'entità padre,ne ereditano gli attributi e possono poi averne di aggiuntivi,cosi come possono essere associate ad altre entità indipendenti dall'entità padre.

Esempio di Associazione IS-A
Come detto, gli attributi dell'entità padre sono ereditati dalle entità figlie:

Ad esempio nel caso che gli attributi di Personale Scuola sono anche gli attributi di Personale Docente e Personale Non Docente,in aggiunta ai nuovi attributi (nel caso ce ne fossero) delle entità figlie. La stessa cosa vale per le entità Personale ausiliario e personale segreteria che ereditano gli attributi di personale non docente,l oro padre nella gerarchia IS-A, in aggiunta a eventuali altri loro attributi.

Mapping delle associazioni IS-A
(Adobe Acrobat)