Gestione Biblioteca Giacomo Di Bartolomeo Matr. 566007 CdL Economia E Management 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 del libri agli amici del proprietario. Schema Entità – Relazioni N Amici 1 N Prestito N 1 Libri N Progettazione Concettuale Sono state individuate le seguenti entità: • AMICI Per questa entità sono stati individuati i seguenti attributi: •C. F. – Codice univoco di ogni amico •Nome – Nome di ogni amico •Soprannome – Soprannome di ogni amico • LIBRI Per questa entità sono stati individuati i seguenti attributi: •Codice_Libro – Codice univoco di ogni libro •Titolo – Titolo di ogni libro presente in biblioteca Progettazione Logica DEFINIZIONE DELLE RELAZIONI 1 N Libri Amici N 1 N : Prestito N Progettazione Logica DEFINIZIONE DELLE RELAZIONI •Un amico può prendere in prestito molti libri •Un libro può essere richiesto da più amici Dalla relazione N : N deriva una ulteriore entità (PRESTITO) i cui attributi saranno i seguenti: • Id_Prestito: codice univoco del prestito • Campo link alla tabella Amici: definisce l’amico che ha preso in prestito un libro • Campo link alla tabella Libri: definisce il libro oggetto di prestito • Data_Prestito: data in cui il libro viene preso in prestito • Data_Restituzione: data in cui sarà restituito il libro Progettazione Logica DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Amici Nome Campo Tipo Dimensione Vincoli C. F. Testo 16 Primary Key Nome Testo 40 Not Null Soprannome Testo 40 Unique Note Tabella Libri Nome Campo Tipo Dimensione Vincoli Codice_Libro Testo 10 Primary Key Titolo Testo 40 Unique Note Progettazione Logica DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Prestito Nome Campo Tipo Dimensione Vincoli Id_Prestito Testo 10 Primary Key FKAmiciPrestito Testo 16 Foreign Key FKLibriPrestito Testo 10 Foreign Key Data_Prestito Data Not Null Data_Restituzione Data Not Null Note Schema Logico Seconda richiesta Tabella Pazienti: Codice(Chiave Primaria, NOT NULL) Tabella Reparti: Cod(Chiave Primaria, NOT NULL) Primario(Foreign Key, NOT NULL) Tabella Ricoveri Paziente(Chiave Primaria, Foreign Key tabella Pazienti, NOT NULL); Reparto(Chiave Primaria, Foreign Key tabella Reparti, NOT NULL); Tabella Medici: Matr(Chiave Primaria, NOT NULL) Reparto(Foreign Key tabella Reparti, NOT NULL) Seconda richiesta Nelle tabelle “Medici” e “Pazienti” tutti i campi sono obbligatori in quanto ci potrebbero essere pazienti con lo stesso cognome che non potrebbero essere identificati senza il nome, fermo restando il codice. Nella tabella “Reparti” anche il nome è obbligatorio in quanto serve per sapere di che reparto si tratta. Non è ipotizzabile inserire valori nulli nelle due date presenti nei record della tabella “Ricoveri”, per completezza di informazioni. Quindi tutti i dati sono obbligatori