PROGETTAZIONE DI UN DATABASE Secondo Compito – Abilità Informatiche (4CFU) Docente: Prof. Marengo Agostino Studente: La Croix Claudio
Gestione prestiti biblioteca personale Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso il nome o il soprannome (per evitare omonimie) e 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. Definire uno schema di relazione per presentare queste informazioni, individuando opportuni domini per i vari attributi e mostrarne un’istanza in forma tabellare; indicare la chiave (o le chiavi) della relazione. Valutare le eventuali esigenze di rappresentazione dei valori nulli, con i benefici e le difficoltà connesse.
Schema di relazione La relazione che lega il libro agli amici è di 1:N in quanto un libro può essere scelto da più amici. La relazione che lega l’amico ai libri è di N:1 in quanto un amico può scegliere più libri. Questo comporta che tra libri ed amici c’è una relazione N:N che genera la tabella PRESTITI
Definizione delle caratteristiche degli attributi TABELLA AMICI Nome Campo Tipo Campo Dimensione Vincoli Note IdAmico Numerico Intero lungo primary key NomeAmico Testo 20 not null SoprannomeAmico CognomeAmico 30 MailAmico 50 TelefonoAmico
Definizione delle caratteristiche degli attributi(2) TABELLA LIBRI Nome Campo Tipo Campo Dimensione Vincoli Note TitoloLibro Testo 40 primary key AutoreLibro 30 not null EditoreLibro PagineLibro Numerico 4
Definizione delle caratteristiche degli attributi(3) TABELLA PRESTITI Nome Campo Tipo Campo Dimensione Vincoli Note IdPrestito Numerico Intero lungo primary key FkAmicoPrestito foreign key link tabella amici FkTitoloLibroPrestito Testo 40 link tabella libri Data prestito Data not null Data restituzione prevista Data restituzione effettiva
Benefici e difficoltà valori nulli I valori nulli possono essere ammessi sull’attributo DataRestituzione, perché è possibile prestare un libro senza aver fissato una precisa data di restituzione. Sarebbe difficile accettare valori nulli sull’attributo “Nome”, perché di solito è necessario sapere chi ha il libro. L’attributo “Libro” è la chiave e quindi non può avere valori nulli.
Base dati ospedale Si faccia il download della base di dati (figura pdf) scaricabile al link "Base dati Ospedale" che è presente nella sezione "Compiti". Individuare le chiavi ed i vincoli di integrità referenziale che sussistono nella base di dati in figura e che è ragionevole assumere siano soddisfatti da tutte le basi di dati sullo stesso schema. Individuare anche gli attributi sui quali possa essere sensato ammettere valori nulli.
Definizione delle caratteristiche degli attributi TABELLA PAZIENTI Nome Campo Tipo Campo Dimensione Vincoli Note IdPaziente Numerico Intero lungo primary key CognomePaziente Testo 30 not null NomePaziente 20 DataNascitaPaziente Data
Definizione delle caratteristiche degli attributi(2) TABELLA REPARTI Nome Campo Tipo Campo Dimensione Vincoli Note IdReparto Numerico Intero lungo primary key NomeReparto Testo 30 not null FkPrimarioReparto foreign key link tabella medici
Definizione delle caratteristiche degli attributi(3) TABELLA MEDICI Nome Campo Tipo Campo Dimensione Vincoli Note IdMedico Numerico Intero lungo primary key CognomeMedico Testo 30 not null NomeMedico 20 FkMedicoReparto foreign key link tabella reparti
Definizione delle caratteristiche degli attributi(4) TABELLA RICOVERI Nome Campo Tipo Campo Dimensione Vincoli Note IdRicovero Numerico Intero lungo primary key FkRicoveroPaziente foreign key link tabella pazienti FkRicoveroReparto link tabella reparto InizioRicovero Data not null FineRicovero