I pattern nel modello E-R
Nel modello E-R ci sono situazioni ricorrenti detti pattern (schemi) che aiutano nella rappresentazione dei dati.
Entità o attributo
Un concetto autonomo è un'entità. Tuttavia, se il concetto è molto semplice e consiste in una sola stringa, spesso è opportuno trasformarlo in un attributo di un'entità.
Esempio
Il concetto "città" è autonomo.
Se è collegato a un'entità tramite una relazione (es. nascita) va gestito come entità.
Tuttavia, se il concetto "città" è soltanto una stringa nei requisiti del progetto, conviene rappresentarlo come attributo dell'entità "indirizzo" o "residenza".
In una base dati geografica, invece, la città è sicuramente un'entità perché è composta da diverse proprietà.
Il pattern ISA
Una relazione tipica è detta ISA (parte di). Si usa quando un'entità è parte di un'altra entità.
Sono generalmente delle relazioni uno a molti (1,N).
Le occorrenze del concetto "parte" possono essere collegate alle occorrenze del concetto "contenitore" oppure no.
Esempio 1
Ogni ufficio di un'azienda appartiene a una divisione dell'azienda stessa.
C'è un'identificazione esterna (CodiceDivisione) tra ogni occorrenza degli uffici e un'occorrenza delle divisioni dell'azienda.
Esempio 2
Anche la relazione "partecipa" tra un dipendente e un progetto è una relazione ISA.
Il dipendente è contenuto nel progetto.
Tuttavia, in questo caso il dipendente esiste in modo autonomo dal progetto.
Il dipendente può lavorare a più progetti e non c'è alcun identificatore esterno tra il dipendente e il progetto.
Istanza di
La relazione istanza di si presenta quando le occorrenze di un'entità sono istanze di occorrenze di un'altra entità.
Esempio
L'entità "campionato" contiene i tornei di calcio italiani. Quindi, le occorrenze sono "serie A", "serie B", serie C/1", ecc.
Un'altra entità "edizione" contiene i dati delle singole edizioni annuali (es. squadra vincitrice, promosse, retrocesse, classifica, ecc).
Ogni occorrenza dell'entità "edizione" è un'istanza di un'occorrenza dell'entità "campionato".
Esempio. L'occorrenza "Vincitore Serie A 2010/11" dell'entità Edizioni è un'istanza dell'occorrenza "Serie A" dell'entità Campionati.
Reificazione della relazione
A volte un concetto lega tra loro due concetti (entità). Pertanto, si presenta come relazione.
Ad esempio, in questa rappresentazione l'esame è una relazione che lega lo studente a un corso.
Tuttavia, una relazione contiene coppie di occorrenze delle entità senza duplicazioni.
Talvolta questo diventa un problema.
Esempio. Uno studente può rifiutare il voto o essere bocciato in una sessione e dover ripetere l'esame in un'altra data. Ci sarebbe però una stessa occorrenza matricola-codice. E questo non può accadere.
Per rappresentare la ripetizione di uno stesso evento occorre reificare la relazione trasformandola in un'entità legata alle precedenti entità con due relazioni distinte.
Esempio. Nel precedente esempio lo studente identifica l'esame e la data tramite un'identificazione esterna. L'esame è poi collegato a un corso.
E così via.