FLORIANA CAMERINO (matr. 570406)
ABILITA’ INFORMATICHE – II COMPITO: PROGETTAZIONE DI UN DATABASE
1. PROGETTAZIONE
Realizzazione di un DataBase per la gestione dei prestiti di una biblioteca personale.
L’obiettivo è quello di ricavare tutte le informazioni relative ai libri prestati dal proprietario
ai suoi amici.
a) ANALISI DEI REQUISITI:
Per la progettazione del DataBase occorre necessariamente tener conto delle
seguenti informazioni:
 il proprietario presta ai suoi amici (che indica con il nome o soprannome);
 i libri vengono distinti attraverso il titolo;
 non esistono libri con lo stesso titolo (non esistono copie di uno stesso libro);
 quando presta un libro prende nota della data prevista di restituzione.
Attraverso il DataBase il proprietario vuole sapere quale libro ha prestato, a chi
ha prestato il libro e quando si prevede la restituzione.
b) PROGETTAZIONE CONCETTUALE:
Per la gestione dei prestiti di una biblioteca personale sulla base delle
informazioni acquisite sono state individuate le seguenti entità:
 LIBRI: contiene tutte le informazioni relative ai libri posseduti dal
proprietario della biblioteca.
l’entità LIBRI contiene i seguenti «attributi»:
Id_Libro: codice univoco dei libri posseduti in biblioteca;
TitoloLibro: insieme di tutti i titoli dei libri posseduti;
 PRESTITI: contiene tutte le informazioni sui prestiti dei libri agli amici.
l’entità PRESTITI contiene i seguenti «attributi»:
Id_Prestito: codice univo dei prestiti;
NomeAmico: insieme degli amici che hanno preso in
prestito;
E-mailAmico: insieme degli indirizzi e-mail degli amici;
NtelefonoAmico: insieme dei recapiti telefonici;
DataRestituzione: insieme data prevista di restituzione.
c) PROGETTAZIONE LOGICA:
 Definizione delle Relazioni:
La relazione esistente tra le i due archivi del DataBase è di tipo UNO-A- MOLTI.
PRESTITI
AMICI
1 :N
LIBRI
Un amico può prendere in prestito contemporaneamente più libri dalla
biblioteca, mentre un libro può essere dato in prestito solo ad un amico
non essendoci copie dello stesso libro.
La relazione comporta l’inserimento nella tabella libri di una FOREIGN
KEY o chiave esterna, che diventa campo link con l’archivio selezionato
(PRESTITI AMICI).
 Definizione delle caratteristiche degli attributi:
Tabella PRESTITIAMICI
NOME CAMPO
TIPO CAMPO
DIMENSIONE
VINCOLI
Id_Prestito
Contatore
Intero Lungo
Primary Key
NomeAmico
Testo
30
NotNull
E-mailAmico
Alfanumerico
20
NotNull
NtelefonoAmico
Numerico
Intero Lungo
DataRestituzione
Data
NotNull
NOTE
Tabella LIBRI
NOME
CAMPO
TIPO
CAMPO
DIMENSIONE
VINCOLI
Id_Libro
Numerico
Intero Lungo
Primary Key
TitoloLibro
Testo
50
NotNull
Fk_Prestiti
Numerico
Intero Lungo
Foreign Key
NOTE
Link alla
tabella
PrestitiAmici
Esistenza di Valori NULLI:
Nella progettazione del DataBase per la gestione dei prestiti della biblioteca personale
sono necessarie due entità, Libri e PrestitiAmici, con i rispettivi attributi. Per ogni
attributo è stato indicato il vincolo di integrità, oltre alla chiave primaria ed esterna
importante è il vincolo NotNull assegnato a tutti quei campi obbligatori che non possono
assumere valore nullo, vincolo che facilita la raccolta di informazioni tra le diverse
tabelle sulla base delle relazioni esistenti.
Tuttavia, questo vincolo non può essere assegnato al campo FkPrestiti della tabella Libri,
poiché non tutti i libri della biblioteca risulteranno prestati in un determinato momento,
quindi il campo può assumere valore nullo per tutti quei libri presenti in biblioteca e non
prestati. La presenza di valori Nulli però, potrà ostacolare i riferimenti da altre relazioni.
2. DATA BASE OSPEDALE
REPARTI
PAZIENTI
1 :N
1:N
RICOVERI
1 :N
MEDICI
Entità necessarie per la
gestione dei ricoveri in un
ospedale.
Tabella PAZIENTI
NOME
CAMPO
TIPO
CAMPO
DIMENSIONE
VINCOLI
Id_Cod
Numerico
Intero lungo
Primary
Key
Cognome
Testo
40
NotNull
Nome
Testo
40
NotNull
NOME
CAMPO
TIPO
CAMPO
DIMENSIONE
VINCOLI
Id_Cod
Numerico
Intero Lungo
Primary
Key
Nome
Testo
30
NotNull
NOTE
Tabella REPARTI
NOTE
Tabella RICOVERI
NOME
CAMPO
TIPO
CAMPO
DIMENSION
E
VINCOLI
Id_Cod
Numerico Intero Lungo
Primary Key
Fk_Paziente
Numerico Intero Lungo
Foreign Key
Inizio
Data
Fine
Data
Fk_Reparto
Numerico Intero Lungo
NOTE
Link alla
tabella
PAZIENTI
NotNull
Foreign Key
Link alla
tabella
REPARTI
Tabella MEDICI
NOME
CAMPO
TIPO
CAMPO
DIMENSIONE
VINCOLI
Id_Matr
Numerico
Intero Lungo
Primary Key
Nome
Testo
40
NotNull
Cognome
Testo
40
NotNull
Reparto
Numerico
40
ForeignKey
NOTE
Link alla
tabella
REPARTI
Scarica

progettazione di un data base