Compito n.2 Progettazione di un DataBase Il Compilatore Di Lorenzo Salvatore
Esercizio n.1 SCHEMA ENTITA’ - RELAZIONI 1 : N LibriAmici
Esercizio n.1 Tabella Amici ID Amici NomeSoprannome 101BiagioRosso 102BiagioGrosso 103CarloBrocco 104DomenicoSecco Tabella Libri ID Libri Titolo Data prevista di restituzione Amici L201Guerra e Pace01/02/ A222Zanna Bianca02/02/ C103Oliver Twist03/02/ A127Robinson Crusoe 04/02/
Progettazione logica Definizione delle caratteristiche degli attributi Tabella Amici Nome CampoTipo CampoDimensioniVincoliNote ID AmiciNumericoInteroPrimary key NomeTesto20Not null SoprannomeTesto20Not null
Progettazione logica Definizione delle caratteristiche degli attributi Tabella Libri Nome CampoTipo CampoDimensioniVincoliNote ID LibriTestoInteroPrimary key TitoloTesto40Not null Data prevista di restituzione Data/ora8Not null Fk AmiciNumericoInteroForeign keyLink alla Tabella Amici
RISPOSTE 1.E’ emersa l’esigenza di rappresentazione di valori nulli per i valori dell’attributo Nome relativi agli Amici con ID 101 e 102 perché, essendo omonimi (si chiamano entrambi Biagio) sono definiti unicamente dal Soprannome (il quale evita le omonimie): per questo motivo i loro nomi possono essere omessi ed essere sostituiti da valori nulli, in quanto sono valori senza informazione. E’ emersa altresì l’esigenza di rappresentare valori nulli per i valori dell’attributo Soprannome relativi agli Amici con ID 103 e 104 perché, non essendo omonimi (si chiamano rispettivamente Carlo e Domenico) sono definiti unicamente dal nome: per questo motivo i loro soprannomi possono essere omessi ed essere sostituiti da valori nulli, in quanto sono valori senza informazione. 2. In generale i valori nulli evitano confusione (perché vengono utilizzati al posto di valori inappropriati). La presenza di valori nulli nelle Chiavi genera difficoltà poiché in tali casi i valori delle Chiavi non consentono di identificare le ennuple e di realizzare facilmente i riferimenti da altre relazioni: per queste ragioni la presenza di valori nulli nelle chiavi deve essere limitata.
Esercizio 2 Base di Dati Ospedale Tabella Reparti Cod.NomePrimario AChirurgia203 BPediatria574 CMedicina530 Tabella Pazienti Cod.CognomeNome A102RossiLuca B372NeriPiero B543NeriMario B444NeriGino Tabella Medici Matr.CognomeNomeReparto 203NeriPieroA 574BisiMarioB 530BelliNicolaC Tabella Ricoveri PazienteInizioFineReparto A1022/05/019/05/01A A1022/12/012/01/02B B4441/12/022/01/03C
Progettazione logica Definizione delle caratteristiche degli attributi Tabella Pazienti Nome CampoTipo CampoDimensioniVincoliNote Cod.TestoInteroPrimary key CognomeTesto20Not null NomeTesto20Not null
Progettazione logica Definizione delle caratteristiche degli attributi Tabella Ricoveri Nome CampoTipo CampoDimensioniVincoliNote PazienteTestoInteroPrimary key InizioData/ora8Not null FineData/ora8Not null RepartoTestoByteForeign keyLink alla Tabella Reparti
Progettazione logica Definizione delle caratteristiche degli attributi Tabella Reparti Nome CampoTipo CampoDimensioniVincoliNote Cod.TestoBytePrimary key NomeTesto20Not null PrimarioNumericoInteroForeign keyLink alla Tabella Medici
Progettazione logica Definizione delle caratteristiche degli attributi Tabella Medici Nome CampoTipo CampoDimensioniVincoliNote Matr.NumericoInteroPrimary key NomeTesto20Not null CognomeTesto20Not null RepartoTestoByteForeign keyLink alla Tabella Reparti
RISPOSTE 1.Vincolo di integrità referenziale tra l’attributo Cod. della Relazione Pazienti e la Relazione Ricoveri. Vincolo di integrità referenziale tra l’attributo Reparto della Relazione Ricoveri e la Relazione reparti. Vincolo di integrità referenziale tra gli attributi Cod. e Primario della Relazione Reparti e la Relazione Medici. 2.Chiavi: Cod. nella Tabella Pazienti; Paziente e Inizio nella Tabella Ricoveri; Cod. nella Tabella Reparti ; Matr. nella Tabella Medici; 3. Gli Attributi sui quali può essere sensato ammettere valori nulli sono: Cognome e Nome nella Tabella Pazienti; Fine nella Tabella Ricoveri; Nome nella Tabella Reparti: Cognome e Nome nella Tabella Medici.