Visitatori: 3793
Il modello E/R è un modello concettuale dei dati che fornisce una serie di costrutti aventi il compito di descrivere la realtà di interesse secondo una modalità facile da comprendere ed indipendente dai criteri di organizzazione dei dati negli elaboratori. Il modello Entità/Relazione è un importante strumento per analizzare la realtà di interesse al fine di individuare i concetti fondamentali e le loro interrelazioni. Risultato di questo lavoro di analisi è la rappresentazione grafica detta schema E/R, che mette in evidenza gli aspetti fondamentali del modello concettuale con i dati caratterizzanti e le relazioni tra essi.
I costrutti fondamentali di un modello E/R sono:
- Entità
- Attributi
- Relazioni
- Generalizzazioni
L’entità è un costrutto volto a rappresentare un concetto che ha una esistenza propria ed è di interesse per la realtà che si vuole modellare. A ciascuna entità è associato un nome che specifica il significato. Definiamo istanze di entità tutti gli oggetti del mondo reale che possiedono le proprietà tipiche dell’entità. La rappresentazione grafica consiste in un rettangolo.
Infine la persistenza indica che i dati devono essere sempre disponibili anche in presenza di guasti.
Un esempio di entità è rappresentato dagli studenti di un corso.
La relazione, o associazione,è un legame che stabilisce un’interazione tra le entità. Ciascuna relazione ha due versi con significati diversi. La rappresentazione grafica dell’associazione è un rombo posto al centro della linea di giunzione tra le due entità.
Possono esistere tre tipi di relazioni:
- 1:1 (biunivoca), quando a ciascuna istanza della prima entità corrisponde una ed una sola istanza della seconda entità e viceversa. Un esempio di ciò è l’associazione Relativo/a che collega una Persona ad un Curriculum.
- 1:N (uno a molti o semplice), quando ad un’istanza della prima entità corrispondono più istanze della seconda entità, mentre a ciascuna istanza della seconda entità corrisponde una ed una sola istanza della prima. Un esempio di ciò è l’associazione Nato che collega le entità Persona e Città.
- N:N (molti a molti o complessa), quando a ciascuna istanza della prima entità corrispondono più istanze della seconda e viceversa. Un esempio di ciò è dato dalla relazione Segue che collega le entità Studente e Corso.
Gli attributi rappresentano le proprietà delle entità e delle associazioni. Ciascun attributo è caratterizzato da:
- un dominio, che denota il tipo di valore che esso assume;
- la dimensione, cioè la quantità massima di caratteri o cifre inseribili;
- l’opzionalità, cioè la possibilità che ad esso non venga associato alcun valore.
La rappresentazione grafica dell’attributo è una linea terminante con il nome ed un piccolo cerchio. Gli attributi possono essere elementari, quando sono auto-definiti, o composti, quando sono definiti in termini di altri attributi elementari.
L’insieme di attributi che consentono di distinguere un’istanza da un’altra della stessa entità prende il nome di chiave primaria. La rappresentazione grafica delle chiavi primarie è la colorazione del cerchio finale di un normale attributo.
Le cardinalità vengono specificate per ciascuna entità che partecipa ad una relazione e descrivono il numero minimo e massimo di istanze di relazioni a cui le istanze delle entità coinvolte possono partecipare. Esse, pertanto, specificano quante volte, in una relazione tra entità, un’occorrenza di una di queste entità può essere legata ad occorrenze delle altre entità coinvolte nella relazione.
La cardinalità minima e massima delle entità di una relazione in uno schema E/R si specificano tra parentesi.
Le cardinalità delle relazioni costituiscono dei vincoli di integrità, cioè proprietà che occorrenze di entità e di relazioni devono soddisfare per poter essere considerate “valide”.
In linea di principio è possibile assegnare un qualunque intero non negativo ad una cardinalità di una relazione con l’unico vincolo che la cardinalità minima deve essere minore o uguale alla cardinalità massima. In realtà, nella maggior parte dei casi, è sufficiente utilizzare solo tre valori: zero, uno ed il simbolo N che indica genericamente un intero maggiore di uno.
Osservando le cardinalità massime, è possibile classificare le relazioni binarie in base al tipo di corrispondenza che viene stabilita tra le istanze delle entità coinvolte. Più specificatamente le relazioni aventi cardinalità massima pari ad uno per entrambe le entità coinvolte, come la relazione Relativo A, che collega una Persona al proprio Curriculum, definiscono una corrispondenza uno ad uno tra tali entità e vengono quindi denominate relazioni uno-ad-uno. In maniera analoga, le relazioni aventi un’entità con cardinalità massima pari ad uno e l’altra con cardinalità massima pari ad N, come la relazione Risiede, che collega una Persona alla propria Città,sono denominate relazioni uno a molti. Le relazioni aventi cardinalità massima pari ad N per entrambe le entità coinvolte, come la relazione Prenota, che collega una Persona ad un Volo, vengono denominate relazioni molti a molti.
Per le cardinalità minime va detto, invece, che il caso di partecipazione obbligatoria per tutte le entità coinvolte è piuttosto raro, perché quando si aggiunge un nuova istanza di entità, molto spesso non sono note le corrispondenti istanze di entità collegate attraverso relazioni.
Nelle relazioni n-arie le entità coinvolte partecipano quasi sempre con cardinalità massima pari ad N. Un esempio concreto viene fornito dalla relazione ternaria Fornisce, che collega un fornitore, una merce e un dipartimento di una organizzazione; in questo esempio le istanze di ciascuna delle entità coinvolte partecipano a più istanze di tale relazione.
Nel caso in cui un’entità partecipi ad una relazione N-aria con cardinalità massima pari ad uno, si ha che ciascuna delle sue occorrenze può essere legata ad una sola occorrenza della relazione, e quindi ad un’unica n-upla di occorrenze delle altre entità coinvolte nella relazione. Ciò implica che è possibile eliminare la relazione n-aria mediante delle procedure di normalizzazione.
A ciascun attributo di un’entità o di una relazione è possibile associare delle cardinalità che descrivono il numero minimo e massimo di valori dell’attributo corrispondenti a ciascuna occorrenza di entità.
Nella maggior parte dei casi la cardinalità di un attributo è pari a (1, 1) e viene omessa. In questi casi l’attributo rappresenta sostanzialmente una funzione che associa a ciascuna occorrenza di entità uno ed un solo valore.
Il valore per un certo attributo può essere però nullo oppure possono esistere diversi valori di un certo attributo associati ad un’occorrenza di entità. Queste situazioni si possono rappresentare associando all’attributo in questione una cardinalità minima pari a zero nel primo caso ed una cardinalità massima pari ad N nel secondo.
Le cardinalità degli attributi costituiscono dei vincoli di integrità, ovvero proprietà che occorrenze di entità e di relazioni devono soddisfare per poter essere considerate “valide”.
Un attributo con cardinalità minima pari a zero è opzionale per la relativa entità, mentre è obbligatorio se la cardinalità minima è pari ad uno.
Diremo infine che un attributo è multivalore se la sua cardinalità massima è pari ad N. In molte situazioni reali accade che alcune informazioni non sono disponibili ed è quindi utile avere la possibilità di specificare attributi opzionali.
Gli attributi multivalore vanno invece utilizzati con maggiore cautela perché essi rappresentano situazioni che possono essere modellate, in alcune occasioni, con entità a sé, legate da relazioni uno a molti (o molti a molti) con l’entità cui si riferiscono.
Nel prossimo articolo vedremo le diverse strategie di progettazione concettuale esistenti e affronteremo un esempio pratico.
Indice degli articoli

|