110 likes | 307 Views
Esercizio 1 Progettazione DataBase di una biblioteca privata.
E N D
Esercizio 1 Progettazione DataBase di una biblioteca privata Si vuole automatizzare una biblioteca privata che presta libri agli amici. Gli amici sono indicati con il nome o il soprannome. Si fa riferimento ai libri attraverso i titoli e la biblioteca non possiede libri con lo stesso titolo. A tal fine è opportuno memorizzare i dati relativi agli amici e ai libri per ricavare le informazioni su ciò che viene dato in prestito. Ai fini della progettazione concettuale le entità individuate sono le seguenti: Libri Amici
Progettazionelogica • Tra le due entità individuate sussiste una relazione N:N per cui si ritiene opportuno inserire una ulteriore entità (tabella di mezzo) chiamata “Dataprestiti”. • 1 : N • N : 1 N : N Libri Amici Dataprestiti
Progettazione logica Gli attributi individuati per l’entità Libri sono: Gli attributi individuati per l’entità Amici sono: Gli attributi individuati per l’entità Dataprestitisono: Idprestito Campo link alla tabella Amici Campo link alla tabella Libri Data consegna Data reso prevista Data reso effettiva Id Amico Nome/SoprannomeAmico Telefono Email Città
Progettazione logicaDefinizione delle caratteristiche degli attributi • Tabella Amici • Tabella Libri
Progettazione logicaDefinizione delle caratteristiche degli attributi • Tabella DataPrestiti • t
Base di dati – Tabelle Amici Libri Dataprestiti
Chiavi e valori nulli • Nella tabella Amici una chiave primaria è ID Amici, un’altra è Nome/SoprannomeAmici; • Nella tabella Libri una chiave primaria è IDTitolo, un’altra è Titololibri; • Nella tabella Dataprestiti la chiave primaria è Idprestiti e un’altra è Idprestiti e Dataconsegna • Oltre queste chiavi, nel definire le caratteristiche degli attributi, sono state riportate anche le chiavi esterne delle relazioni. • I valori nulli non possono esserci nei campi chiave primaria. • Nell’esempio del database riportato, un valore nullo potrebbe aversi nell’attributo Email della tabella Amici, considerato che non tutti gli amici possono esserne forniti. La dicitura “null”in quel caso ,pur costituendo una perdita di informazione, non è causa di grossi problemi.
Base di dati ospedale • Nella tabella Pazienti • Superchiave: CodCognomeNome • Cod è chiave minimale e superchiave ed è anche chiave primaria perchè non nulla • tabella Reparti • superchiavi: cod, Nome, NomePrimario, CodPrimario. • chiavi minimali:Cod, Nome; sono anche primarie perchè non nulle • tabella Ricoveri • superchiave e chiave minimale primaria: PazienteInizio • Tabella Medici • superchiave: Matr. oppure Matr,NomeCognome, oppure NomeCognomeReparto. • chiave minimale e primaria: Matr, oppure NomeCognomeReparto • anche CognomeReparto è una chiave ma solo "per caso"
Vincoli di integrità Nella base di dati ospedale i vincoli di integrità si riscontrano come segue: • tra gli attributi Paziente, Inizio della relazione Ricoveri e la relazione Pazienti; • tra l'attributo Cod della relazione Reparti e la relazione Ricoveri; • tra l'attributo Matr della relazione Medici e la relazione Reparti • Ci possono essere dei valori nulli nella tabella Pazienti in corrispondenza delle ennuple attribuite agli attributi Cognome e Nome (es. viene ricoverato al pronto soccorso un individuo di cui non sono note le generalità ma ha diritto comunque ad essere curato)