Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C. Batini 8. Progettazione logica 8.8 Traduzione Finale
adattato da Atzeni et al., Basi di dati, McGrawHill Riassumiamo tutto quanto detto in una metodologia di traduzione da schema concettuale a schema logico completa adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Idea di base La semplice idea di base della metodologia consiste nel trattare: prima le traduzioni delle entita’, che in alcuni casi comportano anche traduzioni di relationship, e poi trattare le traduzioni delle relationship residue, affrontando infine i casi di piu’ relationship definite sulla stessa entita’. adattato da Atzeni et al., Basi di dati, McGrawHill
Metodologia di traduzione 1. TRADUCI LE ENTITA’: Rappresenta ogni entita’ con una relazione 1.1 Prima le entita’ con identificatori interni 1.2 Poi le entita’ con identificatori esterni ( eredita anche l’identifcatore della entita’ collegata) 2. TRADUCI LE RELATIONSHIP RESIDUE Rappresenta le relationship che non sono state gia’ rappresentate nelle entita’, scegliendo tra le varie possibilita’ 3. TRADUCI GLI INSIEMI DI RELATIONSHIP SULLE STESSE ENTITA’ Se vi sono piu’ relationship tra le stesse entita’ da rappresentare nel passo 2, distingui tra le diverse relationship mediante ridenominazioni degli attributi chiave delle entita’ relative. adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Approfondimento Leggi e studia il paragrafo 9.3.5 del libro di riferimento, insieme alle tabelle riassuntive del paragrafo 9.3.6. adattato da Atzeni et al., Basi di dati, McGrawHill
Esempio di traduzione di uno schema completo adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Cognome (1,1) (0,1) Direzione Telefono Impiegato Dipartimento (1,N) (0,1) Afferenza Nome Codice (0,N) (1,N) (1,1) (1,N) Partecipazione Composizione (0,1) Data Sede Progetto Via Indirizzo Città Budget Nome CAP adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Dipartimento(Nome, Città, Telefono, Direttore) (1,1) (0,1) Direzione Impiegato(Codice, Cognome, Dipartimento, Data) Impiegato Dipartimento (1,N) (0,1) Afferenza (0,N) (1,N) (1,1) (1,N) Partecipazione(Impiegato, Progetto) Partecipazione Composizione Sede(Città, Via, CAP) Progetto(Nome, Budget) Sede Progetto adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Schema finale Impiegato(Codice, Cognome, Dipartimento, Data) Dipartimento(Nome, Città, Telefono, Direttore) Sede(Città, Via, CAP) Progetto(Nome, Budget) Partecipazione(Impiegato, Progetto) adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Domanda 8.8.1 Supponi che venga stabilita una nuova norma aziendale, per cui un impiegato possa essere assegnato a un solo progetto, e che vi siano molti impiegati non assegnati a progetti (ma assegnati ad altre attivita’, ad es. di ricerca o marketing, aspetto che non si vuole rappresentare nello schema). Come riorganizzi la traduzione? Partecipazione(Impiegato, Progetto) Progetto(Nome, Budget) Sede(Città, Via, CAP) Dipartimento(Nome, Città, Telefono, Direttore) Impiegato(Codice, Cognome, Dipartimento, Data) Schema di partenza adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Risposta alla Domanda 8.8.1 Possiamo mantenere la relazione Partecipazione (Impiegato, Progetto), che pero’ ora ha come chiave solo Impiegato, e che rappresenta i soli Impiegati coinvolti in progetti, ottimizzando l’occupazione di memoria. Partecipazione(Impiegato, Progetto) Progetto(Nome, Budget) Sede(Città, Via, CAP) Dipartimento(Nome, Città, Telefono, Direttore) Impiegato(Codice, Cognome, Dipartimento, Data) Schema risultante adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Domanda 8.8.2 E se lo spazio di memoria risparmiato e’ ridotto? Risposta Possiamo eliminare la relazione Partecipazione (Impiegato, Progetto), e rappresentare il legame tra Impiegato e Progetto nella Relazione Impiegato(Codice, Cognome, Dipartimento, Data, Progetto) Impiegato(Codice, Cognome, Dipartimento, Data, Progetto) Progetto(Nome, Budget) Sede(Città, Via, CAP) Dipartimento(Nome, Città, Telefono, Direttore) Impiegato(Codice, Cognome, Dipartimento, Data) Schema risultante adattato da Atzeni et al., Basi di dati, McGrawHill
adattato da Atzeni et al., Basi di dati, McGrawHill Esercizio 8.8.1 Completa l’esercizio 9.7 del libro di riferimento, esercizio gia’ iniziato in precedenza. adattato da Atzeni et al., Basi di dati, McGrawHill