PRESTITI BIBLIOTECA
description
Transcript of PRESTITI BIBLIOTECA
Progettazione database a cura di Roberta Mancini – matr. 565714
CdLM in Marketing
1. ANALISI DEI REQUISITI
Si vuole progettare un database per una biblioteca personale che presta libri ad amici.
La progettazione deve tener conto di quanto emerso in fase di analisi:
Il proprietario presta i libri solo ai suoi amici.
Nessuno dei libri ha lo stesso titolo. Quando presta un libro prende nota della
data prevista di restituzione.
ANALISI DEI REQUISITI
A tale scopo bisognerà memorizzare i dati relativi a:
Amici Libri Prestiti
Il fine ultimo è quello di automatizzare la gestione dei prestiti di libri nella biblioteca.
DOMINIO APPLICATIVO
Tutte le entità coinvolte nel sistema “Biblioteca”, in particolare gli amici a cui vengono prestati i libri, i libri dati in prestito e le notizie relative alle date di prestito e restituzione.
SCHEMA ENTITA’-RELAZIONI
AMICI
LIBRI
PRESTITIN:N
1:N
1:N
PROGETTAZIONE CONCETTUALE Nel nostro caso sono state individuate le
seguenti entità:
1. Amici
2. Libri
3. Prestiti
PROGETTAZIONE CONCETTUALE
AMICI
Per l’entità “Amici” sono stati utilizzati i seguenti attributi:
•ID amico: codice univoco dell’ Amico •Nominativo amico: insieme di tutti gi amici ai quali sono stati prestati i libri.•Indirizzo amico•Comune di residenza amico•Numero telefono amico
PROGETTAZIONE CONCETTUALE
PRESTITI
Per l’entità “Prestiti” sono stati utilizzati i seguenti attributi:
•ID prestito•Data prestito•Data restituzione prestito
PROGETTAZIONE CONCETTUALE
LIBRI
Per l’entità “Libri” sono stati utilizzati i seguenti attributi:
•ID Libro•Titolo libro•Autore libro
PROGETTAZIONE LOGICADEFINIZIONE DELLE RELAZIONI
AMICI LIBRIN:N
•Un amico può prendere in prestito più libri.•Ogni libro può essere prestato a più amici non contemporaneamente.•Tutti i libri posso essere prestati a tutti gli amici
PROGETTAZIONE LOGICATABELLA AMICI
NOME CAMPO
TIPO CAMPO
DIMENSIONE
VINCOLI DESCRIZIONE
ID Amico Numerico Intero lungo Primary Key
Nominativo amico
Testo 50 Not null
Indirizzo amico
Testo 50 Not null
Comune residenza amico
Testo 50 Not null
Numero telefono amico
Testo 40 Not null
PROGETTAZIONE LOGICATABELLA LIBRI
NOME CAMPO
TIPO DI CAMPO
DIMENSIONE
VINCOLI DESCRIZIONE
ID Libro Numerico Intero lungo
Primary key
Titolo libro
Testo 50 Not null
Autore libro
Testo 50 Not null
PROGETTAZIONE LOGICATABELLA PRESTITI
NOME CAMPO
TIPO DI CAMPO
DIMENSIONE
VINCOLI DESCRIZIONE
ID prestito Numerico Intero lungo Foreign Key
Data prestito
Data - Not null
Data restituzione prestito
Data - Not null
SCHEMA LOGICO
VALORI NULLI
I valori nulli possono essere ammessi sull’attributo “Data Restituzione Prestito”, perché è possibile prestare un libro senza aver fissato una precisa data di restituzione; sarebbe difficile accettare valori nulli sull’attributo “Nominativo Amico”, perché di solito è necessario sapere chi ha il libro. L’attributo “Titolo Libro” è la chiave e quindi non può avere valori nulli.
2. INTEGRITA’ REFERENZIALE Le chiavi sono:
- “Cod” per la relazione PAZIENTI
- “Paziente” per la relazione RICOVERI
- “Matr” per la relazione MEDICI
- “Cod” per la relazione REPARTO
INTEGRITA’ REFERENZIALEUn paziente può essere ricoverato solo
una volta nello stesso giorno. Se supponiamo che questa ipotesi non venga soddisfatta, e che un paziente possa essere ricoverato più volte nello stesso giorno, la relazione non sarebbe corretta. Infatti due o più ricoveri nello stesso giorno e nello stesso reparto dovrebbero avere anche la stessa data di dimissione, e così sarebbe rappresentata nella stessa riga nella relazione.
INTEGRITA’ REFERENZIALEI vincoli di integrità che esistono nel
database sono tra l’attributo “Paziente” in RICOVERI e “Cod” in PAZIENTI, tra “Reparto” nella relazione RICOVERI e “Cod” nella relazione REPARTI, tra “Primario” in REPARTI e “Matr” nella relazione MEDICI e infine tra “Reparto” in MEDICI e “Cod” in REPARTI.
INTEGRITA’ REFERENZIALEI 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. Tutti questi attributi non sono chiavi e non hanno nessun vincolo di integrità referenziale.