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

Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
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
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le operazioni relazionali
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
rielaborato da Atzeni-etal., Basi di dati, Capitolo 4
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 C
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
di Basi di Dati: Overview
Esercitazione Modello ER 1
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati 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
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
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
La normalizzazione delle relazioni
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
Interrogazione di una base di dati relazionale
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
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
A.A Architetture di data integration
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,
Join, una difficoltà Impiegato Reparto Rossi A Neri B Bianchi Reparto
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.3 Fase 1.1 - Analisi delle ridondanze

Attività della fase 1 di ristrutturazione dello schema ER 1.1 Analisi delle ridondanze, per decidere se convenga lasciarle o eliminarle 1.2 Eliminazione delle generalizzazioni, perche’ non rappresentabili nel modello relazionale 1.3 Partizionamento/accorpamento di entità e relationship, per rendere efficiente lo schema relazionale fiinale 1.4 Scelta degli identificatori primari, perche’ nel modello relazionale c’e’ una sola chiave primaria. adattato da Atzeni et al., Basi di dati, McGrawHill

1.1 Analisi delle ridondanze Cosa e’ una ridondanza Una ridondanza in uno schema E-R è un concetto (Entita’, Relazione, ecc.) dello schema derivabile da altri In questa fase si decide se eliminare le ridondanze eventualmente presenti o mantenerle adattato da Atzeni et al., Basi di dati, McGrawHill

Ridondanze in uno schema E-R: casi considerati nel seguito 1. attributi derivabili, cioe’ i cui valori sono calcolabili: 1.1 da altri attributi della stessa entità (o relazione) 1.2 da attributi di altre entità e/o relazioni 2. relazioni derivabili, cioe’ le cui istanze sono calcolabili dalla composizione di altre relazioni in presenza di cicli di entita’ e relazioni  adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Esempio di ciclo B A A-B C B-C A-C adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Esempio 1.1 Attributo derivabile da altri attributi della stessa entita’ Impiegato Importo netto IVA Importo lordo Vincolo di integrita’: l’importo netto e’ la differenza tra importo lordo e IVA adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Domanda 8.3.1 Quali altre ridondanze sono presenti nello schema dell’esempio 1.1? Risposta 1. IVA = Importo lordo – Importo netto 2. Importo lordo = Importo netto + IVA Impiegato Importo netto IVA Importo lordo adattato da Atzeni et al., Basi di dati, McGrawHill

Esempio 2. Attributo derivabile da attributi di altra entità Prezzo totale Composizione Ricevuta di Acquisto Prodotto Prezzo (1,N) Vincolo di integrita’: il Prezzo totale e’ la somma di tutti i prezzi dei singoli prodotti adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Domanda 8.3.2 Esistono altre ridondanze nello schema? Prezzo totale Composizione Ricevuta di Acquisto Prodotto Prezzo (1,N) Risposta: No adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Esempio 3. relazioni derivabili dalla composizione di altre relazioni in presenza di cicli Una relazione R e’ derivabile se esiste un cammino di entita’ e relazioni che per ogni istanza I di E permette di costruire la istanza “navigando” nel cammino. Domanda 8.3.3. Sulla base di questa definizione, la relazione Docenza e’ ridondante? Corso Studente Frequenza (0,N) (1,N) Professore Insegnamento (1,1) Docenza In questo caso si’, perche’ sulla base delle cardinalita’, ogni corso e’ insegnato da un solo professore adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Domanda 8.3.4 Supponete ora che un corso possa essere insegnato da piu’ professori. Per esempio, per Basi di dati 1 ci sono due professori, Rossi e Verdi, il primo per gli studenti A-L e il secondo per gli studenti M-Z, e che la relazione Docenza associ ad ogni studente i suoi professori, ad esempio, tutti gli studenti A-Z a Rossi. Docenza e’ ridondante? Corso Studente Frequenza (0,N) (1,N) Professore Insegnamento (1,1) Docenza In questo caso no, perche’ non si puo’ ricostruire il legame Studente-Professore tramite il cammino Studente- Corso-Professore adattato da Atzeni et al., Basi di dati, McGrawHill

Ridondanze: vantaggi e svantaggi nel mantenerle nello schema semplificazione delle interrogazioni, tutte le volte che nella interrogazione compare la struttura ridondante. Svantaggi Al carico applicativo vanno aggiunte operazioni di aggiornamento, perche’ ora e’ necessario aggiornare i valori/istanze derivati, oltre che i valori/istanze base (Es. Prezzo totale, oltre che i singoli valori di Prezzo) maggiore occupazione di spazio, perche’ ora occorre memorizzare anche i valori/istanze derivati adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Analisi di ridondanze E’ il passo che, sulla base dei precedenti vantaggi/svantaggi, stabilisce se mantenere o eliminare le ridondanze dallo schema. Il processo decisionale utilizza a tale scopo: La tavola dei volumi Le tavole degli accessi per le operazioni note adattato da Atzeni et al., Basi di dati, McGrawHill

Esempio 4 di Analisi di ridondanze: rappresentiamo solo un attributo Residenza Persona Città Numero abitanti Sono date due operazioni: Operazione 1: inserisci una nuova persona con la relativa città di residenza Frequenza: 500 volte al giorno Operazione 2: stampa tutti i dati di una città incluso il numero di abitanti Frequenza: 2 volte al giorno adattato da Atzeni et al., Basi di dati, McGrawHill

Tavola dei volumi e carico applicativo Operazione 1: inserisci una nuova persona con la relativa città di residenza - Frequenza: 500 volte al giorno Operazione 2: stampa tutti i dati di una città incluso il numero di abitanti - Frequenza: 2 volte al giorno adattato da Atzeni et al., Basi di dati, McGrawHill

Calcolo delle tavole degli accessi in presenza di ridondanza Per aggiornare il numero di abitanti Operazione 1 Residenza Persona Città Numero abitanti Operazione 1: inserisci una nuova persona con la relativa città di residenza - Frequenza: 500 volte al giorno adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Calcolo delle tavole degli accessi in presenza di ridondanza Domanda 8.3.5: costruire la tavola degli accessi per la operazione 2 Operazione 2 Operazione 2: stampa tutti i dati di una città incluso il numero di abitanti Frequenza: 2 volte al giorno Residenza Persona Città Numero abitanti adattato da Atzeni et al., Basi di dati, McGrawHill

Costi in presenza di ridondanza Costi al giorno: Operazione 1: 1.500 accessi in scrittura e 500 accessi in lettura al giorno Operazione 2: trascurabile. Ricordate: Poiche’ tutte le scritture, cioe’ gli aggiornamenti, vengono fatti in memoria principale, contiamo doppi gli accessi in scrittura, perche’ corrispondono a un doppio trasferimento da memoria secondaria a primaria e viceversa. Quale e’ il totale degli accessi? Totale di 3500 accessi al giorno adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Calcolo della tavola degli accessi in assenza di ridondanza - Domanda 8.3.6 Operazione 1 Operazione 1: inserisci una nuova persona con la relativa città di residenza Frequenza: 500 volte al giorno Residenza Persona Città Risposta: 1.000 accessi in scrittura adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Calcolo delle tavole degli accessi in assenza di ridondanza - Domanda 8.3.7 Operazione 2 Operazione 2: stampa tutti i dati di una città incluso il numero di abitanti Frequenza: 2 volte al giorno Residenza Persona Città Risposta: (circa) 10.000 accessi in lettura adattato da Atzeni et al., Basi di dati, McGrawHill

Costi in assenza di ridondanza Domanda 8.3.8 Costi al giorno: Operazione 1: 1.000 accessi in scrittura Operazione 2: 10.000 accessi in lettura al giorno Contiamo doppi gli accessi in scrittura Totale di 12.000 accessi al giorno Cosa conviene? Conviene calcolare ogni volta il numero di abitanti adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Esercizio 8.3.1 Svolgi l’esercizio 9.7 del testo di riferimento fino alla fase di analisi delle ridondanze adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Concetti introdotti Ridondanza Attributo derivabile Relazione derivabile adattato da Atzeni et al., Basi di dati, McGrawHill