


Si vuole automatizzare la gestione di una
biblioteca personale.
A tale scopo bisognerà memorizzare i dati
relativi a:
• AMICI
• LIBRI
• AUTORI
• CASE EDITRICI
Il fine ultimo è ricavare le informazioni relative
ai libri dati in prestito e alla loro data di
restituzione prevista.
2
Nel nostro caso il dominio applicativo è
rappresentato dal tutte le biblioteche.
3
AMICI
N: 1
AUTORI
PRESTITI
LIBRI
N: 1
CASE
EDITRICI
4

Nel nostro caso sono state individuate le
seguenti entità:
• AMICI
• LIBRI
• AUTORI
• CASE EDITRICI
• PRESTITI
5
AMICI
Per l’entità Amici sono stati individuati i seguenti
attributi:
• Id Amico: codice univoco dell’entità Amici;
• Soprannome Amico: insieme di tutti i nomi e/o
soprannomi degli amici del proprietario della
biblioteca che prendono in prestito i suoi libri.
6
AUTORI
Per l’entità Autori sono stati individuati i seguenti
attributi:
• Id Autore: codice univoco dell’entità Autori;
• Cognome Autore: insieme di tutti i cognomi degli
autori dei libri presenti in biblioteca;
• Nome Autore: insieme di tutti i nomi degli autori dei
libri presenti in biblioteca.
7
CASE EDITRICI
Per l’entità Case Editrici sono stati individuati i
seguenti attributi:
• Id Casa Editrice: codice univoco dell’entità Case
Editrici;
• Denominazione Casa Editrice: insieme di tutte le
denominazioni delle case editrici dei libri presenti in
biblioteca.
8
LIBRI
Per l’entità Libri sono stati individuati i seguenti
attributi:
• Id Libro: codice univoco dell’entità Libri;
• Titolo Libro: insieme di tutti i titoli dei libri presenti
nella biblioteca;
• Campo link alla tabella Autore: definisce l’autore
del libro presente nella biblioteca (posto che ogni
libro ha un solo autore);
• Campo link alla tabella Casa Editrice: definisce la
casa editrice del libro presente nella biblioteca.
9
DEFINIZIONE DELLE RELAZIONI
N : 1
AMICI
LIBRI
1 : N
N
:
N
PRESTITI
10
DEFINIZIONE DELLE RELAZIONI
Tra le tabelle LIBRI e AMICI esiste una relazione N : N,
infatti un amico del proprietario della biblioteca può
prendere in prestito più libri.
Mente uno stesso libro può essere preso in prestito, in
momenti diversi, da più amici del proprietario della
biblioteca.
11
DEFINIZIONE DELLE RELAZIONI
Dalla relazione N : N deriva una ulteriore entità,
PRESTITI, i cui attributi saranno i seguenti:
• Id Prestito: codice univoco dell’entità Prestiti;
• Campo link alla tabella Amici: definisce l’amico
che ha preso il libro in prestito;
• Campo link alla tabella Libri: definisce il libro preso
il prestito;
• Data del prestito: definisce la data in cui viene
dato il libro in prestito ;
• Data di restituzione: definisce la data prevista di
restituzione del libro preso in prestito.
12
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Amici
Nome
campo
Tipo
campo
Dimensione
Vincoli
IdAmico
Contatore
Intero Lungo
Primary
Key
SoprannomeAmico
Testo
50
Unique,
Not null
Note
13
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Autori
Nome
campo
Tipo
campo
Dimensione
Vincoli
IdAutore
Contatore
Intero Lungo
Primary
Key
CognomeAutore
Testo
40
Not null
NomeAutore
Testo
40
Not null
Note
14
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Case Editrici
Nome
campo
Tipo
campo
IdCasaEditrice
Contatore
Intero Lungo
Primary
Key
DenominazioneCasaEditrice
Testo
60
Unique,
Not null
Dimensione Vincoli Note
15
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Libri
Nome
campo
Tipo
campo
Dimensione
Vincoli
IdLibro
Contatore
Intero Lungo
Primary
Key
TitoloLibro
Testo
50
Unique,
Not null
Intero Lungo
Foreing
Key
Link alla
tabella
Autori
Intero Lungo
Foreing
Key
Link alla
tabella
CasaEditrice
FkAutore
FkCasaEditrice
Numerico
Numerico
Note
16
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Prestiti
Nome
campo
Tipo
campo
IdPrestito
Contatore
Dimensione Vincoli
Note
Intero Lungo
Primary
Key
Link alla
tabella
Amici
Link alla
tabella Libri
FkAmici
Numerico
Intero Lungo
Foreing
Key
FkLibri
Numerico
Intero Lungo
Foreing
Key
DataPrestito
Data
Not null
RestituzionePrestito
Data
Not null
17
Amici
IdAmico
SoprannomeAmico
1
Benny
2
Marilena
3
Gigi
Autori
IdAutore
CognomeAutore
NomeAutore
1
Brown
Dan
2
Vassallo
Nicla
3
Borgna
Eugenio
18
Case Editrici
IdCasaEditrice
DenominazioneCasaEditrice
1
Mondadori
2
Il Mulino
3
Feltrinelli
Libri
IdLibro
TitoloLibro
FkAutore
FkCasaEditrice
1
La solitudine dell’anima
3
3
2
Il simbolo perduto
1
1
3
Per sentito dire
2
3
19
Prestiti
IdPrestito
FkAmici
FkLibri
DataPrestito RestituzionePrestito
1
2
3
09/07/2010
09/08/2010
2
1
2
25/09/2010
25/10/2010
3
1
1
16/10/2010
16/11/2010
4
3
3
17/10/2010
17/11/2010
5
2
2
01/02/2011
01/03/2011
6
1
3
15/02/2011
15/03/2011
20
BENEFICI E SVANTAGGI VALORI NULLI
I campi all’interno dei quali non è possibile inserire
valore nullo portano sicuramente dei vantaggi
all’utilizzatore del Data Base, soprattutto se inesperto,
dato che egli non avrà la possibilità di inserire
all’interno dei Data Base record incompleti che
potrebbero andare ad inficiare sulla efficienza della
Base di Dati; ma allo stesso tempo non permettendo
all’utente di lasciare alcuni campo di un record
incompleti (per una successivo aggiornamento)
potrebbero costringerlo a non inserire un’istanza
all’interno del Data Base, se non dopo che ha
ottenuto tutte le informazioni da inserire in modo da
causare un spreco di risorse, in alcuni casi eccessivo.
21
22
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
FkMedici
Numerico
Note
Link alla
tabella
Medici
23
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Pazienti
Nome
campo
Tipo
campo
Dimensione
Vincoli
CodPaziente
Testo
4
Primary
Key
CognomePaziente
Testo
50
Not null
NomePaziente
Testo
50
Not null
Note
24
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Medici
Nome
campo
Tipo
campo
Dimensione
Vincoli
MatrMedico
Numerico
Intero Lungo
Primary
Key
CognomeMedico
Testo
50
Not null
NomeMedico
Testo
50
Not null
1
Foreing
Key
FkReparti
Testo
Note
Link alla
tabella
Reparti
25
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Ricoveri
Nome
campo
FkPazienti
Tipo
Dimensione Vincoli
campo
Testo
FkReparti
Testo
InizioRicovero
Data
FineRicovero
Data
Note
4
Foreing
Key
Link alla
tabella
Pazienti
1
Foreing
Key
Link alla
tabella
Reparti
Primary
Key
(Super
Chiave)
Not null
26
L’unico attributo sul quale possa essere sensato
ammettere valori nulli, secondo me, è l’attributo
FineRicovero della tabella Ricoveri.
Infatti la data di fine ricovero non viene immessa
nel Data Base insieme alla registrazione del ricovero
del paziente ma solo in un memento successivo,
ovvero al momento della sua dimissione
dall’ospedale.
27
Scarica

Progettazione di un DataBase