PROGETTAZIONE DI UN
DATABASE
Gestione dei prestiti di una biblioteca
personale
ANALISI DEI REQUISITI
Si vuole progettare un database per la
gestione dei prestiti di una biblioteca
personale.
Bisognerà memorizzare i dati relativi a:
 amici;
 libri.
DOMINIO APPLICATIVO

È rappresentato da tutte le entità coinvolte
nel sistema biblioteca, in particolare quelle
relative alla gestione dei prestiti
SCHEMA ENTITA’-RELAZIONI
:
N
N
amici
libri
1
1
:
:
N
N
prestiti
PROGETTAZIONE CONCETTUALE
Sono state individuate le seguenti entità:
 Libri
 Amici
Attributi amici:




Id amico: codice univoco di amico
Cognome amico
Nome amico
Soprannome amico
Attributi libri:


Id libro: codice univoco di libro
Titolo libro
PROGETTAZIONE LOGICA
Definizione delle relazioni
Libri
Amici
N
:
Prestiti
N
Dalla relazione N:N deriva una ulteriore entità
(prestiti) i cui attributi sono:
 Id prestito: codice univoco di prestito
 Data di restituzione del libro
 Campo link alla tabella amici
 Campo link alla tabella libri
Definizione delle caratteristiche degli
attributi: tabella amici
NOME
TIPO
DIMENSIONE
VINCOLI
Idamico
numerico
Intero lungo
Primary key
CognomeAmico
testo
30
Not null
NomeAmico
testo
20
Not null
SoprannomeAmico
testo
20
unique
COMMENTI
contatore
Tabella libri
NOME
TIPO
DIMENSIONE
VINCOLI
Idlibro
numerico
Intero lungo
Primary key
Titololibro
testo
60
unique
COMMENTI
contatore
Tabella prestiti
NOME
TIPO
DIMENSIONE
VINCOLI
COMMENTI
IdPrestito
numerico
Intero lungo
Primary key
contatore
Datarestituzion
ePrestito
testo
10
Not null
FkLibri
numerico
Intero lungo
Foreign key
(id libro)
Link alla tabella
libri
FkAmici
numerico
Intero lungo
Foreign key
(id amico)
Link alla tabella
amici
BASE DI DATI OSPEDALE: tabella
pazienti
NOME
TIPO
DIMENSIONE
VINCOLI
IdPaziente
Numerico
Intero lungo
Primary key
CognomePazie
nte
Testo
30
Not null
NomePaziente
Testo
30
Not null
COMMENTI
Contatore
Tabella reparti
NOME
TIPO
DIMENSIONE
VINCOLI
IdReparto
Numerico
Intero lungo
Primary key
NomeReparto
Testo
30
unique
FkMedici
Numerico
Intero lungo
Foreign key
(id medico)
COMMENTI
Contatore
Link alla tabella
medici
Tabella ricoveri
NOME
TIPO
DIMENSIONE
VINCOLI
IdRicovero
Numerico
Intero lungo
Primary key
InizioRicovero
Testo
20
Not null
FineRicovero
Testo
20
FkReparto
Numerico
Intero lungo
Foreign key (id
reparto)
COMMENTI
Contatore
Link alla tabella
reparti
Tabella medici
NOME
TIPO
DIMENSIONE
VINCOLI
IdMedico
Numerico
Intero lungo
Primary key
NomeMedico
Testo
30
Not null
CognomeMedic
o
Testo
30
Not null
FkReparti
Numerico
Intero lungo
Foreign key (id
reparto)
COMMENTI
Contatore
Link alla tabella
reparti