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

Slides:



Advertisements
Presentazioni simili
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Advertisements

Partizionamento/accorpamento di concetti
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Il modello logico Il modello logico.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
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
Rileaborato da M. Lenzerini - Basi di dati
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
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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
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
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
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
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esercitazione Modello ER 1
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Progettazione di una base di dati relazionale
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
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
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
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
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
Il modello relazionale
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione logica: Il modello relazionale
Progettazione concettuale
Partizionamento/accorpamento di concetti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
OGGETTO E TIPO DI OGGETTO
ER Primo esonero Basi DATI 2015
Il modello relazionale
Progettazione di una base di dati
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Il questionario: progettazione e redazione II Modulo
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

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 2.1 - Traduzione Entita’

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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