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.
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 AMICI LIBRI PRESTITI
PROGETTAZIONE CONCETTUALE Nel nostro database sono state individuate le seguenti entità: - AMICI - LIBRI - PRESTITI
PROGETTAZIONE CONCETTUALE AMICI Per 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 PRESTITI Per 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 PRESTITI AMICI
PROGETTO LOGICO LIBRI DEFINIZIONE DELLE RELAZIONI - Uno stesso libro non può essere concesso in prestito più volte - Un prestito può comprendere più libri 1 : N PRESTITI LIBRI
PROGETTO LOGICO DEFINIZIONE DELLE RELAZIONI - Un amico può prendere in prestito più libri - Un libro può essere preso in prestito da un solo amico 1 : N AMICI LIBRI
PROGETTAZIONE LOGICA DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI TABELLA AMICI NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI SOPRANNOME TESTO 30 PRIMARY KEY INDIRIZZO 40 NOT NULL NUMERO DI TELEFONO NUMERICO INTERO LUNGO INDIRIZZO E-MAIL TESTO 30 NULL
PROGETTAZIONE LOGICA DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI TABELLA LIBRI NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI TITOLO TESTO 30 PRIMARY KEY AUTORE NOT NULL CASE EDITRICI
PROGETTAZIONE LOGICA DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI TABELLA PRESTITI NOME CAMPO TIPO CAMPO DIMENSIONI VINCOLI SOPRANNOME TESTO 40 FOREIGN KEY TITOLO 30 DATA CONSEGNA DATA NOT NULL DATA RESTITUZIONE NOTE LINK TABELLA AMICI LINK TABELLA TITOLI CODPRESTITO NUMERICO INTERO LUNGO PRIMARY KEY
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 40 NOT NULL NOME
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 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 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 REPARTO NUMERICO 3 FOREIGN KEY LINK TABELLA REPARTO