Corso di Abilità Informatiche Avanzate Prof. Marengo Agostino Studente: Ungaro Isabella Progettazione di un Data Base 1. ANALISI DEI REQUISITI: Si vuole progettare un DB per la gestione dei prestiti di una biblioteca personale. La progettazione deve tener conto di quanto è emerso dall’analisi: • Il proprietario presta libri ai suoi amici, che indica con il nome o 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. SCHEMA ENTITA’- RELAZIONI: LIBRI N : AMICI N 1 1 : : N N PRESTITI PROGETTAZIONE CONCETTUALE: Sono state individuate 2 entità: • Libri • Amici LIBRI Per l’entità LIBRI sono stati individuati i seguenti attributi: • • • • ID Libro Titolo Genere Scaffale (continua) (segue) AMICI Per l’entità AMICI sono stati individuati i seguenti attributi: • • • • ID Amico Nome (in alternativa soprannome) Telefono Indirizzo PROGETTAZIONE LOGICA: DEFINIZIONE DELLE RELAZIONI 1 : N LIBRI AMICI N : 1 N : N PRESTITI (continua) (segue) Dalla relazione N : N deriva un’ulteriore entità (PRESTITI), i cui attributi saranno: • ID Prestito: codice univoco • Campo Link alla Tabella LIBRI: definisce il libro che è stato prestato • Campo Link alla Tabella AMICI: definisce a chi è stato prestato • Data Prestito • Data Restituzione PROGETTAZIONE LOGICA: DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella LIBRI NOME CAMPO ID LIBRO TIPO CAMPO Numerico DIMENSIONE Intero Lungo VINCOLI Primary Key TITOLO Testo 40 Unique GENERE Testo 40 Not Null SCAFFALE Testo 15 Not Null NOTE Tabella AMICI NOME CAMPO ID AMICO TIPO CAMPO Numerico DIMENSIONE Intero Lungo VINCOLI Primary Key NOME AMICO Testo 20 Not Null TELEFONO AMICO Testo 15 Not Null INDIRIZZO AMICO Testo 40 Not Null NOTE Tabella PRESTITI NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI NOTE ID PRESTITO Numerico Intero Lungo Primary Key FK LIBRO PRESTITO Numerico Intero Lungo Foreign Key Link alla Tabella LIBRI FK AMICO PRESTITO Numerico Intero Lungo Foreign Key Link alla Tabella AMICI DATA PRESTITO Testo 15 Not Null DATA Testo RESTITUZIONE 15 Not Null SCHEMA LOGICO: RELAZIONI LIBRI 1 PRESTITI ID LIBRO TITOLO GENERE SCAFFALE AMICI ID AMICO NOME AMICO TELEFONO AMICO INDIRIZZO AMICO ID PRESTITO FK LIBRO - PRESTITO FK AMICO - PRESTITO DATA PRESTITO DATA RESTITUZIONE 1 2. BASE DI DATI OSPEDALE Individuare le chiavi ed i vincoli referenziali 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. Le chiavi sono: • • • • “Cod” per la relazione PAZIENTI “Paziente” e “Inizio” per la relazione RICOVERI “Matr” per la relazione MEDICI “Cod” per la relazione REPARTI I vincoli di integrità che esistono nel DataBase sono: • Tra l’attributo “Paziente” in RICOVERI e “Cod” in PAZIENTI • Tra “Reparto” nella relazione RICOVERI e “Cod” nella relazione REPARTI • Tra “Primario” in REPARTI e “Matr” nella relazione MEDICI • Tra “Reparto” in MEDICI e “Cod” in REPARTI I valori nulli possono essere ammessi: • • • • Negli attributi “Cognome” e “Nome” nella relazione PAZIENTI Nell’attributo “Fine” nella relazione RICOVERI Negli attributi “Cognome” e “Nome” nella relazione MEDICI Nell’attributo “Nome” nella relazione REPARTI. Tutti questi attributi non sono chiavi e non hanno nessun vincolo di integrità referenziale.