Gestione Biblioteca
Giacomo Di Bartolomeo
Matr. 566007
CdL Economia E Management
Dominio Applicativo
Nel nostro caso il dominio applicativo è rappresentato da
tutte le entità coinvolte nel sistema Biblioteca, in
particolare quelle relative alla gestione dei prestiti del
libri agli amici del proprietario.
Schema Entità – Relazioni
N
Amici
1
N
Prestito
N
1
Libri
N
Progettazione Concettuale
Sono state individuate le seguenti entità:
• AMICI
Per questa entità sono stati individuati i seguenti attributi:
•C. F. – Codice univoco di ogni amico
•Nome – Nome di ogni amico
•Soprannome – Soprannome di ogni amico
• LIBRI
Per questa entità sono stati individuati i seguenti attributi:
•Codice_Libro – Codice univoco di ogni libro
•Titolo – Titolo di ogni libro presente in biblioteca
Progettazione Logica
DEFINIZIONE DELLE RELAZIONI
1
N
Libri
Amici
N
1
N
:
Prestito
N
Progettazione Logica
DEFINIZIONE DELLE RELAZIONI
•Un amico può prendere in prestito molti libri
•Un libro può essere richiesto da più amici
Dalla relazione N : N deriva una ulteriore entità (PRESTITO) i cui attributi
saranno i seguenti:
• Id_Prestito: codice univoco del prestito
• Campo link alla tabella Amici: definisce l’amico che ha preso in prestito un
libro
• Campo link alla tabella Libri: definisce il libro oggetto di prestito
• Data_Prestito: data in cui il libro viene preso in prestito
• Data_Restituzione: data in cui sarà restituito il libro
Progettazione Logica
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Amici
Nome Campo
Tipo
Dimensione
Vincoli
C. F.
Testo
16
Primary
Key
Nome
Testo
40
Not Null
Soprannome
Testo
40
Unique
Note
Tabella Libri
Nome Campo
Tipo
Dimensione
Vincoli
Codice_Libro
Testo
10
Primary
Key
Titolo
Testo
40
Unique
Note
Progettazione Logica
DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Prestito
Nome Campo
Tipo
Dimensione
Vincoli
Id_Prestito
Testo
10
Primary
Key
FKAmiciPrestito
Testo
16
Foreign
Key
FKLibriPrestito
Testo
10
Foreign
Key
Data_Prestito
Data
Not Null
Data_Restituzione
Data
Not Null
Note
Schema Logico
Seconda richiesta
Tabella Pazienti:
Codice(Chiave Primaria, NOT NULL)
Tabella Reparti:
Cod(Chiave Primaria, NOT NULL)
Primario(Foreign Key, NOT NULL)
Tabella Ricoveri
Paziente(Chiave Primaria, Foreign Key tabella Pazienti, NOT NULL);
Reparto(Chiave Primaria, Foreign Key tabella Reparti, NOT NULL);
Tabella Medici:
Matr(Chiave Primaria, NOT NULL)
Reparto(Foreign Key tabella Reparti, NOT NULL)
Seconda richiesta
Nelle tabelle “Medici” e “Pazienti” tutti i campi sono obbligatori in quanto ci
potrebbero essere pazienti con lo stesso cognome che non potrebbero essere
identificati senza il nome, fermo restando il codice.
Nella tabella “Reparti” anche il nome è obbligatorio in quanto serve per sapere
di che reparto si tratta.
Non è ipotizzabile inserire valori nulli nelle due date presenti nei record della
tabella “Ricoveri”, per completezza di informazioni.
Quindi tutti i dati sono obbligatori
Scarica

Secondo compito: Progettazione di un database