La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C

Presentazioni simili


Presentazione sul tema: "Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C"— Transcript della presentazione:

1 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.6 Fase Traduzione Entita’

2 Progettazione logica Fase 2: Traduzione nel modello relazionale
adattato da Atzeni et al., Basi di dati, McGrawHill

3 adattato da Atzeni et al., Basi di dati, McGrawHill
Piano di lavoro Vedremo: 1. prima la regola di traduzione per le entita’ 2. poi la regola base per le relationship molti a molti (chiamata anche regola generale per le relationship) 3. infine le regole per le relationship uno a molti e uno a uno. adattato da Atzeni et al., Basi di dati, McGrawHill

4 adattato da Atzeni et al., Basi di dati, McGrawHill
Regola per le entita’ adattato da Atzeni et al., Basi di dati, McGrawHill

5 Fase 2. Traduzione nel modello relazionale: regole per le entita’
Regola: le entità sono tradotte in relazioni definite sugli stessi attributi e aventi come chiave primaria l’identificatore principale Città Nome Agenzia AGENZIA (NOME, CITTA’, INDIRIZZO) Indirizzo adattato da Atzeni et al., Basi di dati, McGrawHill

6 adattato da Atzeni et al., Basi di dati, McGrawHill
Dimostrazione informale di correttezza della regola per la traduzione delle entita’ La regola e’ corretta. Infatti una entita’ nel modello ER ha rispetto agli attributi lo stesso legame logico che una relazione nel modello relazionale ha verso gli attributi. Inoltre, cosi’ come un identificatore nel modello ER permette di identificare univocamente le istanze della entita’, la chiave primaria nel modello relazionale identifica le singole tuple della istanza della relazione. adattato da Atzeni et al., Basi di dati, McGrawHill

7 Regole per le relationship
adattato da Atzeni et al., Basi di dati, McGrawHill

8 Osservazione generale per le relationship
Poiche’ le istanze di una relationship (binaria) ER corrispondono a coppie (in generale per relationship n-arie, n.ple) di istanze delle entita’,  … … nella traduzione nel modello relazionale delle relationship dobbiamo definire come chiave primaria della corrispondente relazione l’unione degli identificatori delle entita’ adattato da Atzeni et al., Basi di dati, McGrawHill

9 adattato da Atzeni et al., Basi di dati, McGrawHill
Fase 2. Traduzione nel modello relazionale: regola per le relationship molti a molti Regola base: Le relationship ER sono tradotte in relazioni aventi come attributi: a. gli identificatori delle entità coinvolte (che insieme diventano una chiave della relazione), più b. gli attributi propri Attenzione: vedremo successivamente eccezioni alla regola, causate dall’obiettivo di ottimizzare lo schema relazionale, nel senso di renderlo piu’ compatto e ridurre il numero di relazioni. adattato da Atzeni et al., Basi di dati, McGrawHill

10 adattato da Atzeni et al., Basi di dati, McGrawHill
Applicazione della regola generale Caso delle Relazioni molti a molti Primo passo: Traduzione delle entita’ Partecipazione (1,N) Cognome Stipendio Matricola Impiegato Nome Codice Budget Progetto Data inizio Domanda 8.6.1: Fai da solo la traduzione delle entita’ Risposta Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) adattato da Atzeni et al., Basi di dati, McGrawHill

11 adattato da Atzeni et al., Basi di dati, McGrawHill
Applicazione della regola generale Caso delle Relazioni molti a molti Secondo passo: Traduzione della relazione Cognome Matricola Data inizio Codice Nome (0,N) (1,N) Partecipazione Impiegato Progetto Stipendio Budget Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) adattato da Atzeni et al., Basi di dati, McGrawHill

12 adattato da Atzeni et al., Basi di dati, McGrawHill
Applicazione della regola generale Caso delle Relazioni molti a molti Terzo passo: eventuale aggiunta dei vincoli di integrita’ referenziale Poiche’ la traduzione dei tre concetti E1, E2, R12 Da’ luogo a tre relazioni RE1, RE2, RR12 le cui chiavi sono caratterizzate dalla proprieta’ K(RE1) U K(RE2) = K(RR12) tra le tre relazioni sono definiti vincoli di integrita’ referenziale adattato da Atzeni et al., Basi di dati, McGrawHill

13 adattato da Atzeni et al., Basi di dati, McGrawHill
Entità e relationship molti a molti: Domanda 8.6.2Aggiungi i vincoli di integrita’ referenziale nell’esempio Lo schema Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) rispetta vincoli di integrità referenziale fra Matricola in Partecipazione e (la chiave di) Impiegato Codice in Partecipazione e (la chiave di) Progetto adattato da Atzeni et al., Basi di dati, McGrawHill

14 adattato da Atzeni et al., Basi di dati, McGrawHill
Puo’ essere opportuno a fini di leggibilita’ usare nomi più espressivi per gli attributi della chiave della relazione che rappresenta la relationship Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) Partecipazione(Impiegato, Progetto, DataInizio) adattato da Atzeni et al., Basi di dati, McGrawHill

15 adattato da Atzeni et al., Basi di dati, McGrawHill
Esercizio 8.6.1 Dimostra, utilizzando la dimostrazione prodotta per le entita’, che la regola appena descritta per la traduzione delle relationship molti a molti e’ corretta. adattato da Atzeni et al., Basi di dati, McGrawHill

16 Traduzione delle relationship definite sulla stessa entita’
E’ un caso particolare del precedente adattato da Atzeni et al., Basi di dati, McGrawHill

17 Relationship definite sulla stessa entita’ -Esempio
Composizione Prodotto Composto Componente Costo Nome Codice (0,N) Quantità Domanda 8.6.3: Prova a effettuare la traduzione, usando nomi espressivi per gli attributi. Risposta Prodotto(Codice, Nome, Costo) Composizione(Composto, Componente, Quantità) adattato da Atzeni et al., Basi di dati, McGrawHill

18 adattato da Atzeni et al., Basi di dati, McGrawHill
Relationship n-arie Questo caso e’ generalizzazione di quello delle relazioni binarie. Questa volta ci saranno: Tante relazioni quante sono le entita’ Una relazione per la relationship, con chiave primaria data dalla unione degli identificatori delle entita’, Tanti vincoli di integrita’ referenziale quante sono le entita’ della relationship di partenza. adattato da Atzeni et al., Basi di dati, McGrawHill

19 adattato da Atzeni et al., Basi di dati, McGrawHill
Relationship n-arie Nome Fornitore Prodotto Dipartimento Fornitura Partita IVA Genere Codice Quantità Telefono (0,N) (1,N) Fornitore(PartitaIVA, Nome) Prodotto(Codice, Genere) Dipartimento(Nome, Telefono) Fornitura(Fornitore, Prodotto, Dipartimento, Quantità) adattato da Atzeni et al., Basi di dati, McGrawHill

20 adattato da Atzeni et al., Basi di dati, McGrawHill
Vanno ora aggiunti i vincoli di integrita’ referenziale Domanda 8.6.4: prova a farlo tu Risposta Fornitore(PartitaIVA, Nome) Prodotto(Codice, Genere) Dipartimento(Nome, Telefono) Fornitura(Fornitore, Prodotto, Dipartimento, Quantità) adattato da Atzeni et al., Basi di dati, McGrawHill

21 adattato da Atzeni et al., Basi di dati, McGrawHill
Concetti introdotti Traduzione di relationship ER (associazione) nel modello relazionale adattato da Atzeni et al., Basi di dati, McGrawHill


Scaricare ppt "Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C"

Presentazioni simili


Annunci Google