De Sario Simona
Matricola: 565581
 Si
vuole automatizzare la gestione di una
biblioteca personale.
 A tale scopo bisognerà memorizzare i dati
relativi a:
•
•
 Il
AMICI
LIBRI
fine ultimo è ricavare le informazioni
relative al prestito e la loro data di
restituzione prevista.
 Nel
nostro caso il dominio applicativo è
rappresentato dal tutte le biblioteche.
AMICI
PRESTITI
LIBRI
 Nel
nostro caso sono state individuate le
seguenti entità:
•
•
•
LIBRI
AMICI
PRESTITI
LIBRI
Per l’entità Libri sono stati individuati i seguenti
attributi:
• TitoloLibro: Che comprende i titoli dei libri presenti nella
biblioteca.
• AutoreLibro: che comprende gli autori dei libri presenti nella
biblioteca (in realtà vi potrebbe essere anche una tabella
Autori con relazione 1:N con Libri).
• CasaEditriceLibro: che comprende le case editrici dei libri
presenti in biblioteca (in realtà vi potrebbe essere una tabella
Casa Editrice con relazione 1:n con Libri).
AMICI
Per l’entità Amici sono stati individuati i seguenti attributi:
NomeSoprannomeAmico: Contiene i nomi o i soprannomi
degli amici del proprietario della biblioteca (in modo tale da
essere univocamente individuati);
IndirizzoAmico: contiene i campi indicanti la via e il numero
civico di residenza dell’amico;
CittaAmico: contiene i campi indicanti il paese di residenza
dell’amico (in realtà è più corretto che ci sia un’altra tabella
Città collegata con Amico con una relazione 1:N)
DEFINIZIONE DELLE RELAZIONI
1 : N
AMICI
LIBRI
1 : N
N
:
PRESTITI
N
DEFINIZIONE DELLE RELAZIONI
Dalla relazione N : N deriva una ulteriore entità,
PRESTITI, i cui attributi saranno i seguenti:
• IdPrestito: codice univoco del prestito
• Campo
link
alla
tabella
Amici
(fkNomeSoprannomeAmico): definisce l’amico
che ha preso il libro in prestito
• Campo link alla tabella Libri (fkTitoloLibro):
definisce il libro preso il prestito
• DataPrestito: definisce la data del prestito
• DataPrevistaRestituzione: definisce la data
presunta di restituzione del libro preso in
prestito.
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Amici
Nome
campo
Tipo
campo
Dimensione
Vincoli
NomeSoprannome
Amico
Testo
50
Primary
Key
Testo
100
Testo
40
IndirizzoAmico
CittaAmico
Not null
Note
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Libri
Nome
campo
Tipo
campo
Dimensione
Vincoli
TitoloLibro
Testo
40
Primary
key
AutoreLibro
Testo
50
Not null
CasaEditriceLibro
Testo
20
Note
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Prestiti
Nome
campo
Tipo
campo
Dimensione
Vincoli
IdPrestito
Contatore
Intero Lungo
Primary
Key
FkNomeSoprannom
eAmico
Testo
50
Foreing
Key
Link alla
tabella Amici
FkTitoloLibro
Testo
40
Foreing
Key
Link alla
tabella Libri
DataPrestito
Data
Not null
RestituzionePrestito
Data
Not null
Note
Impostando come vincolo not null, non è possibile saltare la
compilazione del campo che, chi ha progettato il DB, ha
voluto che necessariamente sia inserito. Il vincolo not null
quindi è importante per campi necessari senza dei quali la
stessa istanza tabellare avrebbe poco senso. Il beneficio è
che senza la compilazione di un determinato campo il
soggetto non potrà andare avanti nell’immissione dei dati in
tabella mentre lo svantaggio è che se una informazione
anche se importante non è immediatamente disponibile non
si riuscirà ad andare avanti nella compilazione della tabella
e aggiungere l’informazione successivamente. Nel DB
biblioteca ho posto come Not null l’Autore nella tabella
Libro, in quanto informazione importante, come anche la
data del prestito e la data prevista di restituzione contenute
nella tabella Prestiti.
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Reparti
Nome
campo
Tipo
campo
Dimensione
Vincoli
CodReparto
Testo
1
Primary
Key
NomeReparto
Testo
40
Unique,
Not null
Intero Lungo
Foreing
Key
FkMedico
Numerico
Note
Link alla
tabella
Medici
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Pazienti
Nome
campo
Tipo
campo
Dimensione
Vincoli
CodPaziente
Testo
4
Primary
Key
CognomePaziente
Testo
40
Not null
NomePaziente
Testo
40
Not null
Note
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Ricoveri
Nome
campo
FkPaziente
Tipo
campo
Testo
FkReparto
Testo
InizioRicovero
Data
FineRicovero
Data
Dimensione
Vincoli
Note
4
Foreing
Key
Link alla
tabella
Pazienti
Foreing
Key
Link alla
tabella
Reparti
1
Not null
Superchiave
(Chiave
primaria di
Ricoveri)
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Medici
Nome
campo
Tipo
campo
Dimensione
Vincoli
MatrMedico
Numerico
Intero Lungo
Primary
Key
NomeMedico
Testo
40
Not null
CognomeMedico
Testo
40
Not null
1
Foreing
Key
FkReparto
Testo
Note
Link alla
tabella
Reparti
L’unico attributo sul quale possa essere sensato
ammettere valori nulli, è l’attributo FineRicovero
della tabella Ricoveri.
Infatti la data di fine ricovero non vieni immessa nel
Data Base insieme alla registrazione del ricovero del
paziente ma successivamente, ovvero al momento
della sua dimissione. Le altre informazioni sono
importanti, e quindi devono essere immesse
necessariamente.
Scarica

Progettazione di un DataBase