Progettazione logica



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

Analisi delle ridondanze

Progettazione logica

Controllo degli accessi

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

Basi di dati McGraw-Hill

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

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

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

Partizionamento/accorpamento di concetti

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

Basi di dati. Progettazione logica

Basi di Dati Relazionali

Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a

Requisiti della base di dati. Schema concettuale

LA PROGETTAZIONE LOGICA. Prima parte

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

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

Informatica Industriale

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

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

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

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

La Progettazione Logica

Corso di Basi di Dati

Progettazione logica: criteri di ottimizzazione

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

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

Un esempio di progettazione concettuale

Progettazione logica: criteri di ottimizzazione

PROGETTAZIONE LOGICA. Patrizio Dazzi a.a

ESEMPI. Un esempio. Cognome. Telefono. Direzione. Impiegato (0,1) Dipartimento. Afferenza. Nome. Composizione. Partecipazione.

La progettazione logica

Progettazione logica relazionale (1/2)

Progettazione di basi di dati D B M G

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

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

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

Progettazione concettuale

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

Unità 3. Modello Relazionale

Principi di Progettazione del Software a.a

Progettazione logica: figure

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

D. Gubiani Progettazione di Basi di Dati 3. D. Gubiani Progettazione di Basi di Dati 2. Slide create in collaborazione con il prof. A.

Traduzione dal modello E/R al modello relazionale

Corso di Laurea in Informatica Basi di Dati a.a

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

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

Un esempio di progetto di un base dati di una società che eroga corsi di formazione

Progettazione logica

Il modello Entita Relazioni. Costrutti

Modulo 10: Basi di dati e loro gestione

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Progettazione Logica. ISProgLog 1

D. Gubiani Progettazione 3

Progettazione Logica. Progettazione Concettuale. Metodologia per Basi di Dati e Modelli. Progettazione Fisica. Modello Concettuale

Progettazione. Realizzazione

CAPITOLO 6 : Metodologie e modelli per il progetto

Dr. C. d'amat LA PROGETTAZIONE LOGICA

Corso di Basi di Dati

Progettazione logica e normalizzazione (lucidi del corso)

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

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

Strategie di proge-o. Strategia top down. Strategia bo-om up. Una metodologia. Schema finale. Basi di da' Specifiche Specifiche 1 Specifiche 2

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

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Lezione 5. La progettazione logica

Progettazione Logica di Basi di Dati

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

REGISTRO DELLE LEZIONI

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

Informatica e Tecnologie per la Produzione del Software Crediti formativi 9

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

Il modello Entità-Relazioni (entity-relationship)

Laboratorio di Basi di Dati

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

Corso di Basi di Dati

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

Pag Politecnico di Torino 1

Basi di dati: progettazione concettuale con schemi E-R

D B M G D B M G 2. Gestione degli indici. Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica

Cardinalità degli attributi

Sommario. Introduzione... 13

Traduzione dello schema E-R in modello logico relazionale

Altri costrutti del modello E-R. Esempio di cardinalità. Cardinalità di Residenza. Occorrenze di Residenza. Cardinalità di relationship

Esercitazione 3. Vincoli di integrità. Approccio Procedurale

Laboratorio di Basi di Dati

Traduzione. Scelta degli identificatori principali

Sistemi informativi D B M G

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

Basi di Dati Relazionali

Basi di Dati Relazionali

LA PROGETTAZIONE LOGICA

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

Transcript:

Progettazione logica

Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede non solo una traduzione da uno schema all altro ma anche una ristrutturazione dello schema. Ad es. le generalizzazioni non hanno una traduzione diretta fra modello E-R e modello relazionale. Inoltre bisogna tenere conto delle prestazioni e quindi la riorganizzazione deve avere come obiettivo l efficienza. Come passo preliminare bisognerà eseguire un analisi delle prestazioni attese dal sistema, per ottimizzarne la realizzazione.

Carico applicativo Schema E-R Ristrutturazione dello schema E-R Modello logico Schema E-R ristrutturato Traduzione nel modello logico Schema logico

Analisi delle prestazioni su schemi E-R In tutti i sistemi software i due principali indici di prestazione che si considerano sono: Costo delle operazioni Occupazione di memoria Nel caso di una base di dati, il costo di un operazione è misurato in funzione del numero di occorrenze delle entità e delle associazioni fra entità coinvolte. Per fare questa analisi è necessario conoscere: Volume dei dati (occorrenze, dimensioni degli attributi) Caratteristiche delle operazioni (tipo, frequenza, dati coinvolti)

Analisi delle prestazioni su schemi E-R In genere basta limitarsi ad analizzare il costo delle operazioni più frequenti (regola dell 80/20 l 80% del tempo è occupato dal 20% delle operazioni ) Per descrivere volume dei dati e caratteristiche delle operazioni si possono costruire la tavola dei volumi, in cui vengono riportati tutti i concetti dello schema con i volumi previsti a regime, e la tavola delle operazioni, in cui si riportano il tipo e la frequenza delle operazioni.

Analisi delle prestazioni su schemi E-R Per descrivere le operazioni si può usare il frammento dello schema E-R che comprende i concetti coinvolti nell operazione, sul quale vengono riportati i cammini logici attraverso i quali si accede ai dati. Nella tavola degli accessi si riportano i concetti coinvolti, il numero medio degli accessi e il tipo (lettura, scrittura).

Ristrutturazione di schemi E-R Può essere divisa in più passi successivi: Analisi delle ridondanze: si decide se mantenere o eliminare le eventuali ridondanze Eliminazione delle generalizzazioni: si sostituiscono le generalizzazioni con costrutti del modello logico utilizzato Partizionamento/accorpamento di entità e associazioni: si decide se raggruppare più concetti o partizionare in più concetti i concetti dello schema E-R Scelta degli identificatori primari: si selezionano gli identificatori per le entità che ne hanno più di uno

Ridondanze Vantaggi semplificazione delle interrogazioni: se lo stesso dato compare in più tabelle, è minore la probabilità di dovere fare un join per recuperarlo. Svantaggi appesantimento degli aggiornamenti: se modifico un occorrenza del dato devo modificare anche tutte le copie maggiore occupazione di memoria

Analisi delle ridondanze Le ridondanze di uno schema E-R nascono quando un concetto può essere derivato da altri. Un attributo può essere derivato da attributi della stessa entità o relazione Un attributo può essere derivato da attributi di altre entità e relazioni Un attributo può essere derivato mediante conteggio di occorrenze Associazioni possono essere derivate da altre associazioni in presenza di cicli

Analisi di una ridondanza Numero abitanti Persona Residenza Città Numero abitanti è pari al numero di istanze della relazione Residenza

Concetto Tipo Volume Città E 200 Persona E 1000000 Residenza R 1000000 Operazione 1: memorizza una nuova persona con la relativa città di residenza (500 volte al giorno) Operazione 2: stampa tutti i dati di una città (incluso il numero di abitanti) (2 volte al giorno)

Presenza di ridondanza Operazione 1 Concetto Costrutto Accessi Tipo Persona Entità 1 S Residenza Relazione 1 S Città Entità 1 L Città Entità 1 S Operazione 2 Concetto Costrutto Accessi Tipo Città Entità 1 L

Assenza di ridondanza Operazione 1 Concetto Costrutto Accessi Tipo Persona Entità 1 S Residenza Relazione 1 S Operazione 2 Concetto Costrutto Accessi Tipo Città Entità 1 L Residenza Relazione 5000 L

Presenza di ridondanza Costi: Operazione 1: 1500 accessi in scrittura e 500 accessi in lettura al giorno Operazione 2: trascurabile. Contiamo doppi gli accessi in scrittura Totale di 3500 accessi al giorno

Assenza di ridondanza Costi: Operazione 1: 1000 accessi in scrittura Operazione 2: 10000 accessi in lettura al giorno Contiamo doppi gli accessi in scrittura Totale di 12000 accessi al giorno

Eliminazione delle gerarchie Per eliminare le generalizzazioni (non presenti nel modello relazionale) si possono seguire 3 strategie alternative: 1. Accorpamento delle figlie nel padre : si usa una sola entità avente anche tutti gli attributi delle figlie più un attributo che indica il tipo. Richiede più memoria (saranno presenti valori nulli in corrispondenza degli attributi specifici per una delle figlie) ma meno accessi (per ogni accesso accedo sempre e solo alla entità padre.

Eliminazione delle gerarchie 2. Accorpamento del padre nelle figlie: si elimina il padre ed i suoi attributi vengono inseriti in ciascuna delle figlie (possibile solo se la generalizzazione è totale. Richiede meno memoria rispetto al caso 1, meno accessi rispetto al 3). 3. Sostituzione della generalizzazione con associazioni: la generalizzazione si trasforma in una serie di associazioni, con il vincolo che, se è totale, ogni occorrenza della entità padre deve partecipare ad almeno una di tali associazioni (meno memoria rispetto a 1, più accessi a causa del vincolo aggiuntivo).

Partizionamento/accorpamento di concetti Gli accessi possono essere ridotti separando gli attributi di uno stesso concetto cui fanno accesso operazioni diverse e raggruppando attributi di concetti diversi cui fanno accesso le stesse operazioni. Partizionamenti di entità : Si possono fare in verticale, decomponendo l entità in più entità sulla base degli attributi, o in modo orizzontale, decomponendo l entità sulla base delle sue occorrenze. Una decomposizione orizzontale corrisponde ad una generalizzazione. Costringe a duplicare tutte le associazioni cui l entità originaria partecipa.

Cognome Indirizzo Data nascita Codice Impiegato Livello Stipendio Ritenute Cognome Codice Stipendio Livello Dati anagrafici (1,1) (1,1) R Dati lavorativi Indirizzo Data nascita Ritenute

Partizionamento/accorpamento di concetti Eliminazione di attributi multivalore : il modello relazionale non prevede questo tipo di attributo e richiede che venga sostituito da una relazione o nella decomposizione diretta dell attributo multivalore in più attributi. Accorpamento di entità : spesso conviene accorpare due entità coinvolte spesso nella stessa operazione in una sola entità. Questo può causare la presenza di valori nulli. Si accorpano di solito entità legate da relazioni di tipo uno a uno, per evitare la creazione di ridondanze. E possibile anche accorpare/partizionare associazioni.

Cognome Codice fiscale Interno Indirizzo Persona (0,1) (1,1) Intestazione Appartamento Indirizzo Data nascita

Cognome Indirizzo Data nascita Codice fiscale Persona Interno (0,1) Indirizzo (0,1)

Ruolo Cognome Città Nome Giocatore (1,N) (1,N) Composizione Squadra Data acquisto (0,1) Data cessione

Ruolo Data acquisto (1,1) Comp. (1,N) attuale Nome Giocatore Squadra Cognome (1,N) Comp. passata (1,N) Città Data acquisto Data cessione