FORMALISMI PER IL MODELLO CONCETTUALE
Il modello entità/associazioni, pur essendo di gran lunga il modello più utilizzato nella progettazione
concettuale, non ha una rappresentazione standardizzata. Quando si parla di modello
entità/associazioni tutti sono concordi nel ritenere che nel modello devono comparire entità,
associazioni e attributi, e che cosa si intenda con tali termini: esistono però diversi modi di
rappresentarli.
Una forma di rappresentazione grafica molto usata è quella basata sull’Unified Modelling Language
(UML).
L'UML, linguaggio unificato di modellazione, è un linguaggio grafico per visualizzare, specificare,
costruire e documentare tutte le costruzioni di sistemi software.
L’UML è stato approvato da parte del comitato OMG (Object Management Group) e si sta affermando
come linguaggio standard nella progettazione di sistemi software object oriented.
A titolo di esempio riportiamo il seguente esercizio svolto.
I pazienti di un reparto di chirurgia sono ricoverati in stanze singole con differenti dotazioni
(telefono, televisore, aria condizionata). I pazienti vengono operati da un chirurgo. Si devono
registrare anche data, ora e sala operatoria nella quale il paziente viene operato. Bisogna inoltre
tenere conto delle date di inizio e fine del ricovero.
Per semplicità si ipotizzi che un paziente possa essere ricoverato una sola volta nel periodo di
tempo considerato e che durante il ricovero non cambi la stanza. Individuare le entità, gli
attributi e le associazioni, motivando le scelte effettuate, disegnare il modello E/R con il verso
delle associazioni e verificare lo schema con le regole di lettura. Riconoscere la chiave di ogni
entità (se esiste). Per ogni attributo identificare il formato.
ANALISI DEI DATI
Le entità che possono essere individuate nel problema sono:

Paziente, per rappresentare le informazioni riguardanti i pazienti;

Chirurgo, per i chirurghi del reparto;

Stanza, per le stanze che accolgono i pazienti.
Gli attributi di Paziente sono: codice, nome, cognome, indirizzo, numero di telefono; tutti gli attributi
sono di tipo carattere.
Gli attributi di Chirurgo sono: codice, nome, cognome e specialità; tutti di tipo carattere.
Gli attributi di Stanza sono: numero, e una serie di attributi per indicare la presen-za o meno di
telefono, televisore, aria condizionata; numero è di tipo numerico, gli altri attributi sono di tipo logico
(vero, falso).
Tra l'entità Stanza e l'entità Paziente esiste l'associazione uno a molti, di nome Accogliere, perché una
stanza può accogliere uno o più pazienti e un paziente è accolto in una sola stanza. Accogliere è
un'associazione che ha come attributi le due date, di inizio e fine ricovero, di tipo data.
Tra l'entità Chirurgo e l'entità Paziente si può stabilire un'associazione uno a molti, Operare, perché un
chirurgo opera molti pazienti, mentre un paziente è operato da un solo chirurgo. L.’associazione
Operare ha come attributi data e ora dell'intervento, oltre a un identificato re della sala operatoria
utilizzata.
Le chiavi primarie sono indicate dalla presenza di {PK} (Primari Key) accanto all’attributo. Nel caso di
chiave primaria costituita da più campi si userà {PPK} (Partial Primari Key) accanto a ciascun
attributo.