1 / 24

Basi di Dati

Basi di Dati. Progettazione di Basi di Dati: Introduzione. versione 2.0. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina). Progettazione della Base di Dati >> Sommario. Sommario. Introduzione Il Processo di Sviluppo dell’Applicazione

Download Presentation

Basi di Dati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca – mecca@unibas.it – Università della Basilicata

  2. Progettazione della Base di Dati >> Sommario Sommario • Introduzione • Il Processo di Sviluppo dell’Applicazione • Analisi • Modello Concettuale • Progettazione • Il Processo di Sviluppo della Base di Dati • Qualità della Base di Dati G. Mecca - mecca@unibas.it - Basi di Dati

  3. Progettazione della Base di Dati >> Introduzione Introduzione • Scopo di questo ciclo di lezioni • studiare l’analisi e la progettazione di basi di dati • una delle attività fondamentali del progetto di applicazioni su basi di dati • Approccio usato • utilizzeremo UML • e non il modello entità-relazione tradizionale G. Mecca - mecca@unibas.it - Basi di Dati

  4. Progettazione della Base di Dati >> Introduzione Introduzione • Attenzione • tradizionalmente: il progetto dei dati è stato considerato un’attività separata dal progetto dell’applicazione • questo approccio non è coerente con la filosofia della programmazione ad oggetti • Di conseguenza • il progetto della base di dati deve essere visto nell’ambito del prog. dell’applicazione G. Mecca - mecca@unibas.it - Basi di Dati

  5. Progettazione della Base di Dati >> Il Processo di Sviluppo Processo di Sviluppo dell’Applicazione • Applicazioni di complessità medio-alta • è necessario un processo di sviluppo sistematico • insieme di fasi e modelli • Il punto di partenza • i requisiti iniziali (tipicamente incompleti) • Il punto di arrivo • il sistema installato e funzionante (da manutenere) G. Mecca - mecca@unibas.it - Basi di Dati

  6. Progettazione della Base di Dati >> Il Processo di Sviluppo Il Processo di Sviluppo: Le Attività • Studio di Fattibilità • Analisi dei Requisiti • Progettazione • Sviluppo • Test • Installazione ed Uso • Manutenzione G. Mecca - mecca@unibas.it - Basi di Dati

  7. Progettazione della Base di Dati >> Il Processo di Sviluppo Il Processo di Sviluppo • Tradizionalmente • metodologie “pesanti” (molto rigide e prescrittive) • processo in cascata: prima di cominciare la fase successiva è necessario completare la precedente • processo “monolitico” • è dimostrata l’inefficacia di questo approccio nello sviluppo del software moderno G. Mecca - mecca@unibas.it - Basi di Dati

  8. Progettazione della Base di Dati >> Il Processo di Sviluppo Il Processo di Sviluppo • Recentemente • metodologie “agili” (più flessibili e libere) • cicli brevi di progetto e sviluppo • in ogni ciclo si svolgono molte delle attività elencate • es: Xtreme Programming (http://www.extremeprogramming.org) • es: RUP (Rational Unified Process) G. Mecca - mecca@unibas.it - Basi di Dati

  9. Progettazione della Base di Dati >> Il Processo di Sviluppo Studio di Fattibilità • Fase preliminare • non rientra nel ciclo di progetto e sviluppo • Obiettivi • valutazione dei costi e dei benefici • normalmente richiede un’analisi dei requisiti preliminare • è necessario valutare aspetti organizzativi (impatto del sistema inf. sull’organizzazione) • si sceglie la piattaforma tecnologica G. Mecca - mecca@unibas.it - Basi di Dati

  10. Progettazione della Base di Dati >> Analisi dei Requisiti Analisi dei Requisiti • Obiettivo • capire come funziona la realtà di interesse • capire come deve funzionare l’applicazione • studiare le funzioni dell’applicazione • studiare i dati dell’applicazione • Un’utile strumento per cominciare • i Casi d’Uso di UML (“Use Cases”) • carte CRC (“Class-Responsiblity-Collabor.”) G. Mecca - mecca@unibas.it - Basi di Dati

  11. Progettazione della Base di Dati >> Analisi dei Requisiti Modello Concettuale • Descrizione dei dati dell’applicazione • diagramma delle classi • alto livello di astrazione (ancora indipendente dall’implementazione) • Vari scopi • analizzare le relazioni tra i dati (il modello) • guidare la progettazione delle classi e dei componenti dell’applicazione • guidare la progettazione della base di dati G. Mecca - mecca@unibas.it - Basi di Dati

  12. Progettazione della Base di Dati >> Progettazione Progettazione • Obiettivo • definire l’architettura dell’applicazione in termini di componenti • definire la struttura della base di dati (tabelle, attributi, vincoli) • definire la struttura delle classi (proprietà, metodi, visibilità) • Dovrebbe guidare la fase di sviluppo G. Mecca - mecca@unibas.it - Basi di Dati

  13. Progettazione della Base di Dati >> Progettazione Il Processo di Sviluppo • In questo corso • ci concentriamo esclusivamente sulle attività collegate alla progettazione dei dati • visione molto parziale del processo • la visione sarà ampliata nell’ambito del corso di ingegneria del software, in cui le attività descritte qui sono inserite in un processo più ampio (es: RUP) G. Mecca - mecca@unibas.it - Basi di Dati

  14. Progettazione della BD >> Il Processo di Sviluppo della BD Il Processo di Sviluppo della BD • Punto di partenza • definizione del modello concettuale dei dati • Progettazione Logica • dallo schema concettuale viene derivato uno schema logico standard e i necessari schemi esterni • Progettazione Fisica • lo schema logico viene sottoposto a verifica e viene ottimizzato • Sviluppo e Manutenzione G. Mecca - mecca@unibas.it - Basi di Dati

  15. Progettazione della BD >> Il Processo di Sviluppo della BD Il Processo di Sviluppo della BD • Progettazione logica • viene condotta sulla base di un semplice algoritmo sistematico • Progettazione fisica • attività mista: progettazione e “tuning” • richiede di valutare le prestazioni • difficilmente sistematizzabile • conta molto l’esperienza G. Mecca - mecca@unibas.it - Basi di Dati

  16. Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualità Qualità della Base di Dati • Obiettivo della progettazione della bd • produrre una base di dati di qualità • Qualità della base di dati • “normalizzazione” (progettazione logica): garantisce che la base di dati non presenta anomalie • efficienza delle operazioni (progettazione fisica) G. Mecca - mecca@unibas.it - Basi di Dati

  17. Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualità Qualità della Base di Dati • Una tabella non normalizzata NOTA: supponiamo che nella base di dati non ci siano altre tabelle per studenti, corsi ed esami G. Mecca - mecca@unibas.it - Basi di Dati

  18. Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualità Qualità della Base di Dati • Anomalie di aggiornamento • se l’anno di corso di uno studente varia, è necessario modificare il valore in diverse ennuple • Anomalie di inserimento • se uno studente non ha ancora sostenuto esami non è possibile inserirlo nella base di dati • Anomalie di cancellazione • se ad uno studente vengono annullati gli esami sostenuti, dobbiamo cancellarlo G. Mecca - mecca@unibas.it - Basi di Dati

  19. Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualità Qualità della Base di Dati • Intuitivamente • il problema è legato al fatto che la relazione descrive dati relativi a “concetti” diversi • In particolare • gli studenti ed il loro anno di corso • i corsi ed il loro docente • gli esami sostenuti dagli studenti per i corsi ed il voto riportato G. Mecca - mecca@unibas.it - Basi di Dati

  20. Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualità Qualità della Base di Dati • Per questa ragione, si dice che • “la tabella non è normalizzata” • Per ottenere una bd normalizzata • sarebbe stato necessario progettare le tabelle in modo che ciascuna descriva un concetto • ovvero “normalizzare” per decomposizione la tabella originale G. Mecca - mecca@unibas.it - Basi di Dati

  21. Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualità Qualità della Base di Dati G. Mecca - mecca@unibas.it - Basi di Dati

  22. Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualità Qualità della Base di Dati • Il nostro approccio • non ci porremo il problema della normalizzazione • descriveremo un algoritmo di progettazione che garantisce di produrre basi di dati normalizzate • purché si parta da uno schema concettuale di qualità (corretto e non ridondante) • effettueremo verifiche continue di qualità G. Mecca - mecca@unibas.it - Basi di Dati

  23. Progettazione della Base di Dati >> Sommario Sommario • Introduzione • Il Processo di Sviluppo dell’Applicazione • Analisi • Modello Concettuale • Progettazione • Il Processo di Sviluppo della Base di Dati • Qualità della Base di Dati G. Mecca - mecca@unibas.it - Basi di Dati

  24. Termini della Licenza Termini della Licenza • This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. • Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - mecca@unibas.it - Basi di Dati

More Related