La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGETTAZIONE DI UN DATABASE Corso di Abilità Informatiche Avanzate Prof. Agostino Marengo a.a. 2010-2011 GELSOMINA PETTORRUSO Matricola: 566400.

Presentazioni simili


Presentazione sul tema: "PROGETTAZIONE DI UN DATABASE Corso di Abilità Informatiche Avanzate Prof. Agostino Marengo a.a. 2010-2011 GELSOMINA PETTORRUSO Matricola: 566400."— Transcript della presentazione:

1 PROGETTAZIONE DI UN DATABASE Corso di Abilità Informatiche Avanzate Prof. Agostino Marengo a.a GELSOMINA PETTORRUSO Matricola:

2 ANALISI DEI REQUISITI 1. Si vuole progettare un Database per la gestione dei prestiti di una biblioteca personale. La progettazione deve tener conto del fatto che il proprietario: presta libri ai suoi amici, che indica attraverso il nome o il soprannome (per evitare omonimie) fa riferimento ai libri attraverso i titoli (non possiede libri con lo stesso titolo) quando presta un libro prende nota della data prevista di restituzione. GESTIONE DEI PRESTITI BIBLIOTECA PERSONALE

3 DOMINIO APPLICATIVO Nel nostro caso il dominio applicativo è rappresentato da tutte le entità coinvolte nel sistema BIBLIOTECA, in particolare quelle relative alla gestione dei prestiti.

4 SCHEMA ENTITA-RELAZIONI : AMICILIBRI PRESTITI AUTORI CATEGORIE 1 : N N : N N : 1 1 : N AUTORI_LIBRI N : N N : 1 CASE EDITRICI N : 1

5 PROGETTAZIONE CONCETTUALE Sono state individuate le seguenti entità: AMICI LIBRI AUTORI CATEGORIE PRESTITI AUTORI_LIBRI CASE EDITRICI

6 PROGETTAZIONE CONCETTUALE AMICI Soprannome amico: insieme di tutti i soprannomi degli amici, campo univoco Nome amico: insieme di tutti i nomi degli amici Cognome amico: insieme di tutti i cognomi degli amici Numero di telefono: insieme di tutti i numeri di telefono degli amici insieme di tutti gli indirizzi degli amici Per lentità AMICI sono stati individuati i seguenti attributi:

7 PROGETTAZIONE CONCETTUALE LIBRI Titolo libro: campo univoco Campo link alla tabella Categorie: definisce la categoria di libro Editore libro Anno di pubblicazione Numero scaffale Numero posto Per lentità LIBRI sono stati individuati i seguenti attributi:

8 PROGETTAZIONE CONCETTUALE AUTORI Id Autore: codice univoco dellautore Nome Autore Cognome Autore Data di Nascita Luogo di Nascita Per lentità AUTORI sono stati individuati i seguenti attributi:

9 PROGETTAZIONE CONCETTUALE AUTORI_LIBRI Id Autore Libro: campo univoco Campo link alla tabella AUTORI Campo link alla tabella LIBRI Per lentità AUTORI_LIBRI sono stati individuati i seguenti attributi:

10 PROGETTAZIONE CONCETTUALE CATEGORIE Id Categoria: codice univoco della categoria Nome Categoria: insieme di tutte le categorie di libri Per lentità CATEGORIE sono stati individuati i seguenti attributi:

11 PROGETTAZIONE CONCETTUALE CASE EDITRICI Id Casa Editrice: codice univoco della categoria Nome Casa editrice: insieme di tutte le categorie di libri Città Per lentità CASE EDITRICI sono stati individuati i seguenti attributi:

12 PROGETTAZIONE CONCETTUALE PRESTITI Id Prestito: codice univoco del prestito Campo link alla tabella Amici: definisce la persona (amico) che ha preso in prestito il libro Campo link alla tabella Libri: definisce il libro che è stato preso in prestito Data inizio prestito Data riconsegna Per lentità PRESTITI sono stati individuati i seguenti attributi:

13 PROGETTAZIONE LOGICA Nome campoTipo campoDimensioneVincoliNote SoprannomeAmicotesto50Primary key NomeAmicotesto30 CognomeAmicotesto30 NumeroTelefonoTesto15Not null testo50 Tabella AMICI Definizione delle caratteristiche degli attributi Il soprannome dellamico (chiave primaria) è un campo che non può essere nullo; impostiamo come non nullo anche il campo numero di telefono così da avere un riferimento certo in caso di non restituzione del libro. Gli altri campi possono eventualmente essere nulli.

14 PROGETTAZIONE LOGICA Nome campoTipo campoDimensioneVincoliNote TitoloLibroTesto150Primary key EditoreLibroTesto40Not null FkCategoriaNumericoIntero LungoForeign keyLink alla tabella CATEGORIE AnnoDiPubblicazioneNumerico4 NumeroScaffaleNumericoIntero LungoNot null NumeroPostoNumericoIntero LungoNot null Tabella LIBRI Definizione delle caratteristiche degli attributi

15 PROGETTAZIONE LOGICA Nome campoTipo campoDimensioneVincoliNote IdAutoreNumericoIntero LungoPrimary key NomeAutoreTesto30Not null CognomeAutoreTesto30Not null DataDiNascitaData LuogoDiNascitaTesto50 Tabella AUTORI Definizione delle caratteristiche degli attributi

16 PROGETTAZIONE LOGICA Nome campoTipo campoDimensioneVincoliNote IdAutoreLibroNumericoIntero LungoPrimary key FkAutoreNumericoIntero LungoForeign keyLink alla tabella AUTORI FkTitoloLibroTesto150Foreign keyLink alla tabella LIBRI Tabella AUTORI_LIBRI Definizione delle caratteristiche degli attributi

17 PROGETTAZIONE LOGICA Nome campoTipo campoDimensioneVincoliNote IdCategoriaNumericoIntero LungoPrimary key NomeCategoriaTesto30Unique Tabella CATEGORIE Definizione delle caratteristiche degli attributi Nome campoTipo campoDimensioneVincoliNote IdCasaEditriceNumericoIntero LungoPrimary key NomeCasaEditriceTesto30Not null CittaTesto30 Tabella CASE EDITRICI

18 PROGETTAZIONE LOGICA Nome campoTipo campoDimensioneVincoliNote IdPrestitoNumericoIntero LungoPrimary key FkSoprannomeAmicoTesto50Foreign keyLink alla tabella AMICI FkTitoloLibroTesto100Foreign keyLink alla tabella LIBRI DataInizioPrestitoDataNot null DataFinePrestitoDataNot null Tabella PRESTITI Definizione delle caratteristiche degli attributi

19 SCHEMA LOGICO

20 2. Individuare le chiavi ed i vincoli di integrità referenziale che sussistono nella base di dati in figura e che è ragionevole assumere. Individuare anche gli attributi sui quali possa essere sensato ammettere valori nulli.

21 PAZIENTIREPARTI RICOVERI MEDICI 1 : N N : 1 N : N 1 : N SCHEMA ENTITA-RELAZIONI :

22 LE CHIAVI PRIMARIE possono essere: Codice (Cod) per la tabella PAZIENTI Matricola (Matr) per la tabella MEDICI Codice (Cod) per la tabella REPARTI Inizio * per la tabella RICOVERI La scelta della chiave primaria Inizio sulla tabella RICOVERI presuppone che non ci sia più di un ricovero nella stessa giornata, se così non fosse lunivocità della chiave verrebbe meno. I VINCOLI DI INTEGRITA REFERENZIALE sono: tra lattributo Paziente di RICOVERI e la tabella PAZIENTI tra Reparto di RICOVERI e la tabella REPARTI tra Reparto in MEDICI e la tabella REPARTI CHIAVI PRIMARIE E VINCOLI DI INTEGRITA REFERENZIALE

23 Fatta eccezione per le chiavi primarie che non possono avere valori nulli, sembra sensato ammettere valori nulli sugli attributi: Cognome e Nome di PAZIENTI (poiché si ha il codice identificativo del paziente) Fine di RICOVERI (poiché la data della fine del ricovero potrebbe non essere stabilita alla data del ricovero) Cognome e Nome di MEDICI (poiché ciascun medico è identificato da una matricola) Nome di REPARTI (essendo il reparto identificato da un codice) ATTRIBUTI SU CUI E SENSATO AMMETTERE VALORI NULLI


Scaricare ppt "PROGETTAZIONE DI UN DATABASE Corso di Abilità Informatiche Avanzate Prof. Agostino Marengo a.a. 2010-2011 GELSOMINA PETTORRUSO Matricola: 566400."

Presentazioni simili


Annunci Google