Associazioni

L'associazione (in inglese Relationship) descrive eventuali legami concettuali tra una, due o più entità. Per semplicità conviene considerare, per ora, solo le associazioni binarie, cioè quelle che legano solo due entità (che chiameremo prima entità e seconda entità).

Classificazione per molteplicità

Le associazioni possono essere classificate in base a quanti elementi appartenenti ad un'entità sono coinvolte nel legame stabilito con l'altra entità (caratteristica che in alcuni casi è chiamata moltemplicità 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à; inoltre, viceversa, legano un solo elemento della seconda con uno della prima; rivedere a tal proposito l'esempio Gli alunni e le classi

molti a molti

legano un solo elemento appartenente alla prima entità con più elementi della seconda altra entità; viceversa, inoltre, 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.

Avvertimento

Le associazioni «molti a uno»non esistono perchè corrispondono alle associazioni uno a molti.

Rappresentazione

Nello schema E-R ogni tipo di associazione viene rappresentato sempre con il classico rombo, quello che cambia è solo l'aspetto del segmento che unisce l'associazione con le entità, ovvero, il rombo con il rettangolo.

Il numero (1 opppure N) vicino ad ogni entità legata all'associazione, indica la molteplicità con cui l'entità è coinvolta nel legame:

quando, nell'associazione, si parla di "molti elementi" non è necessario indicare precisamente quanti siano, basta sapere solo che ce ne sarà più di uno, scrivendo N;
quando il legame coinvolge un solo elemento, basta scrivere 1.

Figura 2.3. Rappresentazione delle associazioni: dettaglio

Rappresentazione delle associazioni: dettaglio


In alternativa ai numeri si possono usare degli speciali simboli posti agli estremi dei segmenti, come indicato nell seguente figura.

Figura 2.4. Rappresentazione delle associazioni (alternativa)

Rappresentazione delle associazioni (alternativa)


Classificazione per opzionalità e rappresentazione

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, viceversa, se possano esistere nel database classi che non contengono nessun alunno.

Esempio 2.2. C'è una classe vuota

Per continuare con lo stesso esempio, si ipotizza di aver ottenuto risposta affermativa all'ultima domanda.

Nota

anche se può sembrare poco realistico questa anomalia è stata introdotta solo per rendere l'esempio più completo dal punto di vista didattico
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. In questo esempio l'associazione risulta essere obbligatoria-opzionale, ma esistono anche associazioni obbligatorie-obbligatorie oppure opzionale-opzionale.

Figura 2.5. Rappresentazione delle associazioni con opzionalità

Rappresentazione delle associazioni con opzionalità