Neosidea Group | Sviluppo Soluzioni Web Torino

Come costruire un diagramma ER

Rappresentare i dati in modo astratto per poter implementare un database efficiente

Come costruire un diagramma ER

La rappresentazione dei dati nella progettazione di un sistema informativo è fondamentale per poter comprendere il comportamento di ogni singolo componente e di ogni singola funzione del sistema stesso.

 

Per progettare un sistema informativo la prima cosa da comprendere è come fluttueranno i dati al suo interno e come verranno trattati ed archiviati. Per astrarre la rappresentazione dei dati prima che il sistema sia stato realizzato, così da poter progettare la base dati e allo stesso tempo avere la possibilità di simularne il comportamento, in alcuni casi d'uso viene spesso impiegato un modello di rappresentazione detto Entità-Relazione. Tale modello di rappresentazione discerne dalla tecnologia impiegata poiché opera ad un livello di astrazione molto alto e può essere riprodotto anche semplicemente su un supporto analogico, tuttavia è uno strumento fondamentale per poter definire le entità (o tabelle) che conterranno i dati e le relazioni che intercorrono tra esse (come le costrains). 

 

La rappresentazione per entità si basa sul concetto che ogni informazione possa essere archiviata mediante un oggetto, la cui caratteristica principale consiste nell'essere auto-descrittivo, ossia che dispone di tutte le caratteristiche che identificano l'informazione che è al suo interno. 

 

Se dovessimo costruire un sistema per la gestione degli studenti di un corso di laurea è possibile immaginare che esistano le seguenti entità:

 

- studente
- corso
- appello di esame
- professore

 

Ogni entità sarà caratterizzata da alcune informazioni specifiche come ad esempio nel caso dello studente:

 

- nome
- cognome
- matricola
- data di nascita
- genere
- corso di studi
- anno di immatricolazione

 

Allo stesso modo per le altre entità è possibile identificare le informazioni caratterizzanti.

 

Quando uno studente desidera iscriversi ad un esame crea una nuova relazione tra l'entità "studente" e l'entità "appello di esame", che a sua volta sarà relazionata con "corso" che a sua volta sarà relazionata con l'entità "professore".

Usando questa tecnica è possibile identificare facilmente quelle entità che serviranno ad archiviare le informazioni di carattere "statico", come la descrizione di un corso o l'anagrfica di uno studente, la cui frequenza di aggiornamento è limitata e le aree di dati "dinamiche", ossia quelle informazioni che hanno validità nel corso del tempo e che possono esserci oppure no, a seconda di condizioni che possono non essere generate nel sistema ma dall'uso dello stesso. 

 

Per poter rappresentare le relazioni che intercorrono tra le singole entità con la loro molteplicità viene impiegata una notazione matematica detta cardinalità. La cardinalità è una rappresentazione come segue: (1,N) 

Questa notazione consente di avere identificazione chiara e definita del numero minimo di occorrenze per questa relazione ed il numero masimo delle stesse.

Ad esempio, uno studente può essere iscritto a nessun esame o a tanti esami e ogni appello d'esame può essere collegato a nessuno studente (poiché nessuno si è ancora iscritto) o a tanti studenti. In questo caso la cardinalità viene rappresentata come (0,N) per lo studente e (0,N) per l'appello.

Esistono però casi in cui la cardinalità non rappresenta necessariamente una molteplicità. Ad esempio, supponiamo che un corso possa essere esclusivamente di un professore e non possa esistere un corso senza un professore assegnato. In questo caso la cardinalità del coso verso il professore sarà (1,1) mentre supponendo che un professore possa avere più corsi la cardinalità dal professore al corso sarà (0,N).

 

Ed ecco la rappresentazione dello schema di dati di cui accennato:

 

 

 

 

Diagramma ER | rappresentaziona dati, database | neosidea.com