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

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

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

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

1) PROGETTAZIONE DI UN DATABASE

PADULA LUCIAMATRICOLA N. 570960

Page 2: 1) PROGETTAZIONE DI UN DATABASE PADULA LUCIA MATRICOLA 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.

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

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.

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

SCHEMA ENTITA’-RELAZIONI

1 : N

1 N

N 1

AMICI LIBRI

PRESTITI

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

PROGETTAZIONE CONCETTUALE Nel nostro database sono state individuate le seguenti entità:

- AMICI- LIBRI- PRESTITI

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

PROGETTAZIONE CONCETTUALE

AMICIPer l’entità amici sono presenti i seguenti attributi:

- Soprannome Amico- Indirizzo- Numero di telefono- Indirizzo e-mail

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

PROGETTAZIONE CONCETTUALE

LIBRI

Per l’entità libri sono presenti i seguenti attributi:- Titolo- Autore- Casa editrice

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

PROGETTAZIONE CONCETTUALE

PRESTITIPer l’entità Prestiti sono presenti i seguenti attributi:

- Libro- Amico- Data consegna- Data restituzione

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

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

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

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

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

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

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

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

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

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

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

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

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

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]

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

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

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

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

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

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

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

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

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

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

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

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