Progettazione DataBase Biblioteca Personale Calignano Domenico 566076 Analisi dei requisiti • Si vuole realizzare la gestione dei prestiti della biblioteca personale • A tale scopo occorrerà memorizzare i dati relativi a: • Libri • Amici Il fine ultimo è quello di ricavare informazioni su i prestiti Schema entità relazioni Progettazione concettuale • Nel nostro caso le entità sono: • Amici • Libri Entità amico • Id amico: codice univoco amico • Cognome: insieme di tutti i cognomi amici • Soprannome: insieme di tutti i soprannomi amici • Indirizzo: insieme indirizzi amici • Telefono: insieme numeri telefoni amici Entità libri • Id libro: codice univoco del libro • Titolo libro: insieme di tutti i titoli dei libri Progettazione logica Definizione delle relazioni Relazione N:N in quanto un amico può ricevere più libri, un libro può essere prestato a più amici Progettazione logica Dalla relazione N:N deriva una ulteriore entità (prestiti), i cui attributi saranno: Id prestito: codice univoco di del prestito Campo link alla tabella amico Campo link alla tabella libro Data inizio prestito Data fine prestito Tabella Amici Nome campo Tipo campo Dimensione Vincoli Id amico Numerico Intero lungo Primary Key Nome amico Testo 15 Not null Soprannome amico Testo 20 Telefono amico Testo 15 Indirizzo amico Testo 30 Not null Note Tabella Libri Nome campo Tipo campo Dimensione Vincoli Id libro Numerico Intero lungo Primary Key Titolo libro Testo 50 Not null e unique Note Tabella prestiti Nome campo Tipo campo Dimensione Vincoli Note Id prestito Numerico Intero lungo Primary Key Data inizio prestito Data 50 Not null Data fine prestito Data 50 Not null FkAmico Numerico Intero lungo Foreign Key Link alla tabella Amici FkLibro Numerico Intero lungo Foreign Key Link alla tabella Libri PUNTO 2: BASE DATI OSPEDALE: N : 1 MEDICI 1 REPARTI : N RICOVERI N : 1 PAZIENTI N N Progettazione logica Definizione caratteristiche degli attributi Tabella medici Nome campo Tipo campo Dimensione Vincoli Matr Numerico Intero Lungo Primary Key Nome Testo 30 Not Null Cognome Testo 30 Not Null FKreparto Numerico Note Foreign Key Link alla tabella reparto Tabella Reparti Nome Campo Tipo campo Dimensione Vincoli Cod Numerico Intero Lungo Primary Key Nome Testo 30 NOT NULL Primario Numerico Foreign Key, Unique Note Link alla tabella Medici con Matr Tabella Pazienti Nome Campo Tipo campo Dimensione Vincoli Cod Numerico Intero lungo Primary Key Nome Testo 30 Not null Cognome Testo 30 Not null Note Tabella Ricoveri Nome Campo Tipo Campo Dimensione Vincoli Note Id ricovero Numerico Intero Lungo Primary key FKpazienti Numerico Intero Lungo FK Link alla tabella pazienti FKreparto Numerico Intero Lungo FK Link alla tabella reparto Inizio Data Not null Fine Data Fine>Inizio