1° ESERCIZIO L’obiettivo è la CREAZIONE di un DATABASE necessario per la gestione dei prestiti di una BIBLIOTECA PERSONALE. Il primo passo da compiere consiste nell’individuare le ENTITA’ esistenti: AMICI LIBRI PRESTITI Successivamente è necessario stabilire le RELAZIONI esistenti attraverso il seguente SCHEMA ENTITA’-RELAZIONI: 1 AMICI N:N LIBRI PRESTITI AD UN AMICO POSSIAMO PRESTARE N LIBRI UN LIBRO PUO’ ESSERE PRESTATO AD N AMICI E IN DATE DIFFERENTI 2 DEFINIZIONE CARATTERISCHE DEGLI ATTRIBUTI TABELLA AMICI NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI ID AMICO INTERO LUNGO PRIMARY KEY 20 NOT NULL NUMERICO SOPRANNOME TESTO AMICO NOTE TABELLA LIBRI NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI ID LIBRO NUMERICO INTERO LUNGO PRIMARY KEY TITOLO TESTO 30 NOT NULL NOTE 3 TABELLA PRESTITI NOME CAMPO TIPO CAMPO DIMENSION E VINCOLI NOTE ID PRESTITO NUMERICO INTERO LUNGO PRIMARY KEY FKAMICO PRESTITO NUMERICO INTERO LUNGO FOREIGN KEY LINK ALLA TABELLA AMICI FKLIBRO PRESTITO NUMERICO INTERO LUNGO FOREIGN KEY LINK ALLA TABELLA LIBRI DATA INIZIO PRESTITO DATA NOT NULL DATA PRESUNTA RESTITUZIONE DATA 4 ISTANZA TABELLARE TABELLA AMICI ID AMICO SOPRANNOME 1 SILVIA LA VOLPE 2 ANDREA IL BASSO 3 ANNA LA VIP 4 FRANCESCA LA BIONDA 5 TABELLA LIBRI ID LIBRO TITOLO 1 IL FU MATTIA PASCAL 2 AMLETO 3 LETTERA AD UN BAMBINO MAI NATO 4 I LOVE SHOPPING 6 TABELLA PRESTITI ID PRESTITO AMICO LIBRO DATA INIZIO DATA PRESTITO PRESUNTA RESTITUZIONE 1 1 3 15/12/2010 01/04/2011 2 2 1 10/02/2011 10/06/2011 3 3 4 20/01/2011 4 4 2 28/12/2010 24/04/2011 7 INDIVIDUAZIONE VALORI NULLI L’UNICO ATTRIBUTO CHE PUO’ AMMETTERE VALORI NULLI E’ LA DATA PRESUNTA DI RESTITUZIONE IN QUANTO E’ POSSIBILE CHE PER ALCUNI LIBRI NON SIA STATA FISSATA UNA DATA DI RESTITUZIONE. NON E’ POSSIBILE ACCETTARE VALORI NULLI SUGLI ATTRIBUTI TITOLO E SOPRANNOME IN QUANTO E’ STRETTAMENTE NECESSARIO SAPERE QUALE LIBRO E’ STATO PRESTATO E SOPRATTUTTO A CHI E’ STATO PRESTATO. 8 2° ESERCIZIO CHIAVI PRIMARIE E VINCOLI DI INTEGRITA’ Nella tabella PAZIENTI: Primary key è l’attributo “COD” Nella tabella REPARTI: Primary key è l’attributo “COD” Foreign Key è l’attributo “Primario” (link alla tabella MEDICI) Nella tabelle MEDICI: Primary key è l’attributo “MATR” Foreign Key è l’attributo “REPARTO” (link alla tabella REPARTI) Nella tabella RICOVERI: Primary key è l’attributo “INIZIO” Foreign Key è l’attributo “PAZIENTE” (link alla tabella PAZIENTI; l’attributo “ REPARTO” (link alla tabella REPARTI) VALORI NULLI L’attributo che potrebbe assumere valore nullo è FINE nella relazione RICOVERI: nel momento in cui viene ricoverato un paziente viene annotata la data di inizio, ma non risulta essere strettamente necessario annotare quella di fine . 9