Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

Documenti analoghi
Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Progettazione logica relazionale (1/2)

Progettazione di basi di dati D B M G

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Basi di dati McGraw-Hill

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 8) Progettazione logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Obiettivo della progettazione logica. Dati di ingresso e uscita

Progettazione logica relazionale (1/2)

Progettazione logica. Requisiti della base di dati. Schema concettuale. Schema logico. Schema fisico. Obiettivo della progettazione logica

Ristrutturazione di schemi E-R. Ridondanze. Analisi delle ridondanze. Vantaggi semplificazione delle interrogazioni

Basi di dati. Progettazione logica

Progettazione logica

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica

La Progettazione Logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Requisiti della base di dati. Schema concettuale

Partizionamento/accorpamento di concetti

Corso di Basi di Dati

Informatica Industriale

LA PROGETTAZIONE LOGICA. Prima parte

Unità 3. Modello Relazionale

I prodotti della varie fasi sono schemi di alcuni modelli di dati:

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013

Un esempio di progettazione concettuale

Traduzione dal modello E/R al modello relazionale

Progettazione logica: criteri di ottimizzazione

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

La progettazione logica

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione

Progettazione logica: criteri di ottimizzazione

Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione. Concetti Definizioni Esempi

adattato da Atzeni et al., Basi di dati, McGrawHill

Corso di Laurea in Informatica Basi di Dati a.a

Traduzione. Scelta degli identificatori principali

Il modello Entità-Relazioni (entity-relationship)

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

PROGETTAZIONE LOGICA. Patrizio Dazzi a.a

Progettazione Logica. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita

Analisi di una ridondanze. Numero abitanti. (1,1) (0,N) Residenza

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita

Progettazione Logica. ISProgLog 1

Progettazione logica

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati

Sistemi informativi D B M G

Corso di Basi di Dati

Entità. Modello Entità-Relazione (E-R) Relazioni (associazioni) Attributi

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Laboratorio di Basi di Dati

D B M G D B M G 2. Basi di dati. Progettazione di basi di dati. Elena Baralis 2007 Politecnico di Torino 1. Modello Entità-Relazione

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Basi di dati Prova di autovalutazione 16 dicembre 2010 Cenni sulle soluzioni

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati

Traduzione. Associazioni n-arie

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Progettazione. Realizzazione

Modello Entità-Relazione (E-R)

Controllo degli accessi

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli

Controllo degli accessi. Controllo degli accessi. Controllo degli accessi. Controllo degli accessi

Modello Entità-Relazione

Modello Entità-Relazione

Progettazione logica di basi di dati La progettazione logica

Ma: progettazione dei dati progettazione delle applicazioni. Progettazione di basi di dati

Principi di Progettazione del Software a.a

Basi di dati Modello ER Figure ed esempi

Progetto Logico per il Modello Relazionale

Progettazione di basi di dati. Progettazione di basi di dati

Cerca di unire i vantaggi delle strategie top-down e bottomup.

Principi di Progettazione del Software a.a

D. Gubiani Progettazione 3

Metodologie e Modelli di Progetto

Progetto concettuale delle basi di dati

Perché preoccuparci?

Ciclo di vita di un sistema informativo

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Corso di Basi di Dati

Progettazione di Basi di Dati

REGISTRO DELLE LEZIONI

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Basi di Dati. Modello Concettuale

Il modello Entità/Relazioni (ER)

Generazione diagrammi ER

Basi di Dati Relazionali

Il modello Entita Relazioni. Costrutti

Traduzione ER - relazionale

Laboratorio di Basi di Dati

Transcript:

(1/2) Progettazione di basi di dati Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore Eliminazione degli attributi composti e scelta degli identificatori primari Traduzione nel modello relazionale: entità e relazioni molti a molti D M B Traduzione nel modello relazionale: relazioni uno a molti G2 (2/2) Traduzione nel modello relazionale: relazioni uno a uno Traduzione nel modello relazionale: entità con identificatore esterno Traduzione nel modello relazionale: relazioni ternarie 3 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente allo schema ER di partenza Aspetti importanti semplificazione dello schema per renderlo rappresentabile mediante il modello relazionale ottimizzazione per aumentare l efficienza delle interrogazioni Passi della progettazione logica Schema ER 5 6 1

Passi della progettazione logica Passi della progettazione logica Schema ER Schema ER Ristrutturazione dello schema Schema ER semplificato Ristrutturazione dello schema Schema ER semplificato Traduzione 7 Schema logico relazionale 8 Ristrutturazione dello schema ER Lo schema ER ristrutturato tiene conto di aspetti realizzativi non è più uno schema concettuale Obiettivi eliminazione dei costrutti per cui non esiste una rappresentazione diretta nel modello relazionale trasformazioni volte ad aumentare l efficienza delle operazioni di accesso ai dati 10 Attività di ristrutturazione Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento e accorpamento di entità e relazioni Scelta degli identificatori primari Analisi delle ridondanze Rappresentano informazioni significative, ma derivabili da altri concetti decisione se conservarle Effetti delle ridondanze sullo schema logico semplificazione e velocizzazione delle interrogazioni maggiore complessità e rallentamento degli aggiornamenti maggiore occupazione di spazio 11 12 2

Esempio di attributo ridondante Esame superato Corso MediaVoti Voto L attributo MediaVoti è ridondante utile per velocizzare le interrogazioni relative al calcolo della media dei voti degli studenti se conservato, occorre integrare lo schema relazionale con l indicazione di ridondanza D M B dell attributo G13 Eliminazione delle gerarchie Esempio Non sono rappresentabili direttamente nel modello relazionale sono sostituite da entità e relazioni Metodi di ristrutturazione accorpamento delle entità figlie nell entità padre accorpamento dell entità padre nelle entità figlie sostituzione della gerarchia con relazioni Esame (t,e) le 15 16 Accorpamento nel padre Attributi delle entità figlie le le 17 18 3

Relazioni con le entità figlie Relazioni con le entità figlie Esame Esame le le 19 20 Attributo discriminante Accorpamento nel padre Esame le Tipo permette di distinguere a quale entità figlia appartiene ogni occorrenza Tipo Esame le Applicabile per qualsiasi copertura se sovrapposta, sono possibili molte combinazioni come valori di Tipo Tipo 21 22 Schema di partenza Accorpamento nelle figlie Esame Esame (t,e) le 23 24 4

Attributi del padre Relazioni con il padre Esame Esame 1 2 Occorre sdoppiare le relazioni con l entità padre 25 26 Cardinalità della relazione Accorpamento nelle figlie Esame Esame 1 2 1 2 Occorre sdoppiare le relazioni con l entità padre Non adatta per copertura parziale o sovrapposta 27 28 Schema di partenza Sostituzione con relazioni Esame Esame (t,e) le le 29 30 5

Relazioni tra padre e figlie Identificazione delle entità figlie Esame Esame E un E un E un E un le le 31 32 Cardinalità della relazione E un Cardinalità della relazione E un Esame Esame E un E un E un E un le le 33 34 Esame Sostituzione con relazioni le E un E un Soluzione più generale e sempre applicabile può essere dispendiosa per ricostruire l informazione di partenza Valutazione delle alternative L accorpamento delle entità figlie nell entità padre è appropriato quando le entità figlie introducono differenziazioni non sostanziali (pochi valori nulli) le operazioni d accesso non distinguono tra occorrenze dell entità padre e delle figlie (accesso più efficiente) 35 36 6

Valutazione delle alternative Valutazione delle alternative L accorpamento dell entità padre nelle entità figlie è appropriato quando la generalizzazione è totale le operazioni d accesso distinguono tra occorrenze delle diverse entità figlie (accesso più efficiente) Sono possibili anche soluzioni miste le operazioni d accesso distinguono tra occorrenze di alcune entità figlie (accesso più efficiente) 37 38 Valutazione delle alternative Sono possibili anche soluzioni miste le operazioni d accesso distinguono tra occorrenze di alcune entità figlie (accesso più efficiente) Per le generalizzazioni a più livelli, si procede nello stesso modo, partendo dal livello inferiore 39 Partizionamento di concetti Partizionamento di entità Partizionamento di entità o relazioni rappresentazione migliore di concetti separati separazione di attributi di uno stesso concetto che sono utilizzati da operazioni diverse maggiore efficienza delle operazioni Impiegato Livello Stipendio Ritenute 41 42 7

Partizionamento di entità Cardinalità della relazione Dati impiegato Impiegato Livello Stipendio Ritenute Impiegato Livello Stipendio Ritenute Dati anagrafici Dati impiegato Dati lavorativi Livello Stipendio Ritenute Dati anagrafici Dati impiegato Dati lavorativi Livello Stipendio Ritenute 43 44 Cardinalità della relazione Dati impiegato Partizionamento di relazioni Impiegato Livello Stipendio Ritenute Cliente Occupa dell albergo Dati anagrafici Dati impiegato Dati lavorativi Livello Stipendio Ritenute 45 46 Partizionamento di relazioni Cardinalità della relazione Ha occupato Cliente Occupa dell albergo Cliente Occupa dell albergo Occupa attualmente Occupa attualmente Cliente dell albergo Ha occupato Cliente dell albergo Ha occupato D M BG47 D M BG48 8

Cardinalità della relazione Ha occupato Cardinalità della relazione Ha occupato Cliente Occupa dell albergo Cliente Occupa dell albergo Occupa attualmente Occupa attualmente Cliente dell albergo Ha occupato Cliente dell albergo Ha occupato D M BG49 D M BG50 Cardinalità della relazione Occupa attualmente Cardinalità della relazione Occupa attualmente Cliente Occupa dell albergo Cliente Occupa dell albergo Occupa attualmente Occupa attualmente Cliente dell albergo Ha occupato Cliente dell albergo Ha occupato D M BG51 D M BG52 Eliminazione degli attributi multivalore Non sono rappresentabili nel modello relazionale L attributo multivalore è rappresentato mediante una nuova entità collegata da una relazione all entità originale attenzione alla cardinalità della nuova relazione 54 9

Eliminazione degli attributi multivalore Eliminazione degli attributi multivalore Titolo di studio Titolo di studio Ha conseguito Titolo di studio Titolo 55 56 Cardinalità della relazione Ha conseguito Cardinalità della relazione Ha conseguito Titolo di studio Titolo di studio Ha conseguito Titolo di studio Titolo Titolo di studio Ha conseguito Titolo 57 58 Eliminazione degli attributi multivalore Eliminazione degli attributi multivalore Telefono Telefono Ha telefono Telefono 59 60 10

Cardinalità della relazione Ha telefono Cardinalità della relazione Ha telefono Telefono Telefono Ha telefono Telefono Ha telefono Telefono 61 62 Eliminazione degli attributi composti Non sono rappresentabili nel modello relazionale Due alternative 64 Eliminazione degli attributi composti Rappresentazione separata degli attributi Non sono rappresentabili nel modello relazionale Due alternative si rappresentano in modo separato gli attributi componenti adatto se è necessario accedere separatamente a ciascun attributo Via civico CAP 65 66 11

Rappresentazione separata degli attributi Eliminazione degli attributi composti Via civico CAP Via civico CAP Non sono rappresentabili nel modello relazionale Due alternative si rappresentano in modo separato gli attributi componenti adatta se è necessario accedere separatamente a ciascun attributo si introduce un unico attributo che rappresenta la concatenazione degli attributi componenti adatta se è sufficiente l accesso all informazione complessiva 67 68 Rappresentazione con un attributo unico Rappresentazione con un attributo unico Via civico CAP Via civico CAP Indirizzo 69 70 Scelta degli identificatori primari Necessaria per definire la chiave primaria delle tabelle Un buon identificatore non assume valore nullo è costituito da pochi attributi (meglio 1!) possibilmente è interno è utilizzato da molte operazioni d accesso Può essere opportuno introdurre codici identificativi 71 12

Traduzione nel modello relazionale Traduzione di entità Si esegue sullo schema ER ristrutturato senza gerarchie, attributi multivalore e composti Trasformazioni ad ogni entità corrisponde una tabella con gli stessi attributi per le relazioni occorre considerare la cardinalità massima 73 74 Traduzione di entità Traduzione di relazioni binarie molti a molti (,,, *) Ogni relazione molti a molti corrisponde a una tabella la chiave primaria è la combinazione degli identificatori delle due entità collegate è possibile ridenominare gli attributi della tabella che corrisponde alla relazione (necessario in caso di relazioni ricorsive) Chiave primaria sottolineata Attributi opzionali indicati con asterisco 75 76 Relazione binaria molti a molti Relazione binaria molti a molti: entità Esame Corso CodCorso Esame Corso CodCorso Voto Voto (,, ) Corso(CodCorso, ) 77 78 13

Relazione binaria molti a molti Relazione binaria molti a molti ricorsiva Esame Corso CodCorso CodP Costo Componente Composto Prodotto Voto Composizione Quantità (,, ) Corso(CodCorso, ) Esame(, CodCorso, Voto) 79 80 Relazione binaria molti a molti ricorsiva Relazione binaria molti a molti ricorsiva CodP Costo CodP Costo Componente Prodotto Composto Componente Prodotto Composto Composizione Composizione Quantità Quantità Prodotto(CodP,, Costo) Prodotto(CodP,, Costo) Composizione(CodComposto, CodComponente, Quantità) 81 82 Relazione binaria uno a molti Sono possibili due modalità di traduzione mediante attributi mediante una nuova tabella 84 14

Relazione binaria uno a molti Relazione binaria uno a molti: entità Residenza Comune Comune Provincia Residenza Comune Comune Provincia Data trasferimento Data trasferimento (,, ) Comune(Comune, Provincia) 85 86 Relazione binaria uno a molti Relazione binaria uno a molti Residenza Comune Comune Provincia Residenza Comune Comune Provincia Data trasferimento Data trasferimento (,,, Comune) Comune(Comune, Provincia) (,,, Comune, DataTrasferimento) Comune(Comune, Provincia) 87 88 Relazione binaria uno a molti Relazione binaria uno a molti: alternativa n.1 Laurea Facoltà Facoltà Laurea Facoltà Facoltà Data laurea Data laurea (,, ) Facoltà(Facoltà, ) 89 90 15

Relazione binaria uno a molti: alternativa n.1 Relazione binaria uno a molti: alternativa n.2 Laurea Facoltà Facoltà Laurea Facoltà Facoltà Data laurea Data laurea (,, ) Facoltà(Facoltà, ) Laurea(, Facoltà, DataLaurea) (,,, Facoltà*, DataLaurea*) Facoltà(Facoltà, ) 91 92 Relazione binaria uno a uno Sono possibili più traduzioni dipende dal valore della cardinalità minima 94 Relazione binaria uno a uno: caso 1 Partecipazione obbligatoria da entrambi i lati E Relazione binaria uno a uno: alternativa n.1 Partecipazione obbligatoria da entrambi i lati E (,, ) (, ) 95 96 16

Relazione binaria uno a uno: alternativa n.1 Partecipazione obbligatoria da entrambi i lati E Relazione binaria uno a uno: alternativa n.2 Partecipazione obbligatoria da entrambi i lati E (,,,, DataElezione) (, ) (,, ) (, ) 97 98 Relazione binaria uno a uno: alternativa n.2 Relazione binaria uno a uno: caso 2 Partecipazione obbligatoria da entrambi i lati E Partecipazione opzionale da un lato Professore (,, ) (,,, DataElezione) 99 100 Relazione binaria uno a uno: entità Relazione binaria uno a uno Partecipazione opzionale da un lato Partecipazione opzionale da un lato Professore Professore Professore(,, ) (, ) Professore(,, ) (,,, DataElezione) 101 102 17

Relazione binaria uno a uno: caso 3 Partecipazione opzionale da entrambi i lati Professore Relazione binaria uno a uno: alternativa n.1 Partecipazione opzionale da entrambi i lati Professore Professore(,, ) (, ) 103 104 Relazione binaria uno a uno: alternativa n.1 Partecipazione opzionale da entrambi i lati Professore Relazione binaria uno a uno: alternativa n.2 Partecipazione opzionale da entrambi i lati Professore Professore(,, ) (, ) (,, DataElezione) Professore(,, ) (, ) (,, DataElezione) 105 106 Relazione binaria uno a uno: alternativa n.3 Partecipazione opzionale da entrambi i lati Professore Relazione binaria uno a uno: alternativa n.3 Partecipazione opzionale da entrambi i lati Professore Professore(,, ) (, ) Professore(,, ) (,, *, DataElezione* ) 107 108 18

Entità con identificatore esterno Iscrizione 110 Entità con identificatore esterno Entità con identificatore esterno Iscrizione Iscrizione (, ) (,,, ) (, ) (,,, ) La relazione è rappresentata insieme all identificatore 111 112 Relazione ternaria Esame Corso Voto Data 114 19

Relazione ternaria: entità Relazione ternaria: identificatore Esame Corso Esame Corso Voto Voto Data Data (,, ) Corso(, ) (Data) (,, ) Corso(, ) (Data) Esame(,, Data 115 116 Relazione ternaria: attributi Esame Corso Voto Data (,, ) Corso(, ) (Data) Esame(,, Data, Voto) 117 20