Analisi dei requisiti
Si vuol progettare un Data Base per la gestione dei prestiti di una biblioteca
personale.La progettazione deve tener conto di quanto
emerso in fase di analisi:•Il proprietario presta libri ai suoi amici;
•Un libro può essere preso in prestito da una sola persona;
•Un amico può prendere in prestito più libri.
PRIMO PUNTO Caterina Sorino – 570458 – CdLM Marketing
Schema entità-relazioni
Prestiti AmiciN : N
1 : N N
:
1
Libri
Progettazione concettuale
Sono state individuate le seguenti entità:•Amici
•Prestiti
Per l’entità Amici sono stati individuati i seguenti attributi:
•Id amico•Nome amico
•Cognome amico•Soprannome amico
•Indirizzo amico•NumTel amico
Amici
Per l’entità Prestiti sono stati individuati i seguanti attributi:
•Id prestito•Data inizio prestito
•Data consegna prestito
Prestiti
Progettazione logicaDalla relazione N : N deriva un’ulteriore entità (LIBRI) i
cui attributi saranno:•Id libro
•Campo link alla tabella Amici: definisce la persona che ha preso in prestito il libro
•Campo link alla tabella Prestiti: definisce il prestito che è stato effettuato
•Titolo libro•Genere letterario
•Autore libro•Casa editrice libro
Definizione delle caratteristiche degli attributi
Tabella AMICI
Nome campo Tipo campo Dimensione Vincoli Note
id amico num intero lungo primary key
nome amico testo 40 not null
cognome amico testo 40 not null
soprannome amico testo 30 not null
indirizzo amico testo 50 not null
NumTel amico num intero lungo not null
Tabella PRESTITI
Nome campo Tipo campo Dimensione Vincoli Note
id prestito num intero lungo primary key
data inizio prestito data data not null
data consegna prestito data data not null
Tabella LIBRI
Nome campo Tipo campo Dimensione Vincoli Note
id libro num intero lungo primary key
FK id prestito num intero lungo foreign key link alla tabella PRESTITI
FK id amico num intero lungo foreign key link alla tabella AMICI
titolo libro testo 50 not null
genere letterario libro testo 40 not null
autore libro testo 40 not null
casa editrice libro testo 40 not null
Chiavi:
•Codice paziente (chiave primaria della tabella Pazienti – chiave esterna
della tabella Ricoveri)•Codice reparto (chiave primaria
della tabella Reparti – chiave esterna delle tabelle Ricoveri e Medici)
•Matricola medico (chiave primaria della tabella Medici – chiave esterna
della tabella Reparti).
SECONDO PUNTO
Vincoli d’integrità:
Tabella PAZIENTI
Attributo Vincolo d'integrità
codice primary key
cognome not null
nome not null
Tabella REPARTI
Attributo Vincolo d'intergrità
codice primary key
nome not null
primario foreign key
Tabella RICOVERI
Attributo Vincolo d'integrità
paziente foreign key
inizio ricovero not null
fine ricovero not null
reparto foreign key
Tabella MEDICI
Attributo Vincolo d'integrità
matricola primary key
nome not null
cognome not null
reparto foreign key
Attributi che possono ammettere valori nulli:
Non ci sono attributi che possano ammettere valori nulli.