Progettazione Concettuale: Strategie di Progettazione

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
Sistemi Informativi di Rete AA (IV) Progettazione di siti Web: un approccio per Entita e Relazioni.
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
LA PROGETTAZIONE CONCETTUALE Seconda parte
Unità D2 Archivi e file.
Progettazione concettuale
Una Introduzione alle Basi di Dati
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Metodologie e Modelli di Progetto
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
La progettazione di un sistema informatico
Implementare un modello di dati
Esercitazione di Basi di Dati
Progettazione di Database: Esercizi
PROGETTAZIONE DI UN DATA BASE TURCO MERY MAT CPA
Basi di Dati e Sistemi Informativi
Corso di Laurea in Informatica
Introduzione a Oracle 9i
Basi di Dati e Sistemi Informativi
Sistemi e Tecnologie Informatiche Requisiti per la realizzazione di un buon programma.
Corso di Basi di Dati Progettazione di Basi di Dati
Corso di Basi di Dati Progettazione Logica
Basi di Dati e Sistemi Informativi
Sistemi di Elaborazione delle Informazioni Mod.I.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
Progettazione concettuale 1 persona Ente lavora in impiegatodatore.
Progettazione Concettuale:
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Progettazione di basi di dati: metodologie e modelli
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
Cloud informatica V anno.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
© 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Gestione del File.
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
Transcript della presentazione:

Progettazione Concettuale: Strategie di Progettazione Corso di Basi di Dati Progettazione Concettuale: Strategie di Progettazione Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Progettazione concettuale Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Progettazione concettuale La costruzione di uno schema concettuale deve tenere conto di alcune proprieta’ generali che ne determinano la qualita’: Correttezza  utilizzo corretto (sintattico/semantico) dei costrutti del modello E-R. Completezza  rappresentazione di tutti i dati di interesse (e delle operazioni) descritti nel documento di specifica.

Progettazione concettuale Come garantire tali proprieta’? In generale dipendono dal progettista, ma esistono opportune metodologie di progettazione concettuale … Strategie di progettazione Pattern di progettazione Analisi di prestazione

Progettazione concettuale SPECIFICHE di PROGETTO DIAGRAMMA E-R In generale, il documento di specifica potrebbe essere molto complesso e denso di contenuti … da dove partire per la costruzione del modello E-R? Strategia top-down Strategia bottom-up Strategia inside-out Strategia mista

Progettazione concettuale Nella progettazione top-down, lo schema concettuale viene ottenuto attraverso una serie di raffinamenti successivi a partire da uno schema iniziale molto astratto. Schema Iniziale RAFFINAMENTO Schema Intermedio RAFFINAMENTO Schema Intermedio RAFFINAMENTO Schema Finale

Progettazione concettuale ? ANALISI REQUISITI Si vuole realizzare una base di dati di una Software House, di cui si vogliono rappresentare i dati dei dipendenti e dei progetti. Ogni dipendente e’ identificato da un nome, ed ha una stipendio e data di assunzione. I dipendenti possono far parte di progetti software. E’ consentito ad un dipendente di partecipare a piu’ di un progetto, allocando mesi-uomo su ciascun progetto. Inoltre, ogni progetto ha un direttore unico tra i dipendenti che vi partecipano. Ogni progetto ha un titolo univoco, un budget, e puo’ disporre di diverse release. Ad ogni release di un progetto e’ associato un numero progressivo ed una data. Tra i dipendenti, si vogliono gestire i dati dei tecnici e degli sviluppatori. Di ogni sviluppatore, si vuole tenere traccia delle skill specifiche. Gli sviluppatori sono ulteriormente suddivisi in Programmatori ed Analisti.

Progettazione concettuale Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Progettazione concettuale SPECIFICHE di PROGETTO DIAGRAMMA E-R In generale, il documento di specifica potrebbe essere molto complesso e denso di contenuti … da dove partire per la costruzione del modello E-R? Strategia top-down Strategia bottom-up Strategia inside-out Strategia mista

Progettazione concettuale Nella progettazione bottom-up, le specifiche iniziali sono suddivise in componenti via via piu’ piccole, ed in un secondo momento i vari schemi sono integrati tra loro. Specifiche DECOMPOSIZIONE COMPONENTE1 COMPONENTE2 ………. COMPONENTEn INTEGRAZIONE SCHEMA1 SCHEMA2 ………. SCHEMAn Schema Finale

Progettazione concettuale Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Progettazione concettuale SPECIFICHE di PROGETTO DIAGRAMMA E-R In generale, il documento di specifica potrebbe essere molto complesso e denso di contenuti … da dove partire per la costruzione del modello E-R? Strategia top-down Strategia bottom-up Strategia inside-out Strategia mista

Progettazione concettuale Nella progettazione inside-out, si individuano una serie di concetti importanti e poi si procede a partire da questi verso concetti correlati, con un’estensione a macchia d’olio. C Strategia inside-out: caso particolare della strategia bottom-up. Concetto 1 Concetto 2 Concetto 3 SCHEMA FINALE

Progettazione concettuale Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Progettazione di DB PROGETTAZIONE CONCETTUALE SPECIFICHE di PROGETTO DIAGRAMMA E-R In generale, il documento di specifica potrebbe essere molto complesso e denso di contenuti … da dove partire per la costruzione del modello E-R? Strategia top-down Strategia bottom-up Strategia inside-out Strategia mista

Progettazione concettuale In pratica si utilizza una combinazione delle strategie precendenti, detta anche strategia mista. Si individuano i concetti principali o piu’ citati Si realizza uno schema scheletro Si decompone lo schema Si raffina lo schema si espande, si integra In molti casi pratici di una certa complessita’, la strategia mista rappresenta la scelta migliore …

Progettazione concettuale Come garantire tali proprieta’? In generale dipendono dal progettista, ma esistono opportune metodologie di progettazione concettuale … Strategie di progettazione Pattern di progettazione Analisi di prestazione

Progettazione concettuale Non esiste una rappresentazione univoca delle specifiche, nel dubbio e’ meglio attenersi alle Regole Concettuali (RC) del diagramma E-R. RC1. Se un concetto ha proprietà significative e descrive oggetti con esistenza autonoma  Usare Entita’ RC2. Se un concetto correla due o piu’ entita’  Usare Relazioni RC3. Se un concetto e’ un caso particolare dell’altro  Usare Generalizzazioni

Progettazione concettuale Esistono molti pattern (= soluzione di problemi ricorrenti) usati nella progettazione concettuale. Codice Nome Azienda ATTENZIONE! Questi schemi non sono equivalenti!! IMPIEGATO Codice Nome Nome (1,1) IMPIEGO (1,N) IMPIEGATO AZIENDA

Progettazione concettuale PATTERN1. Concetti di tipo “parte-di” attraverso l’utilizzo di relazioni uno-a-molti. Nome Nome Le parti dipendono dal tutto (1,N) COMPOSIZ. (1,1) UNIVERSITA DIPARTIMENTO Nome Codice Le parti sono entita’ autonome (1,N) COMPOSIZ. (0,1) SQUADRA ATLETI

Progettazione concettuale PATTERN2. Introduzione di nuove entita’ in relazioni uno-a-molti per la gestione dei duplicati. Matricola Data Codice (0,N) ESAME (0,N) STUDENTE CORSO Gestione duplicati <studente, corso> Voto Matricola Data Codice (0,N) S-E (1,1) (1,1) E-C (0,N) STUDENTE ESAME CORSO Voto

Progettazione concettuale PATTERN3. Utilizzo di generalizzazioni per rappresentare casi particolari di un concetto. Codice Nome Nome Scadenza (0,N) PARTECIP. (1,N) IMPIEGATO PROGETTO Un Manager e’ anche Impiegato, puo’ partecipare a Progetti ed in piu’ puo’ gestirli. (1,1) (1,N) GESTIONE MANAGER

Progettazione concettuale PATTERN4. Utilizzo di generalizzazioni per tenere traccia della storia di un concetto (ossia, della sua istanza attuale e di quelle pregresse). Nome Nome Dimensione La generalizzazione consente di evitare duplicati tra le entita’, inserendo solo gli attributi specifici del concetto aggiornato/storico. Data rilascio S.O. SOFTWARE Requisiti Data fine validità SOFTWARE OBSOLETO SOFTWARE AGGIORNATO

Progettazione concettuale PATTERN5. Utilizzo di generalizzazioni per tenere traccia dell’evoluzione nel tempo di un certo concetto (ossia creazione di nuove istanze diverse dal concetto originario). Codice Nome Obiettivo Nome CV Un “Progetto” puo’ diventare (o meno) un “Progetto Accettato”nel tempo .. (1,N) PARTECIP. (1,1) PROGETTO RICERCATORE Finanziamento PROGETTO ACCETTATO Data inizio

Progettazione concettuale Come garantire tali proprieta’? In generale dipendono dal progettista, ma esistono opportune metodologie di progettazione concettuale … Strategie di progettazione Pattern di progettazione Analisi di prestazione

Progettazione concettuale Una volta realizzato il modello E-R, e’ importante analizzarne l’efficienza dal punto di vista prestazionale. Indici di prestazione: Costo operazionale  Numero di entita’/associazioni mediamente visitate per implementare una certa operazione sui dati. Occupazione di memoria  Spazio di memoria necessario per memorizzare i dati.

Progettazione concettuale Per poter stimare l’efficienza prestazionale di uno schema E-R, abbiamo necessita’ di informazioni aggiuntive … TAVOLA DEI VOLUMI TAVOLA DELLE OPERAZIONI Analisi del modello E-R DIAGRAMMA E-R Indici di prestazione del modello E-R

Progettazione concettuale Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Progettazione concettuale La tavola dei volumi fornisce una stima del numero di occorrenze di entita’/ relazioni presenti nel modello E-R. Concetto Tipo Volume Progetto E 100 Release 1000 Dipendente 500 Tecnico 200 Sviluppatore Programmatore 70 Analista 30 Stima del numero medio di occorrenze di una entita’

Progettazione concettuale La tabella dei volumi fornisce una stima del numero di occorrenze di entita’/ relazioni presenti nel modello E-R. Concetto Tipo Volume Direzione R 100 Partecipazione 2000 Versioni 1000 Stima del numero medio di occorrenze di una relazione Assunzione1: Ogni progetto ha in media 10 release. Assunzione2: Ad ogni progetto lavorano in media 20 dipendenti.

Progettazione concettuale La tavola delle operazioni definisce: L’insieme delle operazioni che devono essere implementate sui dati. La tipologia delle operazioni (interattive/batch). La frequenza delle operazioni (es. 100 al giorno). Q. Chi fornisce le informazioni delle tavole? A. Spesso la raccolta ed analisi dei requisiti …

Progettazione concettuale Operazione1: assegnare un dipendente ad un progetto. Operazione2: visualizzare tutti i dati di un un progetto, della release associate e del direttore. Operazione3: per ciascun progetto, visualizzare tutti i dati dei dipendenti associati. Operazione Tipo Frequenza Operazione1 I 10 volte/giorno Operazione2 100 volte/giorno Operazione3 B 5 volte/giorno

Progettazione concettuale Data un’operazione O di tipo T, definiamo il suo costo c(OT) come: Frequenza dell’operazione Numero di accessi in lettura a componenti (entita’/relazioni) dello schema Numero di accessi in scrittura a componenti (entita’/relazioni) dello schema Peso dell’operazione (interattiva/batch) Coefficiente moltiplicativo delle operazioni in scrittura

Progettazione concettuale Operazione1: assegnare un dipendente ad un progetto (frequenza: 10 volte al gg). Dipendente Progetto (0,N) Partecipazione (1,N) Mesi Uomo TAVOLA DEGLI ACCESSI Parametri: Concetto Costrutto Accessi Tipo Partecipazione Relazione 1 W

Progettazione concettuale Nome Anno Assunzione Titolo Budget Direzione (1,1) (0,1) Dipendente Progetto (0,N) Versioni Operazione2: visualizzare tutti i dati di un un progetto, della release associate e del direttore. (1,1) Release Numero Data

Progettazione concettuale Nome Anno Assunzione Titolo Budget Direzione (1,1) (0,1) Dipendente Progetto (0,N) TAVOLA DEGLI ACCESSI Versioni Concetto Costrutto Accessi Tipo Progetto Entita’ 1 L Versioni Relazione 10 Release Direzione Dipendente (1,1) Release Numero Data

Progettazione concettuale Nome Anno Assunzione Titolo Budget Direzione (1,1) (0,1) Dipendente Progetto Parametri: (0,N) Versioni Operazione2: visualizzare tutti i dati di un un progetto, della release associate e del direttore. (1,1) Release Numero Data

Progettazione concettuale Operazione3: per ciascun progetto, visualizzare tutti i dati dei dipendenti associati. Dipendente Progetto (0,N) Partecipazione (1,N) TAVOLA DEGLI ACCESSI Mesi Uomo Concetto Costrutto Accessi Tipo Progetto Entita’ 100 R Partecipazione Relazione 2000 Dipendente Parametri:

Progettazione concettuale Dato uno schema S, ed un’insieme di operazioni sui dati O1, O2, … On, con costi c(O1), c(O2), c(On), il costo dello schema e’ definito come: Nel nostro esempio: c(Op1)  10 c(Op2)  1150 c(Op3)  10250 + + c(S)  11410

Progettazione concettuale Dato uno schema S, ed un’insieme di operazioni sui dati O1, O2, … On, con costi c(O1), c(O2), c(On), il costo dello schema e’ definito come: Obiettivo del progettista e’ quello di determinare lo schema E-R di costo minimo … Q1. Come determinare lo schema minimale? Q2. Cosa dire dell’occupazione di memoria?

Progettazione concettuale Conoscendo la tavola dei volumi, il tipo di ciascun attributo e la sua dimensione su disco, e’ possibile stimare l’occupazione di memoria dello schema … V(e), size(e)  Tabella dei volumi e dimensione in termini di occupazione di memoria dell’entita’ e. V(r), size(r)  Tabella dei volumi e dimensione in termini di occupazione di memoria della relazione r.

Progettazione concettuale ESEMPIO: Come stimare l’occupazione di memoria dell’entita’ “Dipendente” … Concetto Tipo Volume Dipendente E 500 Nome Anno Assunzione Dipendente Attributo Tipo Dimensione Nome Stringa (max 8 caratteri) 1B*8=8B AnnoAss. Numero 4B Memoria Occupata (Dipendente)=500*(8B+4B)=6000B

Progettazione concettuale In pratica: si cerca di determinare il miglior trade-off tra occupazione di memoria e costo delle operazioni dello schema ... Gli indici di prestazione di un diagramma E-R sono forniti come input alla fase di progettazione logica, e sono utilizzati per: Traduzione del modello concettuale Analisi delle ridondanze.

Progettazione concettuale Ricapitolando: STEP 0: Analisi dei requisiti STEP1: Progettazione Concettuale STEP 1.1: Diagramma E-R STEP 1.2: Dizionario delle entita’ STEP 1.2: Dizionario delle relazioni STEP 1.3: Tabella delle business rules STEP 1.4: Analisi indici di stima