Basi di Dati Relazionali



Похожие документы
DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

Progettazione concettuale

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Progettazione logica relazionale (1/2)

Progettaz. e sviluppo Data Base

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Progetto di basi di dati Laboratorio di diagnosi mediche

Design di un database

Capitolo 8. Esercizio 8.1

Progettazione Logica. Progettazione Logica

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Prova scritta del corso di Basi di dati attive 17 Dicembre Agenzia

database: modello entityrelationship

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1

11 - Progettazione Logica

Fasi del progetto ( 1 )

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

La Progettazione Concettuale

Progettazione di una base di dati Ufficio della Motorizzazione

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Sistemi Informativi e Basi di Dati

Base di dati e sistemi informativi

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

I database. Cosa sono e a cosa servono i Database

Progettazione di Basi di Dati

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti.

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Organizzazione degli archivi

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

Le Basi di Dati. Le Basi di Dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Introduzione al data base

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Corso di Laboratorio di Basi di Dati

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

BASI DI DATI I. Progettazione di un DBMS per un negozio di materiale elettrico. Progetto realizzato da: Iero Demetrio Matricola:

Capitolo 13. Interrogare una base di dati

Corso di Informatica (Basi di Dati)

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Automazione Industriale (scheduling+mms) scheduling+mms.

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse

Gestione Voti Scolastici

La Metodologia adottata nel Corso

1. BASI DI DATI: GENERALITÀ

Composizione. Tipo. Pubblicità. Numero ripetizioni. (1,N) (1,1) Composizione. Tipo. Messaggio promozionale. Codice. Azienda. Prodotto.

Software. Engineering

Lezione 1. Introduzione e Modellazione Concettuale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola:

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Access. P a r t e p r i m a

Database. Si ringrazia Marco Bertini per le slides

Informatica (Basi di Dati)

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

Informatica (Basi di Dati)

Database. Francesco Tapparo Informatica e Bioinformatica /16

ITI M. FARADAY Programmazione modulare a.s

Progettazione di un DB....in breve

SQL prima parte 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 2011/12

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

Volumi di riferimento

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

Gestione della Sicurezza Informatica

ANNO SCOLASTICO: DISCIPLINA: INFORMATICA CLASSE: 5 SI INDIRIZZO: SISTEMI INFORMATIVI DOCENTI: TISO EMANUELE BARBARA SECCHI

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Corso di Basi di Dati e Conoscenza

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

Informatica Documentale

Progetto Logos - Documentazione -

Concetti di base di ingegneria del software

PIANO DI LAVORO. a.s / 2015

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Linguaggi di programmazione

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf

Data Base. Prof. Filippo TROTTA

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Il ruolo del chimico per la sicurezza ambientale

Alessandra Raffaetà. Basi di Dati

marca (1,n) (1,1) nome prezzou prodotto nome responsabile quantità nome datai dataf (0,n) vendite (0,n) (0,n) (0,n) tempo acquisti quantità (0,n)

Corso di. Dott.ssa Donatella Cocca

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

ESAME di INFORMATICA e ARCHIVIAZIONE

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

Soluzione dell esercizio del 12 Febbraio 2004

Транскрипт:

Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010

PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico

PROGETTAZIONE DELLA BASE DI DATI

RICAPITOLANDO FASI E STEP DEL PROGETTO 1. ANALISI E PROGETTAZIONE CONCETTUALE 2. PROGETTAZIONE LOGICA DELLA BASE DI DATI 3. PROGETTAZIONE FISICA ED IMPLEMENTAZIONE DELLA BASE DI DATI

STEP 1: PROGETTAZIONE CONCETTUALE 1.Analisi e progettazione concettuale 1.1 Raccolta e Analisi dei requisiti 1.2 Progettazione dello schema Entità Relazione (E R) 1.3 Specifica delle funzioni per operare sui dati 1.4 Stima del carico applicativo del sistema informatico Il prodotto è lo Schema Concettuale.

STEP 2: PROGETTAZIONE LOGICA 2. Progettazione logica della base di dati 2.1 Ristrutturazione dello schema E R in uno schema E R semplificato orientato al modello relazionale 2.2 Traduzione dello schema E R ristrutturato in schema relazionale. Il prodotto è lo Schema Logico.

STEP 3: PROGETTAZIONE FISICA 3. Progettazione fisica ed implementazione della base di dati 3.1 Realizzazione della base di dati sul DBMS relazionale open source MySQL 5.0 3.2 Popolamento delle tabelle 3.3 Realizzazione delle interrogazioni per operare sui dati Il prodotto è lo Schema Fisico.

MODELLI DI DATI I prodotti della varie fasi della progettazione sono schemi basati su specifici modelli di dati: Schema concettuale modello concettuale Schema logico modello logico Schema fisico modello logico + parametri fisici

MODELLI DEI DATI ADOTTATI Schema concettuale: Modello Entità Relazione (E R) Schema logico: Modello Relazionale DDL: SQL standard Schema fisico: Modello relazionale + strutture fisiche DDL: SQL supportato dal DBMS scelto (MySQL 5.0)

PROGETTAZIONE LOGICA OBIETTIVO: Tradurre" lo schema concettuale in uno schema logico che rappresenti gli stessi dati in maniera corretta ed efficiente

PROGETTAZIONE LOGICA Obiettivo: Rappresentare i dati della realtà d interesse in termini dei costrutti logici di una classe di DBMS (quelli basati su un determinato modello logico) Input: Schema concettuale (output della progettazione concettuale) Modello logico DBMS scelto (conforme al modello logico scelto) Previsioni del carico applicativo (per ottimizzare la base di dati rispetto ad esso) Output: Schema logico + documentazione associata Qualità: Correttezza e completezza della rappresentazione Efficienza della manipolazione dei dati

PROGETTAZIONE LOGICA Non si tratta di una pura e semplice traduzione: alcuni aspetti non sono direttamente rappresentabili è necessario considerare le prestazioni

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

RISTRUTTURAZIONE SCHEMA E-R Motivazioni: semplificare la traduzione "ottimizzare" le prestazioni Osservazione: uno schema E R ristrutturato non è (più) uno schema concettuale nel senso stretto del termine

Analisi delle prestazioni Consideriamo indicatori dei parametri che regolano le prestazioni: Spazio(occupazione di memoria): numero di occorrenze previste Tempo(costo di una operazione): numero di occorrenze (di entità e relationship) visitate durante un operazione

Analisi delle prestazioni Per lo studio di questi parametri servono le seguenti informazioni: Volume dei dati: numero di occorrenze di ogni entità e associazione dimensioni di ciascun attributo (di entità e associazione) Caratteristiche delle operazioni: Tipo di operazione (interattiva o batch) Frequenza (numero medio di esecuzione in un certo intervallo di tempo) Dati coinvolti (entità e/o associazioni)

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

Analisi delle ridondanze Presenza di un dato che può essere derivato(attraverso una serie di operazioni) da altri dati. Vantaggi: riduzione degli accessi necessari per calcolare il dato derivato Svantaggi: maggiore occupazione di memoria e necessità di effettuare operazioni aggiuntive per tenere aggiornato il dato derivato.

Analisi delle ridondanze La decisione se mantenere o eliminare un dato ridondante va presa confrontando: il costo di esecuzione delle operazioni che coinvolgono il dato ridondante relativa occupazione di memoria nei casi di: presenza della ridondanza assenza della ridondanza

FORME DI RIDONDANZA Attributi derivabili: da altri attributi della stessa entità (o associazione) da attributi di altre entità (o associazione) attraverso il conteggio di occorrenze Relazioni derivabili dalla composizione di altre relazioni in presenza di cicli

Esempio O2 Numero abitanti (1,1) (1,n) PERSONA Residenza CITTA Città O1 Operazione O1: memorizza una nuova persona con relativa città di residenza Operazione O2: stampa tutti i dati di una città (incluso il numero di abitanti)

ANALISI DELLE PRESTAZIONI La valutazione si fa sulla base delle: Tavola dei Volumi Tavola delle Operazioni Tavola degli accessi In presenza di ridondanza In assenza di ridondanza (sulla base di uno schema di navigazione)

Concetto Schema E-R TAVOLA DEI VOLUMI Tipo (Entità/Relazione) Volume Città E 200 Persona E 1000000 Residenza R 1000000

TAVOLA DELLE OPERAZIONI Operazione Tipo Frequenza (Interattiva/Batch) Op. 1 I 500 al giorno Op. 2 I 2 al giorno

TAVOLE DEGLI ACCESSI IN PRESENZA DI RIDONDANZA Costo Operazione 1 (in presenza di ridondanza): Concetto Costrutto Accesso Tipo Persona E 1 S Città E 1 L Residenza R 1 S Città E 1 S Un accesso in scrittura alla entità PERSONA Un accesso in lettura per cercare la CITTA di interesse Un accesso in scrittura all associazione RESIDENZA Un accesso in scrittura per incrementare il numero di abitanti in CITTA Il tutto ripetuto per 500 volte al giorno per un totale di 3 x 500 = 1500 accessi in scrittura 1 x 500 = 500 accessi in lettura

TAVOLE DEGLI ACCESSI IN PRESENZA DI RIDONDANZA Costo Operazione 1 (in assenza di ridondanza): Concetto Costrutto Accesso Tipo Città E 1 L Il costo è trascurabile in quanto richiede un solo accesso in lettura all entità CITTA da ripetere 2 volte al giorno.

ESEMPIO DI VALUTAZIONE DI COSTO In presenza di ridondanza: supponendo che un accesso in scrittura abbia costo doppio rispetto all accesso in lettura: in totale 1500 x 2 + 500 = 3500 accessi al giorno

Tavole degli accessi in assenza di ridondanza Costo Operazione 1 (in assenza di ridondanza): Concetto Costrutto Accessi Tipo Persona E 1 S Città E 1 L Residenza R 1 S Un accesso in scrittura alla entità PERSONA Un accesso in lettura per trovare la Città di interesse Un accesso in scrittura all associazione RESIDENZA Il tutto ripetuto per 500 volte al giorno per un totale di 2 x 500 = 1000 accessi in scrittura 1 x 500 = 500 accessi in lettura

Costo Operazione 2 (in assenza di ridondanza): Tavole degli accessi in assenza di ridondanza Concetto Costrutto Accessi Tipo Città E 1 L Residenza R 5000 L Un accesso in lettura all entità CITTA (trascurabile), 5000 accessi in lettura all associazione RESIDENZA in media (numero di persone/numero di città) per calcolare il numero di abitanti di questa città, Il tutto ripetuto per 2 volte al giorno per un totale di 5000 x 2 = 10000 accessi in lettura al giorno.

ESEMPIO DI VALUTAZIONE DI COSTO In assenza di ridondanza: Supponendo che un accesso in scrittura abbia costo doppio rispetto all accesso in lettura Abbiamo in totale (1000 x 2 + 500) + 10000 = 12500 accessi al giorno in caso di assenza di ridondanza.

ESEMPIO DI VALUTAZIONE DI COSTO Riassumendo: presenza di ridondanza: 3500 accessi al giorno assenza di ridondanza: 12500 accessi al giorno Conclusioni: Eliminare il dato ridondante comporterebbe: 9000 accessi giornalieri in più rispetto al caso di dato ridondante presente un risparmio di un solo Kbyte Allora conviene in questo caso mantenere il dato ridondante

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

ELIMINAZIONE DELLE GERARCHIE il modello relazionale non può rappresentare direttamente le generalizzazioni entità e relazioni sono invece direttamente rappresentabili si eliminano perciò le gerarchie, sostituendole con entità e relazioni

Eliminazione delle gerarchie 1. accorpamento delle figlie della generalizzazione nell entità padre 2. accorpamento dell entità padre della generalizzazione nelle entità figlie 3. sostituzione della generalizzazione con relazioni

A01 1. Accorpamento dell entità figlie nell entità padre A02 E0 R1 E3 E1 E2 R2 A11 A21 E4

A11 A21 (0,1) (0,1) A01 E0 TIPO 1.Accorpamento delle entità figlie nell entità padre A02 R1 E3 (0,..) R2 E4

2. Accorpamento dell entità padre nelle entità figlie A01 A02 E0 R1 E3 E1 E2 R2 A11 A21 E4

2. Accorpamento dell entità padre nelle entità figlie R11 R12 E3 E1 E2 R2 A01 A11 A02 A01 A21 A02 E4

3. Sostituzione della generalizzazione con relazioni A01 A02 E0 R1 E3 E1 E2 R2 A11 A21 E4 Corso di Basi di Dati Relazionali Laboratorio Gruppo B

3. Sostituzione della generalizzazione con relazioni A01 A02 E0 R1 E3 RG1 (0,1) (1,1) (0,1) (1,1) RG2 E1 E2 R2 A11 A21 E4

Strategia per la eliminazione delle generalizzazioni La scelta fra le alternative si può fare con metodo simile a quello visto per l'analisi delle ridondanze (però non basato solo sul numero degli accessi) E possibile seguire alcune semplici regole generali: 1. conviene se gli accessi al padre e alle figlie sono contestuali 2. conviene se gli accessi alle figlie sono distinti 3. conviene se gli accessi alle entità figlie sono separati dagli accessi al padre sono anche possibili soluzioni ibride, soprattutto in gerarchie a più livelli

A01 A02 Soluzione Ibrida E0 R1 E3 E1 E2 R2 A11 A21 E4

Soluzione ibrida A01 A02 E0 R1 E3 E2 A21 R2 E4

Soluzione ibrida A01 A02 A11 (0,1) E0 R1 E3 TIPO (0,1) (1,1) RG2 E2 R2 A21 E4

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

PARTIZIONAMENTO/ACCORPAMENTO DI ENTITÀ E RELAZIONI Ristrutturazioni effettuate per rendere più efficienti le operazioni Gli accessi si riducono: separando attributi di un concetto che vengono acceduti separatamente raggruppando attributi di concetti diversi acceduti insieme

ESEMPI DI PARTIZIONAMENTO/ ACCORPAMENTO partizionamento verticale di entità partizionamento orizzontale di entità/relationship eliminazione di attributi multivalore accorpamento di entità/ relationship

ESEMPIO DI PARTIZIONAMENTO/ACCORPAMENTO Se una delle due entità non è coinvolta in alcuna relazione con altre entità dello schema E/R, le due entità possono essere accorpate

ATTIVITÀ DELLA RISTRUTTURAZIONE Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relazioni Scelta degli identificatori primari

SCELTA DEGLI IDENTIFICATORI PRINCIPALI Operazione indispensabile per la traduzione nel modello relazionale Criteri assenza di opzionalità Semplicità (1 o pochi attributi) utilizzo nelle operazioni più frequenti o importanti

SCELTA DEGLI IDENTIFICATORI PRINCIPALI Se nessuno degli identificatori soddisfa i requisiti visti? Si introducono nuovi attributi (codici) contenenti valori speciali generati appositamente per questo scopo

TRADUZIONE VERSO IL MODELLO RELAZIONALE Idea di base: le entità diventano relazioni sugli stessi attributi le associazioni (ovvero le relazioni E R) diventano relazioni sugli identificatori delle entità coinvolte più gli attributi propri