Progettazione di basi di dati D B M G

Documenti analoghi
Progettazione logica relazionale (1/2)

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

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

Progettazione logica relazionale (1/2)

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

Basi di dati. Progettazione logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Obiettivo della 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, Progettazione logica. Dati di ingresso e uscita

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Basi di dati McGraw-Hill

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

Requisiti della base di dati. Schema concettuale

Informatica Industriale

Partizionamento/accorpamento di concetti

Corso di Basi di Dati

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

Progettazione logica

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

Traduzione dal modello E/R al modello relazionale

La Progettazione Logica

Un esempio di progettazione concettuale

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

Unità 3. Modello Relazionale

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

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

LA PROGETTAZIONE LOGICA. Prima parte

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Progettazione logica di basi di dati La progettazione logica

Traduzione. Scelta degli identificatori principali

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

La progettazione logica

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

Progettazione logica: criteri di ottimizzazione

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

PROGETTAZIONE LOGICA. Patrizio Dazzi a.a

Corso di Laurea in Informatica Basi di Dati a.a

Il modello Entità-Relazioni (entity-relationship)

Progettazione logica: criteri di ottimizzazione

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

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

Progettazione. Realizzazione

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

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

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

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

Sistemi informativi D B M G

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

D. Gubiani Progettazione 3

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

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

Progettazione logica

Traduzione. Associazioni n-arie

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

Progettazione Logica. ISProgLog 1

Corso di Basi di Dati

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

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

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

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

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

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

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

Basi di Dati. Modello Concettuale

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

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

Principi di Progettazione del Software a.a

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

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

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Laboratorio di Basi di Dati

Cap. 3 - Il modello ER

Basi di Dati. Progettazione Logica

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

Il modello Entita Relazioni. Costrutti

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

Dr. C. d'amat LA PROGETTAZIONE LOGICA

Corso di Basi di Dati

Controllo degli accessi

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

Modello Entità-Relazione

Modello Entità-Relazione

Perché preoccuparci?

Traduzione ER - relazionale

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

Progettazione di Basi di Dati

Progettazione di basi di dati. Progettazione di basi di dati

Modello Entità-Relazione (E-R)

Il Modello Entità Relazione (ER)

Progettazione Logica di Basi di Dati

Laboratorio di Basi di Dati

Progetto concettuale delle basi di dati

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

Basi di dati Modello ER Figure ed esempi

Principi di Progettazione del Software a.a

REGISTRO DELLE LEZIONI

Transcript:

Progettazione di basi di dati D B M G

Progettazione logica relazionale (1/2) 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 Traduzione nel modello relazionale: relazioni uno a molti D B M G 2

Progettazione logica relazionale (2/2) Traduzione nel modello relazionale: relazioni uno a uno Traduzione nel modello relazionale: entità con identificatore esterno Traduzione nel modello relazionale: relazioni ternarie D B M G 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 D B M G 4

Passi della progettazione logica Schema ER Ristrutturazione dello schema Schema ER semplificato Traduzione Schema logico relazionale D B M G 5

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 D B M G 6

Attività di ristrutturazione Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento e accorpamento di entità e relazioni Scelta degli identificatori primari D B M G 7

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 D B M G 8

Esempio di attributo ridondante Matricola Codice Studente (0,N) Esame superato (0,N) 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 dell attributo D B M G 9

Eliminazione delle gerarchie 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 D B M G 10

Esempio Esame specialistico Effettuato da (1,1) Specializzazione Medico Associazione Volontario Reparto Lavora in (1,1) (t,e) Personale Domicilio CodFisc D B M G 11

Accorpamento nel padre Reparto Lavora in (1,1) Personale Domicilio CodFisc D B M G 12

Attributi delle entità figlie Specializzazione (0,N) Reparto Lavora in (1,1) Personale Associazione Domicilio CodFisc D B M G 13

Relazioni con le entità figlie Esame specialistico Reparto Effettuato da (1,1) (0,N) Lavora in (1,1) Specializzazione (0,N) Personale Associazione Domicilio CodFisc D B M G 14

Attributo discriminante Esame specialistico Reparto Effettuato da (1,1) (0,N) Lavora in Tipo (1,1) Specializzazione (0,N) Personale Associazione Domicilio CodFisc Tipo permette di distinguere a quale entità figlia appartiene ogni occorrenza D B M G 15

Accorpamento nel padre Esame specialistico Reparto Effettuato da (1,1) (0,N) Lavora in Tipo (1,1) Applicabile per qualsiasi copertura Specializzazione (0,N) Personale Associazione Domicilio CodFisc se sovrapposta, sono possibili molte combinazioni come valori di Tipo D B M G 16

Accorpamento nelle figlie Esame specialistico Effettuato da (1,1) Specializzazione Medico Associazione Volontario D B M G 17

Attributi del padre Esame specialistico Effettuato da (1,1) Specializzazione Medico Domicilio Associazione Volontario Domicilio CodFisc CodFisc D B M G 18

Relazioni con il padre Esame specialistico Effettuato da (1,1) Specializzazione (1,1) Medico Domicilio CodFisc Associazione Volontario (1,1) Domicilio CodFisc Reparto Lavora in 1 Lavora in 2 Occorre sdoppiare le relazioni con l entità padre D B M G 19

Cardinalità della relazione Lavora in Esame specialistico Effettuato da (1,1) Specializzazione (1,1) Medico Domicilio CodFisc Associazione Volontario (1,1) Domicilio CodFisc (0,N) Reparto (0,N) Lavora in 1 Lavora in 2 Occorre sdoppiare le relazioni con l entità padre D B M G 20

Accorpamento nelle figlie Esame specialistico Effettuato da (1,1) Specializzazione (1,1) Medico Domicilio CodFisc Associazione Volontario (1,1) Domicilio CodFisc (0,N) Reparto (0,N) Lavora in 1 Lavora in 2 Non adatta per copertura parziale o sovrapposta D B M G 21

Sostituzione con relazioni Esame specialistico Effettuato da (1,1) Specializzazione Medico Associazione Volontario Reparto Lavora in (1,1) Personale Domicilio CodFisc D B M G 22

Relazioni tra padre e figlie Esame specialistico Effettuato da (1,1) Specializzazione Medico Associazione Volontario E un E un Reparto Lavora in (1,1) Personale Domicilio CodFisc D B M G 23

Identificazione delle entità figlie Esame specialistico Effettuato da (1,1) Specializzazione Medico Associazione Volontario E un E un Reparto Lavora in (1,1) Personale Domicilio CodFisc D B M G 24

Cardinalità della relazione E un Esame specialistico Effettuato da (1,1) Specializzazione Medico (1,1) (1,1) Associazione Volontario E un E un Reparto Lavora in (1,1) Personale Domicilio CodFisc D B M G 25

Sostituzione con relazioni Esame specialistico Effettuato da (1,1) Specializzazione Medico (1,1) (1,1) Associazione Volontario E un E un Reparto Lavora in (1,1) Personale Soluzione più generale e sempre applicabile può essere dispendiosa per ricostruire l informazione di partenza Domicilio CodFisc D B M G 26

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) D B M G 27

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) D B M G 28

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 D B M G 29

Partizionamento di concetti 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 D B M G 30

Partizionamento di entità Codice Domicilio Impiegato Livello Stipendio Ritenute Domicilio Codice Dati anagrafici Dati impiegato Dati lavorativi Stipendio Livello Ritenute D B M G 31

Cardinalità della relazione Dati impiegato Codice Domicilio Impiegato Livello Stipendio Ritenute Domicilio Codice Dati anagrafici (1,1) Dati impiegato (1,1) Dati lavorativi Stipendio Livello Ritenute D B M G 32

Partizionamento di relazioni CodiceFiscale Cliente DataFine (0,N) Occupa Locale dell albergo Numero Descrizione Tempo DataInizio DataInizio DataFine CodiceFiscale Occupa attualmente Cliente DataFine Locale dell albergo Ha occupato Numero Descrizione D M BG Tempo DataInizio 33

Cardinalità della relazione Ha occupato CodiceFiscale Cliente DataFine (0,N) Occupa Locale dell albergo Numero Descrizione Tempo DataInizio DataInizio DataFine CodiceFiscale Occupa attualmente Cliente (0,N) DataFine (0,N) Locale dell albergo Ha occupato Numero Descrizione D M BG Tempo DataInizio 34

Cardinalità della relazione Occupa attualmente CodiceFiscale Cliente DataFine (0,N) Occupa Locale dell albergo Numero Descrizione Tempo DataInizio DataInizio DataFine CodiceFiscale Cliente (0,N) Occupa attualmente DataFine (0,N) (0,N) (0,N) Locale dell albergo Ha occupato Numero Descrizione D M BG Tempo DataInizio 35

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 D B M G 36

Eliminazione degli attributi multivalore Codice fiscale Persona Titolo di studio Professione Codice fiscale Persona Professione Ha conseguito Titolo di studio Titolo D B M G 37

Cardinalità della relazione Ha conseguito Codice fiscale Persona Professione Titolo di studio Codice fiscale Persona Professione Titolo di studio Ha conseguito Titolo D B M G 38

Eliminazione degli attributi multivalore Codice fiscale Persona Telefono Professione Codice fiscale Persona Professione Ha telefono Telefono Numero D B M G 39

Cardinalità della relazione Ha telefono Codice fiscale Persona Telefono Professione Codice fiscale Persona Professione Ha telefono (1,1) Telefono Numero D B M G 40

Eliminazione degli attributi composti 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 D B M G 41

Rappresentazione separata degli attributi Codice fiscale Persona Professione Via Numero civico CAP Codice fiscale Persona Professione Via Numero civico CAP D B M G 42

Rappresentazione con un attributo unico Codice fiscale Persona Professione Via Numero civico CAP Codice fiscale Persona Professione Indirizzo D B M G 43

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 D B M G 44

Traduzione nel modello relazionale 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 D B M G 45

Traduzione di entità Codice fiscale Persona Professione Persona(CodiceFiscale,,, Professione*) Chiave primaria sottolineata Attributi opzionali indicati con asterisco D B M G 46

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) D B M G 47

Relazione binaria molti a molti Matricola Studente (0,N) Esame (0,N) Corso CodCorso Voto Studente(Matricola,, ) Corso(CodCorso, ) Esame(Matricola, CodCorso, Voto) D B M G 48

Relazione binaria molti a molti ricorsiva CodP Costo Componente (0,N) Prodotto Composto (0,N) Composizione Quantità Prodotto(CodP,, Costo) Composizione(CodComposto, CodComponente, Quantità) D B M G 49

Relazione binaria uno a molti Sono possibili due modalità di traduzione mediante attributi mediante una nuova tabella D B M G 50

Relazione binaria uno a molti: entità Codice fiscale Persona (1,1) Residenza Comune Comune Provincia Data trasferimento Persona(CodiceFiscale,, ) Comune(Comune, Provincia) D B M G 51

Relazione binaria uno a molti Codice fiscale Persona (1,1) Residenza Comune Comune Provincia Data trasferimento Persona(CodiceFiscale,,, Comune, DataTrasferimento) Comune(Comune, Provincia) D B M G 52

Relazione binaria uno a molti: alternativa n.1 Matricola Studente Laurea (0,N) Facoltà Facoltà Città Data laurea Studente(Matricola,, ) Facoltà(Facoltà, Città) Laurea(Matricola, Facoltà, DataLaurea) D B M G 53

Relazione binaria uno a molti: alternativa n.2 Matricola Studente Laurea (0,N) Facoltà Facoltà Città Data laurea Studente(Matricola,,, Facoltà*, DataLaurea*) Facoltà(Facoltà, Città) D B M G 54

Relazione binaria uno a uno Sono possibili più traduzioni dipende dal valore della cardinalità minima D B M G 55

Relazione binaria uno a uno: alternativa n.1 Partecipazione obbligatoria da entrambi i lati Matricola Rettore (1,1) E Rettore (1,1) Università Università Città Data elezione Rettore(Matricola,,, Università, DataElezione) Università(Università, Città) D B M G 56

Relazione binaria uno a uno: alternativa n.2 Partecipazione obbligatoria da entrambi i lati Matricola Rettore (1,1) E Rettore (1,1) Università Università Città Data elezione Rettore(Matricola,, ) Università(Università, Città, Matricola, DataElezione) D B M G 57

Relazione binaria uno a uno: caso 2 Partecipazione opzionale da un lato Matricola Professore Rettore (1,1) Università Università Città Data elezione D B M G 58

Relazione binaria uno a uno: entità Partecipazione opzionale da un lato Matricola Professore Rettore (1,1) Università Università Città Data elezione Professore(Matricola,, ) Università(Università, Città) D B M G 59

Relazione binaria uno a uno Partecipazione opzionale da un lato Matricola Professore Rettore (1,1) Università Università Città Data elezione Professore(Matricola,, ) Università(Università, Città, Matricola, DataElezione) D B M G 60

Relazione binaria uno a uno: caso 3 Partecipazione opzionale da entrambi i lati Matricola Professore Rettore Università Università Città Data elezione D B M G 61

Relazione binaria uno a uno: alternativa n.1 Partecipazione opzionale da entrambi i lati Matricola Professore Rettore Università Università Città Data elezione Professore(Matricola,, ) Università(Università, Città) Rettore(Matricola, Università, DataElezione) D B M G 62

Relazione binaria uno a uno: alternativa n.2 Partecipazione opzionale da entrambi i lati Matricola Professore Rettore Università Università Città Data elezione Professore(Matricola,, ) Università(Università, Città) Rettore(Matricola, Università, DataElezione) D B M G 63

Relazione binaria uno a uno: alternativa n.3 Partecipazione opzionale da entrambi i lati Matricola Professore Rettore Università Università Città Data elezione Professore(Matricola,, ) Università(, Città, Matricola*, DataElezione* ) D B M G 64

Entità con identificatore esterno Matricola Iscrizione Studente (1,1) (0,N) Università Città Università(Università, Città) Studente(Matricola, Università,, ) La relazione è rappresentata insieme all identificatore D B M G 65

Relazione ternaria: entità Matricola Esame Studente (0,N) (0,N) Corso Codice Voto Tempo Data Studente(Matricola,, ) Corso(Codice, ) Tempo(Data) D B M G 66

Relazione ternaria: identificatore Matricola Esame Studente (0,N) (0,N) Corso Codice Voto Tempo Data Studente(Matricola,, ) Corso(Codice, ) Tempo(Data) Esame(Matricola, Codice, Data D B M G 67

Relazione ternaria: attributi Matricola Esame Studente (0,N) (0,N) Corso Codice Voto Tempo Data Studente(Matricola,, ) Corso(Codice, ) Tempo(Data) Esame(Matricola, Codice, Data, Voto) D B M G 68

Vincoli d integrità referenziale Le relazioni rappresentano vincoli d integrità referenziale Matricola Studente (0,N) Esame (0,N) Corso CodCorso Voto D B M G 69

Integrità referenziale: relazione Esame Tabelle coinvolte Studente(Matricola,, ) Corso(CodCorso, ) Esame(Matricola, CodCorso, Voto) Vincoli d integrità referenziale Esame(Matricola) REFERENCES Studente(Matricola) D B M G 70

Integrità referenziale: relazione Esame Tabelle coinvolte Studente(Matricola,, ) Corso(CodCorso, ) Esame(Matricola, CodCorso, Voto) Vincoli d integrità referenziale Esame(Matricola) REFERENCES Studente(Matricola) Esame(CodCorso) REFERENCES Corso(CodCorso) D B M G 71