La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGETTAZIONE DI UN DATABASE

Presentazioni simili


Presentazione sul tema: "PROGETTAZIONE DI UN DATABASE"— Transcript della presentazione:

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

2 GESTIONE DEI PRESTITI BIBLIOTECA PERSONALE 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. 

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 :
CASE EDITRICI N : 1 CATEGORIE AMICI LIBRI N : 1 N : N N : N AUTORI N : 1 1 : N 1 : N PRESTITI N : 1 AUTORI_LIBRI

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

6 PROGETTAZIONE CONCETTUALE
AMICI Per l’entità AMICI sono stati individuati i seguenti attributi: 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

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

8 PROGETTAZIONE CONCETTUALE
AUTORI Per l’entità AUTORI sono stati individuati i seguenti attributi: Id Autore: codice univoco dell’autore Nome Autore Cognome Autore Data di Nascita Luogo di Nascita

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

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

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

12 PROGETTAZIONE CONCETTUALE
PRESTITI Per l’entità PRESTITI sono stati individuati i seguenti attributi: 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

13 Definizione delle caratteristiche degli attributi
PROGETTAZIONE LOGICA Definizione delle caratteristiche degli attributi Tabella AMICI Nome campo Tipo campo Dimensione Vincoli Note SoprannomeAmico testo 50 Primary key NomeAmico 30 CognomeAmico NumeroTelefono Testo 15 Not null Il soprannome dell’amico (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 Definizione delle caratteristiche degli attributi
PROGETTAZIONE LOGICA Definizione delle caratteristiche degli attributi Tabella LIBRI Nome campo Tipo campo Dimensione Vincoli Note TitoloLibro Testo 150 Primary key EditoreLibro 40 Not null FkCategoria Numerico Intero Lungo Foreign key Link alla tabella CATEGORIE AnnoDiPubblicazione 4 NumeroScaffale NumeroPosto

15 Definizione delle caratteristiche degli attributi
PROGETTAZIONE LOGICA Definizione delle caratteristiche degli attributi Tabella AUTORI Nome campo Tipo campo Dimensione Vincoli Note IdAutore Numerico Intero Lungo Primary key NomeAutore Testo 30 Not null CognomeAutore DataDiNascita Data LuogoDiNascita 50

16 Definizione delle caratteristiche degli attributi
PROGETTAZIONE LOGICA Definizione delle caratteristiche degli attributi Tabella AUTORI_LIBRI Nome campo Tipo campo Dimensione Vincoli Note IdAutoreLibro Numerico Intero Lungo Primary key FkAutore Foreign key Link alla tabella AUTORI FkTitoloLibro Testo 150 Link alla tabella LIBRI

17 Definizione delle caratteristiche degli attributi
PROGETTAZIONE LOGICA Definizione delle caratteristiche degli attributi Tabella CATEGORIE Nome campo Tipo campo Dimensione Vincoli Note IdCategoria Numerico Intero Lungo Primary key NomeCategoria Testo 30 Unique Tabella CASE EDITRICI Nome campo Tipo campo Dimensione Vincoli Note IdCasaEditrice Numerico Intero Lungo Primary key NomeCasaEditrice Testo 30 Not null Citta

18 Definizione delle caratteristiche degli attributi
PROGETTAZIONE LOGICA Definizione delle caratteristiche degli attributi Tabella PRESTITI Nome campo Tipo campo Dimensione Vincoli Note IdPrestito Numerico Intero Lungo Primary key FkSoprannomeAmico Testo 50 Foreign key Link alla tabella AMICI FkTitoloLibro 100 Link alla tabella LIBRI DataInizioPrestito Data Not null DataFinePrestito

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 SCHEMA ENTITA’-RELAZIONI :
MEDICI PAZIENTI REPARTI 1 : N N : N 1 : N N : 1 RICOVERI

22 CHIAVI PRIMARIE E VINCOLI DI INTEGRITA’ REFERENZIALE
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 l’univocità della chiave verrebbe meno. I VINCOLI DI INTEGRITA’ REFERENZIALE sono: • tra l’attributo Paziente di RICOVERI e la tabella PAZIENTI • tra Reparto di RICOVERI e la tabella REPARTI • tra Reparto in MEDICI e la tabella REPARTI

23 ATTRIBUTI SU CUI E’ SENSATO AMMETTERE VALORI NULLI
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)


Scaricare ppt "PROGETTAZIONE DI UN DATABASE"

Presentazioni simili


Annunci Google