1) PROGETTAZIONE DI UN DATABASE PADULA LUCIA MATRICOLA N. 570960.
-
Upload
aurelio-pozzi -
Category
Documents
-
view
215 -
download
0
Transcript of 1) PROGETTAZIONE DI UN DATABASE PADULA LUCIA MATRICOLA N. 570960.
1) PROGETTAZIONE DI UN DATABASE
PADULA LUCIAMATRICOLA N. 570960
ANALISI DEI REQUISITI
Si vuole progettare un database per i prestiti di una biblioteca personale
A tale scopo bisognerà tener conto che:- La biblioteca presta i libri ai propri amici;- Un amico può prendere in prestito più libri;- Il proprietario non ha libri con lo stesso titolo.
DOMINIO APPLICATIVO Lo scopo è quello di comprendere a fondo i concetti,
le dinamiche, le regole generali in cui la struttura di dati dovrà essere impiegata, ovvero il contesto in cui il software dovrà agire.
Nel nostro caso il dominio applicativo è rappresentato da tutte le entità coinvolte nel sistema biblioteca personale ed in particolare quelle relative alla gestione dei prestiti dei libri.
SCHEMA ENTITA’-RELAZIONI
1 : N
1 N
N 1
AMICI LIBRI
PRESTITI
PROGETTAZIONE CONCETTUALE Nel nostro database sono state individuate le seguenti entità:
- AMICI- LIBRI- PRESTITI
PROGETTAZIONE CONCETTUALE
AMICIPer l’entità amici sono presenti i seguenti attributi:
- Soprannome Amico- Indirizzo- Numero di telefono- Indirizzo e-mail
PROGETTAZIONE CONCETTUALE
LIBRI
Per l’entità libri sono presenti i seguenti attributi:- Titolo- Autore- Casa editrice
PROGETTAZIONE CONCETTUALE
PRESTITIPer l’entità Prestiti sono presenti i seguenti attributi:
- Libro- Amico- Data consegna- Data restituzione
PROGETTAZIONE LOGICA
PRESTITI AMICI
DEFINIZIONE DELLA RELAZIONE
1 : N
- Un amico può ottenere più prestiti- Lo stesso prestito non può essere concesso a più amici
PROGETTO LOGICODEFINIZIONE DELLE RELAZIONI
- Uno stesso libro non può essere concesso in prestito più volte- Un prestito può comprendere più libri
PRESTITI LIBRI
1 : N
PROGETTO LOGICO
DEFINIZIONE DELLE RELAZIONI
- Un amico può prendere in prestito più libri
- Un libro può essere preso in prestito da un solo amico
AMICI
1 : N LIBRI
PROGETTAZIONE LOGICADEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTITABELLA AMICI
NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI
SOPRANNOME TESTO 30 PRIMARY KEY
INDIRIZZO TESTO 40 NOT NULL
NUMERO DI TELEFONO
NUMERICO INTERO LUNGO NOT NULL
INDIRIZZO E-MAIL TESTO 30 NULL
PROGETTAZIONE LOGICADEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTITABELLA LIBRI
NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI
TITOLO TESTO 30 PRIMARY KEY
AUTORE TESTO 30 NOT NULL
CASE EDITRICI TESTO 30 NOT NULL
PROGETTAZIONE LOGICADEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTITABELLA PRESTITI
NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI
SOPRANNOME TESTO 40 FOREIGN KEY
TITOLO TESTO 30 FOREIGN KEY
DATA CONSEGNA DATA NOT NULL
DATA RESTITUZIONE
DATA NOT NULL
CODPRESTITO NUMERICO INTERO LUNGO PRIMARY KEY
NOTE
LINK TABELLA AMICI
LINK TABELLA TITOLI
ESEMPIO DATABASE
TABELLA AMICI
SOPRANNOME INDIRIZZO N. TELEFONO E-MAIL
CARLO VERO VIA ROMA 3331111111 [email protected]
FRANCO RINI VIA PO 3207744777 [email protected]
LUISA VITA VIA PIAVE 3472233444 [email protected]
ESEMPIO DATABASE
TABELLA LIBRI
TITOLO AUTORE CASA EDITRICE
ORGOGLIO E PREGIUDIZIO
JANE AUSTEN GARZANTI
IL CODICE DA VINCI DAN BROWN MONDADORI
LA FORZA DELLA RAGIONE
ORIANA FALLACI RIZZOLI
ESEMPIO DATABASE
TABELLA PRESTITI
CODICE PRESTITO
SOPRANNOME TITOLO DATA CONSEGNA
DATA RESTITUZIONE
01541 CARLO VERO IL CODICE DA VINCI
07/01/2011 31/01/2011
01224 LUISA VITA ORGOGLIO E PREGIUDIZIO
13/01/2011 25/02/2011
01475 FRANCO RINI LA FORZA DELLA RAGIONE
10/01/2011 01/02/2011
2) BASE DATI OSPEDALE TABELLA PAZIENTI
A mio parere non sono presenti in tal caso valori nulli visto che è importante conoscere per ogni cliente cognome e nome.
NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI NOTE
CODPAZIENTI TESTO 10 PRIMARY KEY
COGNOME TESTO 40 NOT NULL
NOME TESTO 40 NOT NULL
2) BASE DATI OSPEDALE TABELLA REPARTI
A mio parere non sono presenti in tal caso valori nulli visto che è rilevante sapere per ogni reparto il nome dello stesso altre al codice che lo identifica univocamente.
NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI NOTE
CODREPARTO NUMERICO INTERO LUNGO PRIMARY KEY
NOME TESTO 40 NOT NULL
PRIMARIO NUMERICO INTERO LUNGO FOREIGN KEY LINK TABELLA MEDICI
2) BASE DATI OSPEDALE TABELLA RICOVERI
A mio parere non sono presenti in tal caso valori nulli visto che è rilevante sapere per ogni ricovero inizio e la fine dello stesso e il reparto in cui il paziente è ricoverato. Non è, invece, presente la chiave primaria: sarebbe necessario ad es. il campo CODRICOVERI.
NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI NOTE
CODPAZIENTE NUMERICO INTERO LUNGO FOREIGN KEY LINK TABELLA MEDICI
INIZIO DATA NOT NULL
FINE DATA NOT NULL
CODREPARTO NUMERICO 3 FOREIGN KEY LINK TABELLA REPARTO
2) BASE DATI OSPEDALE TABELLA MEDICI
A mio parere non sono presenti in tal caso valori nulli visto che è rilevante sapere per ogni medico sapere nome, cognome e reparto in cui lavora.
NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI NOTE
MATRICOLA NUMERICO INTERO LUNGO PRIMARY KEY
NOME TESTO 30 NOT NULL
COGNOME TESTO 30 NOT NULL
REPARTO NUMERICO 3 FOREIGN KEY LINK TABELLA REPARTO