Evitare le entità che possiedono solo l'attributo identificatore, perchè probabilmente non c'è bisogno di quelle entità (e quindi nemmeno dell'eventuale associazione che le lega ad un altra entità);
cercare di usare un attributo identificatore che occupi meno memoria possibile in termini di byte; ad esempio, usare come identificatore un codice alfanumerico o numerico di solito è una soluzione migliore di quella di usare una lunga parola che fornisce una descrizione completa.
Esempio 2.5. I canili in città
Si vuole costruire un database per raccogliere dati relativi ai cani che si trovano in diversi canili di una stessa città, ma ad indirizzi diversi. Aggiungere le eventuali ipotesi necessarie. Sviluppare una possibile soluzione concettuale (vocabolario dei termini, schema E-R e regole di lettura) Rappresentare lo schema E-R utilizzando DIA o qualsiasi altro software grafico.
Si suggerisce di leggere la soluzione solo dopo aver provato a risolvere l'esercizio (anche parzialmente) e di ripetere ogni volta l'esercizio a partire dal punto in cui si sono trovate le eventuali differenze nello svolgimento.
In questo livello sono state individuate due categorie e un'associazione uno a molti.
Le regole di lettura:
Ogni cane deve risiedere in un solo canile;
In ogni canile devono risiedere uno o più cani.
Esempio 2.6. Gli esami non finiscono mai
Si vuole costruire un database per raccogliere dati relativi agli studenti di una facoltà e agli esami che hanno sostenuto nelle diverse materie. Aggiungere le eventuali ipotesi necessarie. Sviluppare una possibile soluzione concettuale (vocabolario dei termini, schema E-R e regole di lettura) Rappresentare lo schema E-R utilizzando DIA o qualsiasi altro software grafico.
Si suggerisce di leggere la soluzione solo dopo aver provato a risolvere l'esercizio (anche parzialmente) e di ripetere ogni volta l'esercizio a partire dal punto in cui si sono trovate le eventuali differenze nello svolgimento.
individuo riconoscibile dalla matricola di iscrizione, con nome, cognome, telefono, via, città;
disciplina (con codice unico) su cui può essere svolta una verifica positiva da ogni studente;
superamento della verifica di una materia da parte di uno studente, ha bisogno dell'incontro di entrambe le 2 parti (studente e materia); è ipotizzabile voler registrare anche la data e il voto del superamento dell'esame
numero intero da 18 a 30, registrato al superamento dell'esame;
la data in cui viene avviene il superamento dell'esame.
In questo livello sono state individuate due categorie e un'associazione molti a molti.
Le regole di lettura:
Ogni studente può essere esaminato su una o più materie;
Per ogni materia possono essere esaminati uno o più studenti.
In alternativa si poteva conserare anche «esame» come una terza entità da collegare tra le altre due, ma sarebbe stato necessario aggiungere un codice identificativo anche all'esame. Inoltre, in questo caso sarebbe stato possibile per uno studente superare due volte un esame sulla stessa materia... Si tratta di una ipotesi realistica?
Esempio 2.7. Le unioni dei cittadini
Si vuole costruire un database per raccogliere dati relativi alle unioni tra i cittadini (ad es. matrimoni tra maschi e femmine). Si vuole memorizzare sia la data dell'unione, sia il codice fiscale, la data di nascita, il nome e il cognome di ogni cittadino (che si sia unito o meno). Aggiungere le eventuali ipotesi necessarie. Sviluppare una possibile soluzione concettuale (vocabolario dei termini, schema E-R e regole di lettura) Rappresentare lo schema E-R utilizzando DIA o qualsiasi altro software grafico.
Si suggerisce di leggere la soluzione solo dopo aver provato a risolvere l'esercizio (anche parzialmente) e di ripetere ogni volta l'esercizio a partire dal punto in cui si sono trovate le eventuali differenze nello svolgimento.
individuo di sesso maschile individuato dal CF, che si puo' abbinare ad una sola femmina;
individuo di sesso femminile individuato dal CF, che si puo' abbinare ad un solo maschio;
categoria che raggruppa le due precedenti, senza discriminazione per il sesso;
l'unione puo' avvenire tra solo due cittadini alla volta e non è obbligatoria;
la data in cui avviene l'unione.
In questo livello sono state individuate due categorie (maschie e femmina) che potrebbero essere entrambe sostituite dalla categoria «cittadino» e un'associazione uno ad uno.
Le regole di lettura:
Ogni cittadino maschio può essere unito ad un solo cittadino femmina;
Ogni cittadino femmina può essere unito ad un solo cittadino maschio.