Progettazione di un DataBase
description
Transcript of Progettazione di un DataBase
Progettazione di un DataBase
Dominio applicativo: biblioteca personale;Fine ultimo:ricavare le informazioni relative ai prestiti di libri effettuati agli amici
Analisi dei requisiti relativi a: - AMICI;- LIBRI.
Schema entità – relazioni
AMICI LIBRI
PRESTITI
1 : N
N : 1
1
:
N
1
:
N
Progettazione concettuale
Per ciascuna entità vengono definiti gli attributi.
AMICI: id amico, nome o soprannome, e-mail, telefono;
LIBRI: id libro, titolo libro, autore, data restituzione.
Progettazione logica
Definizione delle relazioni:-1 libro può essere prestato a più amici, relazione 1:N;-1 amico può ricevere in prestito più libri, relazione 1:N.
Ne deriva una relazione N:N, da cui scaturisce l’entità PRESTITI, i cui attributi sono: id prestito, data prestito, titolo libro, nome amico.
Definizione delle caratteristiche degli attributi
NOME CAMPO
TIPO CAMPO
DIMENSIONE VINCOLI NOTE
ID AMICO NUMERICO INTERO LUNGO
PRIMARY KEY
NOME O SOPRANNOME AMICO
TESTO 30 UNIQUE
E-MAIL TESTO 40 NOT NULL
TELEFONO NUMERICO INTERO LUNGO
NOT NULL
TABELLA AMICI
TABELLA LIBRI
NOME CAMPO
TIPO CAMPO DIMENSIONE VINCOLI NOTE
ID LIBRO NUMERICO INTERO LUNGO
PRIMARY KEY
TITOLO LIBRO TESTO 40 UNIQUE
AUTORE TESTO 30 NOT NULL
FK PRESTITO DATA FOREIGN KEY
LINK ALLA TABELLA PRESTITI
TABELLA PRESTITI
NOME CAMPO
TIPO CAMPO DIMENSIONE VINCOLI NOTE
ID PRESTITO NUMERICO INTERO LUNGO
PRIMARY KEY
DATA RESTITUZIONE
DATA NOT NULL
FK LIBRO NUMERICO INTERO LUNGO
FOREIGN KEY
LINK ALLA TABELLA LIBRI
FK AMICO NUMERICO INTERO LUNGO
FOREIGN KEY
LINK ALLA TABELLA AMICI
SECONDO ESERCIZIOLe chiavi del DataBase OSPEDALE sono rappresentate dal dominio COD della tabella PAZIENTI, dal dominio COD della tabella REPARTI e dal dominio MATR della tabella MEDICI.
I vincoli di integrità referenziale sono corretti e rappresentano informazioni possibili per l’applicazione, con coerenza interna dei dati. Essi sono appropriati in ogni campo, ma secondo me sarebbe meglio mettere nella tabella RICOVERI un ID RICOVERI come “primary key”, in modo da identificare in modo univoco un ricovero, facendo una tabella a parte di date INIZIO e FINE ricoveri. I vincoli sono tra gli attributi COD della relazione PAZIENTI e PAZIENTE di RICOVERI, tra COD di REPARTI e REPARTO di RICOVERI e MATR di MEDICI e PRIMARIO di REPARTI.
I valori nulli sono NOME e COGNOME di PAZIENTI e di MEDICI, NOME di REPARTI e INIZIO e FINE di RICOVERI.