1) PROGETTAZIONE DI UN DATABASE PADULA LUCIA MATRICOLA N. 570960.

Post on 01-May-2015

215 views 0 download

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 rossimario@libero.it

FRANCO RINI VIA PO 3207744777 francorini@libero.it

LUISA VITA VIA PIAVE 3472233444 luisa_vita@hotmail.it

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