Basi di Dati

Click here to load reader

  • date post

    02-Jan-2016
  • Category

    Documents

  • view

    26
  • download

    0

Embed Size (px)

description

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 - PowerPoint PPT Presentation

Transcript of Basi di Dati

  • Basi di DatiProgettazione di Basi di Dati:Introduzioneversione 2.0Questo lavoro concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

    G. Mecca - [email protected] - Basi di Dati

  • SommarioIntroduzioneIl Processo di Sviluppo dellApplicazioneAnalisiModello ConcettualeProgettazioneIl Processo di Sviluppo della Base di DatiQualit della Base di DatiProgettazione della Base di Dati >> Sommario

    G. Mecca - [email protected] - Basi di Dati

  • IntroduzioneScopo di questo ciclo di lezionistudiare lanalisi e la progettazione di basi di datiuna delle attivit fondamentali del progetto di applicazioni su basi di datiApproccio usatoutilizzeremo UMLe non il modello entit-relazione tradizionaleProgettazione della Base di Dati >> Introduzione

    G. Mecca - [email protected] - Basi di Dati

  • IntroduzioneAttenzionetradizionalmente: il progetto dei dati stato considerato unattivit separata dal progetto dellapplicazionequesto approccio non coerente con la filosofia della programmazione ad oggettiDi conseguenzail progetto della base di dati deve essere visto nellambito del prog. dellapplicazioneProgettazione della Base di Dati >> Introduzione

    G. Mecca - [email protected] - Basi di Dati

  • Processo di Sviluppo dellApplicazioneApplicazioni di complessit medio-alta necessario un processo di sviluppo sistematicoinsieme di fasi e modelliIl punto di partenzai requisiti iniziali (tipicamente incompleti)Il punto di arrivoil sistema installato e funzionante (da manutenere)Progettazione della Base di Dati >> Il Processo di Sviluppo

    G. Mecca - [email protected] - Basi di Dati

  • Il Processo di Sviluppo: Le AttivitStudio di FattibilitAnalisi dei RequisitiProgettazioneSviluppoTestInstallazione ed UsoManutenzioneProgettazione della Base di Dati >> Il Processo di Sviluppo

    G. Mecca - [email protected] - Basi di Dati

  • Il Processo di SviluppoTradizionalmentemetodologie pesanti (molto rigide e prescrittive)processo in cascata: prima di cominciare la fase successiva necessario completare la precedenteprocesso monolitico dimostrata linefficacia di questo approccio nello sviluppo del software modernoProgettazione della Base di Dati >> Il Processo di Sviluppo

    G. Mecca - [email protected] - Basi di Dati

  • Il Processo di SviluppoRecentementemetodologie agili (pi flessibili e libere)cicli brevi di progetto e sviluppoin ogni ciclo si svolgono molte delle attivit elencatees: Xtreme Programming (http://www.extremeprogramming.org)es: RUP (Rational Unified Process)Progettazione della Base di Dati >> Il Processo di Sviluppo

    G. Mecca - [email protected] - Basi di Dati

  • Studio di FattibilitFase preliminarenon rientra nel ciclo di progetto e sviluppoObiettivivalutazione dei costi e dei beneficinormalmente richiede unanalisi dei requisiti preliminare necessario valutare aspetti organizzativi (impatto del sistema inf. sullorganizzazione)si sceglie la piattaforma tecnologicaProgettazione della Base di Dati >> Il Processo di Sviluppo

    G. Mecca - [email protected] - Basi di Dati

  • Analisi dei RequisitiObiettivocapire come funziona la realt di interessecapire come deve funzionare lapplicazionestudiare le funzioni dellapplicazionestudiare i dati dellapplicazioneUnutile strumento per cominciarei Casi dUso di UML (Use Cases)carte CRC (Class-Responsiblity-Collabor.)Progettazione della Base di Dati >> Analisi dei Requisiti

    G. Mecca - [email protected] - Basi di Dati

  • Modello ConcettualeDescrizione dei dati dellapplicazionediagramma delle classialto livello di astrazione (ancora indipendente dallimplementazione)Vari scopianalizzare le relazioni tra i dati (il modello)guidare la progettazione delle classi e dei componenti dellapplicazioneguidare la progettazione della base di datiProgettazione della Base di Dati >> Analisi dei Requisiti

    G. Mecca - [email protected] - Basi di Dati

  • ProgettazioneObiettivodefinire larchitettura dellapplicazione in termini di componentidefinire la struttura della base di dati (tabelle, attributi, vincoli)definire la struttura delle classi (propriet, metodi, visibilit)Dovrebbe guidare la fase di sviluppoProgettazione della Base di Dati >> Progettazione

    G. Mecca - [email protected] - Basi di Dati

  • Il Processo di SviluppoIn questo corsoci concentriamo esclusivamente sulle attivit collegate alla progettazione dei dativisione molto parziale del processola visione sar ampliata nellambito del corso di ingegneria del software, in cui le attivit descritte qui sono inserite in un processo pi ampio (es: RUP)Progettazione della Base di Dati >> Progettazione

    G. Mecca - [email protected] - Basi di Dati

  • Il Processo di Sviluppo della BDPunto di partenzadefinizione del modello concettuale dei dati Progettazione Logicadallo schema concettuale viene derivato uno schema logico standard e i necessari schemi esterniProgettazione Fisicalo schema logico viene sottoposto a verifica e viene ottimizzatoSviluppo e ManutenzioneProgettazione della BD >> Il Processo di Sviluppo della BD

    G. Mecca - [email protected] - Basi di Dati

  • Il Processo di Sviluppo della BDProgettazione logicaviene condotta sulla base di un semplice algoritmo sistematicoProgettazione fisicaattivit mista: progettazione e tuningrichiede di valutare le prestazionidifficilmente sistematizzabileconta molto lesperienzaProgettazione della BD >> Il Processo di Sviluppo della BD

    G. Mecca - [email protected] - Basi di Dati

  • Qualit della Base di DatiObiettivo della progettazione della bdprodurre una base di dati di qualitQualit della base di datinormalizzazione (progettazione logica): garantisce che la base di dati non presenta anomalieefficienza delle operazioni (progettazione fisica)Progettazione della BD >> Il Processo di Sviluppo della BD >> Qualit

    G. Mecca - [email protected] - Basi di Dati

  • Qualit della Base di DatiUna tabella non normalizzataProgettazione della BD >> Il Processo di Sviluppo della BD >> QualitNOTA: supponiamo che nella base di dati nonci siano altre tabelle per studenti, corsi ed esami

    studenteannoCorsocorsovotodocentePinco Palla1Programmazione27F. TottiPinco Pietro2Programmazione24F. TottiBruno Pasquale1Basi di Dati30C. VieriRossi Paolo2Basi di Dati25C. VieriPinco Palla1Tecnologie Web30A. Del PieroBruno Pasquale1Programmazione21F. Totti

    G. Mecca - [email protected] - Basi di Dati

  • Qualit della Base di DatiAnomalie di aggiornamentose lanno di corso di uno studente varia, necessario modificare il valore in diverse ennuple Anomalie di inserimentose uno studente non ha ancora sostenuto esami non possibile inserirlo nella base di datiAnomalie di cancellazionese ad uno studente vengono annullati gli esami sostenuti, dobbiamo cancellarloProgettazione della BD >> Il Processo di Sviluppo della BD >> Qualit

    G. Mecca - [email protected] - Basi di Dati

  • Qualit della Base di DatiIntuitivamenteil problema legato al fatto che la relazione descrive dati relativi a concetti diversiIn particolaregli studenti ed il loro anno di corsoi corsi ed il loro docentegli esami sostenuti dagli studenti per i corsi ed il voto riportatoProgettazione della BD >> Il Processo di Sviluppo della BD >> Qualit

    G. Mecca - [email protected] - Basi di Dati

  • Qualit della Base di DatiPer questa ragione, si dice chela tabella non normalizzataPer ottenere una bd normalizzatasarebbe stato necessario progettare le tabelle in modo che ciascuna descriva un concettoovvero normalizzare per decomposizione la tabella originaleProgettazione della BD >> Il Processo di Sviluppo della BD >> Qualit

    G. Mecca - [email protected] - Basi di Dati

  • Qualit della Base di DatiProgettazione della BD >> Il Processo di Sviluppo della BD >> Qualit

    studenteannoCorsocorsovotodocentePinco Palla1Programmazione27F. TottiPinco Pietro2Programmazione24F. TottiBruno Pasquale1Basi di Dati30C. VieriRossi Paolo2Basi di Dati25C. VieriPinco Palla1Tecnologie Web30A. Del PieroBruno Pasquale1Programmazione21F. Totti

    studenteannoCorsoPinco Palla1Pinco Pietro2Bruno Pasquale1Rossi Paolo2

    corsodocenteProgrammazioneF. TottiBasi di DatiC. VieriTecnologie WebA. Del Piero

    studentecorsovotoPinco PallaProgrammazione27Pinco PietroProgrammazione24Bruno PasqualeBasi di Dati30Rossi PaoloBasi di Dati25Pinco PallaTecnologie Web30Bruno PasqualeProgrammazione21

    G. Mecca - [email protected] - Basi di Dati

  • Qualit della Base di DatiIl nostro approccionon ci porremo il problema della normalizzazionedescriveremo 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 qualitProgettazione della BD >> Il Processo di Sviluppo della BD >> Qualit

    G. Mecca - [email protected] - Basi di Dati

  • SommarioIntroduzioneIl Processo di Sviluppo dellApplicazioneAnalisiModello ConcettualeProgettazioneIl Processo di Sviluppo della Base di DatiQualit della Base di DatiProgettazione della Base di Dati >> Sommario

    G. Mecca - [email protected] - Basi di Dati

  • Termini della LicenzaThis 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.

    Termini della LicenzaQuesto lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, possibile visitare http://creative