Brook Preloader

Estrazione delle entità per un diagramma ER

La progettazione ER

Un diagramma ER (Entity Relationship) è un particolare tipo di diagramma introdotto nelle fasi preliminari della creazione di un Database.
Il formalismo che compone il diagramma è composto da due elementi fondamentali:

  • Entities (entità): oggetto della nostra descrizione e di conseguenza ciò che sarà tradotto in Tabelle;
  • Relationships (relazioni): collegamenti logici tra più tabelle che si traducono in relazioni tra i dati che contengono;

Verrà illustrata una versione semplificata del diagramma ER che non esplicita numericamente le cardinalità.

Le entità

Ogni entità corrisponde ad una tabella che descrive formalmente una classe di oggetti caratterizzati da degli stessi attributi. Un esempio pratico può essere l’entità “persona” caratterizzata dagli attributi nome, cognome e codice fiscale.

A livello di diagramma ER una entità viene rappresentata con un rettangolo al cui interno inseriamo il nome dell’entità al singolare, ogni attributo che la compone sarà caratterizzato da un piccolo cerchio con all’interno il suo nome.

Il diagramma ER è trasformabile in linguaggio naturale ed è buona norma descriverlo in tal modo:

L’entità Persona è caratterizzata dagli attributi Nome, Cognome.

Attributi univoci

Aggiungendo il nuovo attributo Codice Fiscale all’entità ci troviamo di fronte ad un nuovo concetto:

Il cerchio nero indica che l’attributo Codice Fiscale è univoco, ovvero non possono essere presenti all’interno della tabella due righe che abbiano lo stesso valore (quindi due persone con lo stesso codice fiscale).

Il diagramma ER è leggibile in linguaggio naturale ed è buona norma descriverlo in tal modo:

L’entità Persona è caratterizzata dagli attributi Nome, Cognome e Codice Fiscale, quest’ultimo è univoco.

Attributi opzionali

Ogni attributo puntato direttamente dalla freccia è da considerarsi obbligatorio, questo significa che all’inserimento del record in tabella non potrà essere presente una riga che abbia uno dei campi vacanti.

Per rendere opzionale un campo introduciamo un nuovo elemento grafico che barra la connessione tra l’entità e l’attributo interessato.

Leggendo in linguaggio naturale questo piccolo diagramma otteniamo:

L’entità Persona è caratterizzata dagli attributi Nome, Cognome e Codice Fiscale e Telefono. Il Codice Fiscale è un campo univoco mentre il Telefono è un campo opzionale.

Attributi complessi

Quando un attributo è complesso, ad esempio un “indirizzo” composto da via, civico e città, per esplicitare meglio graficamente il diagramma (a sinistra) si introduce un quadrato che raggruppa gli attributi afferenti alla stessa tematica (a destra):

Il raggruppamento introdotto dal quadrato ha il solo scopo di introdurre un sottoinsieme di nuovi attributi più organizzati raggruppabili logicamente in un sottoinsieme. Questo raggruppamento è detto logico poiché, a livello di realizzazione tabellare, le due rappresentazioni, hanno le stesse identiche caratteristiche.

Attributi multipli

Un attributo può essere multiplo, ovvero, può contenere più di un valore:

In questo caso la doppia testa della freccia implica il campo “Lingue parlate” è multiplo e quindi può ospitare più di un valore. Come espresso in precedenza però, quando una freccia punta senza sbarramento un attributo, significa che l’attributo non può essere vuoto, quindi in questo caso ci deve essere almeno una lingua parlata.

Introducendo lo sbarramento sull’attributo:

Possiamo notare che il campo lingue parlate è opzionale e multiplo, quindi può contenere nessun valore, un valore o più valori.