04. La progettazione concettuale

Modellare i dati significa costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti tra essi.

La progettazione del modello dei dati avviene a livelli diversi: il primo di questi è detto livello concettuale che rappresenta, in modo non necessariamente dettagliato, i dati della realtà d’interesse in termini di un modello formale.

La progettazione del modello concettuale prevede:

    • in input: la descrizione della realtà d’interesse;

    • in output: lo schema concettuale.

Uno dei modelli più noti ed efficaci per produrre lo schema concettuale è il modello Entity-Relationship (detto anche modello E-R, modello entità-relazione, modello entità-associazione, ERD).

Gli elementi cardine rappresentati dal modello sono:

    • Entità,

    • Associazioni,

    • Attributi.

L'entità

L'entità è un oggetto, concreto o astratto, di interesse per la realtà che si vuole considerare e che ha un significato anche quando viene considerato in modo isolato.

Una entità denota un insieme (o classe) di oggetti simili, mentre una istanza dell’entità denota un oggetto dell’insieme rappresentato dall'entità stessa.

Ad esempio, se l'universo di interesse è una istituzione scolastica, gli studenti sono classificabili in una entità Studente e un particolare studente sarà un'istanza dell'entità.

Nella rappresentazione grafica le entità sono identificate con un rettangolo contenente all'interno il nome dell'entità.

L'associazione (o relazione)

Il termine corrispondente in inglese è relationship e denota un legame tra le entità.

Ogni associazione ha due versi con specifici significati: ogni verso ha una entità di partenza e una di arrivo. L'associazione ha una descrizione che consente di comprenderne il significato.

Ad esempio, riprendendo l'esempio dell'istituzione scolastica, tra le entità Studente e Classe sussiste l'associazione Appartenere.

Nella rappresentazione grafica le associazioni sono identificate con un rombo contenente all'interno il nome dell'associazione.

Gli attributi

Le proprietà delle entità e delle associazioni vengono descritte attraverso gli attributi.

Esempi di attributi per l'entità Studente sono Matricola, Nome, Cognome, Data di nascita.

Le caratteristiche di ogni attributo sono:

    • formato: indica il tipo di valori che può assumere (stringa, numerico, data/ora);

    • dimensione: il massimo numero di caratteri o cifre che può contenere;

    • opzionalità: esprime la possibilità che l'attributo non sia sempre valorizzato.

Il simbolo grafico usato per gli attributi è una linea che parte dall'entità o dall'associazione e termina con il nome dell'attributo racchiuso in una ellissi.

L'insieme di uno o più attributi che consentono di identificare univocamente una singola istanza dell'entità è detto chiave o chiave primaria.

E' detta chiave parziale l'insieme di uno o più attributi che per identificare una istanza in modo univoco hanno bisogno di un ulteriore riferimento. Ad esempio il numero di interno di un appartamento è chiave parziale perché lo identifica univocamente solo se si è già identificato il fabbricato.

Nella rappresentazione grafica le chiavi sono evidenziate con la sottolineatura del nome, mentre le chiavi parziali sono sottolineate con un tratteggio.

Se lo schema è molto complesso gli attributi non sono sempre rappresentati.

Come già detto, gli attributi possono essere utilizzati anche per caratterizzare le associazioni.

Consideriamo, come esempio, una rivista che pubblica periodicamente articoli scientifici di differenti autori. Supponiamo poi di voler associare un progressivo ad ogni articolo di uno stesso autore che viene pubblicato.

Le entità su cui focalizziamo l'attenzione sono Articolo e Rivista: il progressivo non può far parte dell'entità Articolo né è un attributo della Rivista!

La soluzione è di aggiungere l'attributo Progressivo all'associazione, come illustrato in figura.

Cardinalità di una associazione

La cardinalità è specificata per ciascuna entità che partecipa a un'associazione.

Considerando una generica istanza della prima entità, la cardinalità indica a quante istanze dell'altra entità coinvolta nell'associazione può essere legata.

La cardinalità va calcolata analogamente anche per la seconda entità analizzando i legami di una sua istanza.

Consideriamo il seguente esempio:

La cardinalità per le due istanze va calcolata nel modo seguente:

    • Un singolo Studente può Appartenere ad una sola Classe (da cui la cifra 1 sul lato destro dell'associazione).

    • Ad una singola Classe possono Appartenere più Studenti (da cui la lettera N sul lato sinistro dell'associazione).

Documentazione a corredo

Uno schema E-R va corredato con una documentazione di supporto che faciliti l'interpretazione dello schema stesso e descriva vincoli non esprimibili graficamente:

    • descrizione dei concetti (entità, associazione, attributo) dello schema;

    • vincoli tra i dati;

    • Regole aziendali o business rules.

Nota:

Esistono diverse rappresentazioni del modello E-R che si differenziano per le diverse notazioni grafiche.

Spesso su ogni lato della relazione sono indicati due valori corrispondenti al numero minimo e al numero massimo di istanze dell'entità coinvolte nell'associazione.