Compito di
Laura Lorusso (565547)
Abilità informatiche avanzate
CdLM in Marketing
Analisi dei requisiti
Si vuole automatizzare la gestione dei prestiti di una biblioteca
personale. A tale scopo bisognerà memorizzare i dati relativi alle entità
Amici e Libri.


Il fine ultimo è ricavare informazioni relative ai Prestiti effettuati.
Occorre considerare che il proprietario:
• indica i suoi amici semplicemente attraverso il nome o il soprannome
(per evitare omonimie);
• fa riferimento ai libri attraverso i titoli e non possiede libri con lo
stesso titolo;
• quando presta un libro prende nota della data prevista di restituzione.

Dominio applicativo
E’ rappresentato da tutte le entità coinvolte
nel sistema Biblioteca Personale relative alla
gestione dei prestiti: Amici, Libri e Prestiti.
Schema entità-relazioni
Amici
1
N
N
Prestiti
N
1
Libri
N
Progettazione concettuale
Amici
Per l’entità Amici sono stati individuati i seguenti
attributi:
•ID Amico
•Nome Amico
•Indirizzo Amico
•Telefono Amico
•E-mail Amico
Progettazione concettuale
Libri

Per l’entità Libri sono stati individuati i
seguenti attributi:
•ID Libro
•Titolo Libro
•Autore Libro
Progettazione logica
DEFINIZIONE DELLE RELAZIONI
Amici
N
:
N
•Un libro può essere preso in prestito da più amici
•Un amico può prendere in prestito più libri
Libri
Progettazione logica
DEFINIZIONE DELLE RELAZIONI
1
:
N
Libri
Amici
N
:
1
N : N
Prestiti
Progettazione logica
DEFINIZIONE DELLE RELAZIONI
Dalla relazione N:N deriva una ulteriore entità (PRESTITI) i cui attributi
saranno i seguenti:
ID prestito: codice univoco
Campo link alla tabella Amici: definisce a chi è stato prestato il libro
Campo link alla tabella Libri: definisce il libro che è stato preso in prestito
Data concessione prestito
Data prevista restituzione prestito
Progettazione logica
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Amici
Nome campo
Tipo campo
Dimensione
Vincoli
Note
Contatore
IDAmico
Numerico
Intero Lungo
Primary key
NomeAmico
Testo
50
Unique
IndirizzoAmico
Testo
40
TelefonoAmico
Testo
15
EmailAmico
Testo
50
N.B. L’Amico può avere più numeri di telefono, ma considerata l’analisi dei requisiti, non è
necessario specificare questa relazione.
Progettazione logica
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Libri
Nome campo
Tipo campo
Dimensione
Vincoli
Note
Contatore
IDLibro
Numerico
Intero Lungo
Primary key
TitoloLibro
Testo
150
Unique
AutoreLibro
Testo
50
N.B. Un autore, può aver scritto n libri, ma considerata l’analisi dei requisiti, non è necessario
specificare questa relazione.
Progettazione logica
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Prestiti
Nome campo
Tipo campo
Dimensione
Vincoli
Note
IDPrestito
Numerico
Intero Lungo
Primary key
Contatore
FKAmicoPrestito
Numerico
Intero Lungo
Foreign key
Link alla tabella
Amici
FKLibroPrestito
Numerico
Intero Lungo
Foreign key
Link alla tabella
Libri
DataConcessione
Prestito
Data
DataPrevistaRestit
uzionePrestito
Data
SCHEMA LOGICO
Considerazioni 1° punto
Non è possibile ammettere valori nulli per i campi chiave il cui scopo è quello
di identificare i record e realizzare riferimenti da altre relazioni. Ai fini di una
adeguata gestione dei prestiti devono essere not null i campi NomeAmico e
TitoloLibro; è sensato ammettere valori nulli per i campi
DataConcessionePrestito e DataPrevistaRestituzionePrestito.
Ritengo opportuno non inserire tale vincolo per il campo EmailAmico, perché
l’amico potrebbe non avere una e-mail; trattandosi poi di una biblioteca
personale non è necessario imporre il vincolo not null per i campi
IndirizzoAmico e TelefonoAmico, che potrebbero essere sconosciuti al
proprietario dei libri.
Infine, per quanto riguarda il campo AutoreLibro, trattandosi di un attributo di
scarsa importanza è bene ammettere l’inserimento di valori nulli.
Considerazioni 2° punto
Chiavi primarie
•“Cod” per la relazione Pazienti
•“Paziente” e “Inizio” per la relazione Ricoveri (a mio avviso è preferibile
inserire una chiave IDRicoveri di tipo contatore)
•“Matr” per la relazione Medici
•“Cod” per la relazione Reparti
Vincoli di integrità referenziale
•Tra l’attributo “Paziente” nella relazione Ricoveri e l’attributo “Cod” nella
relazione Pazienti
•Tra “Reparto” in Ricoveri e “Cod” in Reparti
•Tra “Primario” in Reparti e “Matr” in Medici
•Tra “Reparto” in Medici e “Cod” in Reparti
Valori nulli
E’ sensato ammettere valori nulli per gli attributi Cognome e Nome nella tabella
Pazienti, per l’attributo Fine nella tabella Ricoveri, per gli attributi Nome e
Cognome in Medici, per l’attributo Nome in Reparti.
Ad ogni modo ritengo che, ai fini di una corretta gestione del sistema Ospedale,
tutti i campi dovrebbero essere Not Null.
Scarica

clicca qui - WordPress.com