Analisi dei requisiti Si vuol progettare un Data Base per la gestione dei prestiti di una biblioteca personale. La progettazione deve tener conto di quanto emerso in fase di analisi: Il proprietario presta libri ai suoi amici; Un libro può essere preso in prestito da una sola persona; Un amico può prendere in prestito più libri. PRIMO PUNTOCaterina Sorino – – CdLM Marketing
Schema entità-relazioni PrestitiAmici N : N 1 : N N : 1 Libri
Progettazione concettuale Sono state individuate le seguenti entità: Amici Prestiti
Per lentità Amici sono stati individuati i seguenti attributi: Id amico Nome amico Cognome amico Soprannome amico Indirizzo amico NumTel amico Amici
Per lentità Prestiti sono stati individuati i seguanti attributi: Id prestito Data inizio prestito Data consegna prestito Prestiti
Progettazione logica Dalla relazione N : N deriva unulteriore entità (LIBRI) i cui attributi saranno: Id libro Campo link alla tabella Amici: definisce la persona che ha preso in prestito il libro Campo link alla tabella Prestiti: definisce il prestito che è stato effettuato Titolo libro Genere letterario Autore libro Casa editrice libro
Definizione delle caratteristiche degli attributi Tabella AMICI Nome campoTipo campoDimensioneVincoliNote id amiconumintero lungoprimary key nome amicotesto40not null cognome amicotesto40not null soprannome amicotesto30not null indirizzo amicotesto50not null NumTel amiconumintero lungonot null
Tabella PRESTITI Nome campoTipo campoDimensioneVincoliNote id prestitonumintero lungoprimary key data inizio prestitodata not null data consegna prestitodata not null
Tabella LIBRI Nome campoTipo campoDimensioneVincoliNote id libronumintero lungoprimary key FK id prestitonumintero lungoforeign key link alla tabella PRESTITI FK id amiconumintero lungoforeign key link alla tabella AMICI titolo librotesto50not null genere letterario libro testo40not null autore librotesto40not null casa editrice librotesto40not null
Chiavi: Codice paziente (chiave primaria della tabella Pazienti – chiave esterna della tabella Ricoveri) Codice reparto (chiave primaria della tabella Reparti – chiave esterna delle tabelle Ricoveri e Medici) Matricola medico (chiave primaria della tabella Medici – chiave esterna della tabella Reparti). SECONDO PUNTO
Vincoli dintegrità: Tabella PAZIENTI AttributoVincolo d'integrità codiceprimary key cognomenot null nomenot null Tabella REPARTI AttributoVincolo d'intergrità codiceprimary key nomenot null primarioforeign key Tabella RICOVERI AttributoVincolo d'integrità pazienteforeign key inizio ricoveronot null fine ricoveronot null repartoforeign key Tabella MEDICI AttributoVincolo d'integrità matricolaprimary key nomenot null cognomenot null repartoforeign key
Attributi che possono ammettere valori nulli: Non ci sono attributi che possano ammettere valori nulli.