Progettazione concettuale: modello ER

Il modello ER (ER = Entity-Relationship, Entità-Associazione) è lo standard per la progettazione concettuale di una base di dati.

In esso hanno particolare rilievo i concetti di entità, associazione, attributo.

Simbologia grafica per un'entità

Simbologia grafica per un'associazione

Attributi legati a un’entità:

Simbologia grafica per un attributo legato a un'entità

Attributo legato a un’associazione:

Simbologia grafica per un attributo legato a un'associazione

Ecco un esempio di un diagramma ER (non completo!) per un sistema informativo dedito alla gestione di dati riguardanti un’università:

Primo esempio di un diagramma ER (incompleto)

Nota bene: il diagramma ER qui sopra è incompleto. Mancano le cardinalità delle associazioni, gli attributi, gli identificatori… Tutti concetti che approfondiremo tra poco.

Associazioni

Cardinalità di un’associazione

La cardinalità di un’associazione è un vincolo sul numero di entità coinvolte in un’associazione.

Nota bene: bisogna definire la cardinalità di un’associazione per ciascuna entità legata a tale associazione.

La cardinalità è definita dalla coppia (cardinalità minima, cardinalità massima).

La cardinalità minima può assumere i valori:

La cardinalità massima può assumere i valori 1 (uno), N (molti). In base alla sola cardinalità massima, si distinguono:

Associazioni 1:1 (uno a uno)

Un esempio di associazione uno a uno:

Associazione uno a uno


Un esempio di associazione uno a uno, con opzionalità:

Associazione uno a uno, con opzionalità


Associazioni 1:N (uno a molti)

Associazione uno a molti

Associazioni N:M (molti a molti)

Associazione molti a molti

Associazione ternaria

Un’associazione ternaria è un associazione che lega tre entità.

Pur essendo lecito creare associazioni ternarie in un diagramma ER, vedremo che l’esistenza di tali associazioni può complicare la successiva progettazione dello schema logico. Per questo, molto spesso si preferisce evitare la creazione di associazioni ternarie già nella fase di progettazione concettuale.

Ecco un esempio di associazione ternaria:

Associazione ternaria

Ecco un altro esempio di diagramma ER, che considera la cardinalità delle associazioni:

Secondo esempio di un diagramma ER (incompleto)

Nota bene: il diagramma ER qui sopra è ancora incompleto, nonostante l’aggiunta delle cardinalità delle associazioni.

Attributi

Cardinalità degli attributi

In base a quanti valori possono essere assunti da un attributo, esso può essere:

Attributo semplice

Attributo multiplo

Più esplicitamente: ‘matricola’ è un esempio di attributo semplice poiché una singola entità non può avere, contemporaneamente, molteplici matricole. ‘specialità’ è un esempio di attributo multiplo poiché, in generale, un’entità potrebbe avere anche molteplici specialità.

Attributi composti

Un attributo composto (semplice) è dato dall’aggregazione di molteplici valori. es. data (gg, mm, aaaa), indirizzo (via, numero civico, città, provincia, cap).

Attributo composto

Esisterebbero anche gli attributi composti multipli, ma li ignoreremo.

Attributi opzionali

Un attributo opzionale è un attributo per il quale è ammessa l’assenza di valore (es. numero di telefono, professione, …).

Attributo opzionale

Un attributo opzionale può essere sia semplice sia multiplo, sia composto sia non composto.

Ecco un esempio completo che mostra diversi tipi di attributo, riferiti a un’entità ‘studente’:

Esempio con attributi

In sintesi, per ogni attributo che si desidera creare, bisogna chiedersi:

Identificatori

Un’identificatore è un attributo o un insieme di attributi che caratterizza in modo univoco ciascuna singola istanza di un’entità. In altri termini, non possono esserci due istanze di una stessa entità le quali abbiano lo stesso identificatore.

Se l’identificatore è un singolo attributo, esso si rappresenta con un “pallino nero”, così:

Esempio con identificatore semplice

Se l’identificatore è composto, ovvero è formato da molteplici attributi, esso si rappresenta così:

Esempio con identificatore composto

Entità deboli

Si dicono deboli le entità la cui identificazione dipende da quella di altre entità, dette forti. Ecco un esempio:

Esempio con identità deboli/forti

Nell’esempio qui sopra, l’entità ‘studente’ è debole, poiché la sua identificazione dipende da quella dell’entità forte ‘università’.

…Non ho capito. Può rispiegare? In termini più semplici, la matricola di uno studente identifica un singolo studente all’interno di una singola università. Tuttavia, considerando studenti di università differenti, essi potrebbero avere la stessa matricola. Ma noi, attraverso un diagramma ER, vogliamo identificare univocamente uno studente qualsiasi. Quindi, bisogna considerare sia la matricola dello studente, sia l’università cui è iscritto.

Gerarchie di generalizzazione

Una gerarchia di generalizzazione è un legame logico tra un’entità padre E ed alcune entità figlie E1, E2.. En dove:

tale per cui:

Le entità figlio ereditano le proprietà (attributi, relazioni, identificatori) dell’entità padre.

Un esempio:

Esempio con gerarchie

Ogni gerarchia è:

Gerarchie totali o parziali

Una gerarchia è detta totale (t) quando ogni istanza dell’entità padre deve fare parte di una delle entità figlie. Nell’esempio precedente, la gerarchia è totale: il personale dell’azienda si divide (completamente) in esterni e dipendenti.

Una gerarchia è detta parziale (p) quando le istanze dell’entità padre possono far parte di una delle entità figlie. Si consideri l’esempio seguente:

Gerarchia parziale

Le entità figlie ‘studente’, ‘lavoratore’, ‘anziano’ sono un sottoinsieme dell’entità padre ‘cittadino’, quindi la gerarchia è parziale. In altri termini, la gerarchia è parziale perché esistono cittadini che non sono né studenti, né lavoratori, né anziani.

Gerarchie esclusive od overlapping

Una gerarchia è detta esclusiva quando ogni istanza dell’entità padre non può far parte di più di una delle entità figlie.

Nell’esempio riguardante il personale di un’azienda, la gerarchia si può considerare esclusiva: il personale o è dipendente, oppure è esterno: non esistono, nel diagramma ER dell’esempio, dipendenti che siano esterni all’azienda.

Una gerarchia è detta overlapping quando ogni istanza dell’entità padre può far parte di più di una delle entità figlie.

Nell’esempio riguardante i cittadini, la gerarchia si può considerare overlapping: è ad esempio possibile che un cittadino sia, nel contempo, studente e lavoratore.


In sintesi, esistono quattro tipi di gerarchie:


Fonti

Argomenti evitati