UTENTE LIBRO N : N PRESTITO 1 : N N : 1
Individuate le seguenti entità: UTENTE LIBRO
Per lentità UTENTE sono stati individuati i seguenti attributi: ID UTENTE: codice univoco SOPRANNOME: insieme di tutti i soprannomi degli amici della biblioteca INDIRIZZO DATA DI NASCITA Per lentità LIBRO sono stati individuati i seguenti attributi: ID LIBRO: codice univoco TITOLO AUTORE
Un utente prende un solo libro Un solo libro può essere consultato da più utenti. UTENTE LIBRO 1 : N N : 1 PRESTITO N : N
Dalla relazione N:N deriva un ulteriore entità PRESTITO con i relativi attributi: ID PRESTITO: codice univoco Campo link alla tabella UTENTE Campo link alla tabella LIBRO Data inizio Data fine
TABELLA UTENTE NOME CAMPOTIPO CAMPODIMENSIONEVINCOLINOTE ID UtenteNumericoIntero lungoPrimary Key SoprannomeTesto40Unique IndirizzoTesto30Not null Data di nascitaDataNot null TABELLA LIBRO NOME CAMPOTIPO CAMPODIMENSIONEVINCOLINOTE ID LibroNumericoIntero lungoPrimary Key TitoloTesto30Not null AutoreTesto25Not null FK UtenteNumericoIntero lungoForeign KeyLink alla tabella utente
TABELLA PRESTITO NOME CAMPOTIPO CAMPODIMESIONEVINCOLINOTE ID PrestitoNumericoIntero lungoPrimary Key FK Utente Prestito NumericoIntero lungoForeign KeyLink alla tabella Utente FK Libro Prestito NumericoIntero lungoForeign KeyLink alla tabella Libro Data inizioDataNot null Data fineDataNot null
UTENTE ID Utente Soprannome Indirizzo Data di nascita LIBRO ID Libro Titolo Autore FK Utente PRESTITO ID Prestito FK Utente FK Libro Data Inizio Data Fine
Lutilizzo dei valori nulli non conviene anche se spesso si usano per indicare informazioni incomplete. Lunico BENEFICIO è che con essi i vincoli possono essere resi meno restrittivi.
In presenza dei valori nulli, i valori degli attributi che formano la chiave: - non permettono di identificare le righe come desiderato; - non permettono di realizzare con facilità i riferimenti da altre relazioni. Dunque la presenza di tali valori deve essere limitata e lunica soluzione è scegliere, per ogni relazione, una chiave primaria su cui non si ammettono valori nulli.
Individuazione chiavi: - Nella tabella Pazienti e tabella Reparti la Primary Key è COD. - Nella tabella Medici la Primary Key è MATR. Vincoli di integrità referenziale: - fra lattributo Codice della relazione PAZIENTI e la relazione RICOVERI; - fra lattributo Reparto della relazione RICOVERI e la relazione MEDICI. Valori nulli: B372 e B543 sono nulli perché il paziente non è presente in tabella RICOVERI.