PROGETTAZIONE DI UN DATABASE Gestione dei prestiti di una biblioteca personale ANALISI DEI REQUISITI Si vuole progettare un database per la gestione dei prestiti di una biblioteca personale. Bisognerà memorizzare i dati relativi a: amici; libri. DOMINIO APPLICATIVO È rappresentato da tutte le entità coinvolte nel sistema biblioteca, in particolare quelle relative alla gestione dei prestiti SCHEMA ENTITA’-RELAZIONI : N N amici libri 1 1 : : N N prestiti PROGETTAZIONE CONCETTUALE Sono state individuate le seguenti entità: Libri Amici Attributi amici: Id amico: codice univoco di amico Cognome amico Nome amico Soprannome amico Attributi libri: Id libro: codice univoco di libro Titolo libro PROGETTAZIONE LOGICA Definizione delle relazioni Libri Amici N : Prestiti N Dalla relazione N:N deriva una ulteriore entità (prestiti) i cui attributi sono: Id prestito: codice univoco di prestito Data di restituzione del libro Campo link alla tabella amici Campo link alla tabella libri Definizione delle caratteristiche degli attributi: tabella amici NOME TIPO DIMENSIONE VINCOLI Idamico numerico Intero lungo Primary key CognomeAmico testo 30 Not null NomeAmico testo 20 Not null SoprannomeAmico testo 20 unique COMMENTI contatore Tabella libri NOME TIPO DIMENSIONE VINCOLI Idlibro numerico Intero lungo Primary key Titololibro testo 60 unique COMMENTI contatore Tabella prestiti NOME TIPO DIMENSIONE VINCOLI COMMENTI IdPrestito numerico Intero lungo Primary key contatore Datarestituzion ePrestito testo 10 Not null FkLibri numerico Intero lungo Foreign key (id libro) Link alla tabella libri FkAmici numerico Intero lungo Foreign key (id amico) Link alla tabella amici BASE DI DATI OSPEDALE: tabella pazienti NOME TIPO DIMENSIONE VINCOLI IdPaziente Numerico Intero lungo Primary key CognomePazie nte Testo 30 Not null NomePaziente Testo 30 Not null COMMENTI Contatore Tabella reparti NOME TIPO DIMENSIONE VINCOLI IdReparto Numerico Intero lungo Primary key NomeReparto Testo 30 unique FkMedici Numerico Intero lungo Foreign key (id medico) COMMENTI Contatore Link alla tabella medici Tabella ricoveri NOME TIPO DIMENSIONE VINCOLI IdRicovero Numerico Intero lungo Primary key InizioRicovero Testo 20 Not null FineRicovero Testo 20 FkReparto Numerico Intero lungo Foreign key (id reparto) COMMENTI Contatore Link alla tabella reparti Tabella medici NOME TIPO DIMENSIONE VINCOLI IdMedico Numerico Intero lungo Primary key NomeMedico Testo 30 Not null CognomeMedic o Testo 30 Not null FkReparti Numerico Intero lungo Foreign key (id reparto) COMMENTI Contatore Link alla tabella reparti