SECONDO COMPITO:
ANALISI DEI REQUISITI Si vuole automatizzare la gestione dei prestiti di una biblioteca di un determinato soggetto (biblioteca personale). Bisognerà pertanto memorizzare i dati relativi a: Amici Libri Prestiti Lo scopo è quello di ricavare le informazioni relative ai prestiti effettuati dal soggetto ai suoi amici.
SCHEMA ENTITA’-RELAZIONI AMICI LIBRI 1 : N PRESTITI
PROGETTAZIONE CONCETTUALE Nel nostro caso sono state individuate le seguenti entità: Amici Libri Prestiti
PROGETTAZIONE CONCETTUALE
PROGETTAZIONE LOGICA DEFINIZIONE DELLE RELAZIONI 1 : N Un amico può prendere in prestito più libri Un libro può essere prestato ad un solo amico perché è unico AMICI LIBRI
PROGETTAZIONE LOGICA DEFINIZIONE DELLE RELAZIONI Tutte le informazioni possono essere rappresentate da una sola relazione riguardante i prestiti, in quanto non ci sono altre informazioni su amici e libri oltre ai nomi e ai titoli. La chiave è “titolo” perché non si possiedono libri con lo stesso nome, quindi ogni libro è unico. Un amico invece può avere più libri e restituirli in date differenti.
ESEMPIO TABELLARE DELLA RELAZIONE TITOLO NOME/SOPRANNOMEDATARESTITUZIONE LIBRO XTIZIO10/01/2011 LIBRO YCAIO15/03/2011 LIBRO ZPINCO26/05/2011
EVENTUALI ESIGENZE DI RAPPRESENTAZIONE DEI VALORI NULLI I valori nulli possono essere ammessi sull’attributo DATARESTITUZIONE, perché è possibile prestare un libro senza fissarne una data precisa di restituzione; non possiamo invece accettare valori nulli sull’attributo NOME/SOPRANNOME perché è necessario sapere chi ha il libro. Inoltre, anche l’attributo LIBRO è chiave e pertanto non può avere valori nulli.
BASE DATI OSPEDALE … Le chiavi sono: “COD” per la relazione PAZIENTI “PAZIENTE” e “INIZIO” per la relazione RICOVERI “MATR” per la relazione MEDICI “COD” per la relazione REPARTI
… SEGUE … La scelta fatta sulla relazione ricoveri presume che un paziente possa essere ricoverato solo una volta nello stesso giorno. Se questa ipotesi non viene soddisfatta, un paziente potrebbe essere ammesso due o più volte nello stesso giorno e allora la relazione non sarebbe corretta. Infatti due o più ricoveri nello stesso giorno e nello stesso reparto dovrebbero avere anche la medesima data di dimissione e quindi sarebbe rappresentata nella stessa riga nella relazione.
… vincoli di integrità I vincoli di integrità sono tra l’attributo “paziente” in Ricoveri e “cod” in Pazienti, tra “reparto” nella relazione Ricoveri e “cod” nella relazione Reparti, tra “reparto” in Medici e “cod” in Reparti e infine tra “primario” in Reparti e “matr” nella relazione Medici. I valori nulli possono essere ammessi negli attributi “cognome” e “nome” nella relazione Pazienti, “fine” nella relazione Ricoveri, “cognome” e “nome” nella relazione Medici e “nome” nella relazione Reparti. Infatti questi attributi non sono chiavi e non hanno nessun vincolo di integrità referenziale.