240 likes | 384 Views
Basi di Dati e Sistemi Informativi. Progettazione di Basi di Dati Home page del corso : http:// www.cs.unibo.it /~ difelice / dbsi /. Progettazione di DB.
E N D
Basi di Dati e SistemiInformativi Progettazione di Basi di Dati Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/
Progettazione di DB Negliesempivistifin’ora, abbiamostudiato come implementareuna base di datiin SQL, a partire da uno schema gia’ definito. IMPIEGATO UFFICI CREATE TABLE IMPIEGATO( CODICE SMALLINT PRIMARY KEY … .. …
Progettazione di DB Come procedere se dobbiamorealizzareda zero un nuovosistemainformativo? Es. Progettazione di un sistemainformativo per gestireidati di un repartoospedaliero (anagraficapazienti, anagraficamedici, cartellecliniche, etc). … In questocaso, partiredirettamente con l’implementazionedelletabelle SQL puo’ esserecomplesso se non impossibile(vedidopo)…
Progettazione di DB PROBLEMA1: Dimensionamento del problema. Negliesempiproposti fin qui, uno schema di un DB era composto da max 5 tabelle… In pratica, un DB di un sistemainformativo di mediedimensionipuo’ conteneredecine di tabelle… Es. rete SOLE, gestione integrata del fascicolosanitario
Progettazione di DB PROBLEMA2: Analisideirequisiti • Qualisono le specifiche del sistemachesivuolerealizzare? • Qualisonoidatid’interessenelmodello? • Qualisono le operazioni sui datida gestire? • Nellapratica, capire le richiestedeiclienti e’ un processo solo apparentementesemplice…
Progettazione di DB PROBLEMA3: Traduzionenelmodellorelazionale Q. Supponendo di aver chiaritocosasideverealizzare, edidati da gestire, come passare da unaspecificainformaledeidati ad un schema relazionale? SPECIFICHE Il sistemadevegestireidatirelativiairicoveri di ciascunpaziente, tenendotracciadelleterapiemedichegiornalieresomministrate, degliesami di laboratorioeffettuati, etc ? ? PAZIENTE RICOVERO TERAPIA
Progettazione di DB Come procedere? Esistonotecniche e metologieconsolidate per progettareuna base di datia partiredaisuoirequisiti. In generale, la progettazione e’ un solo unodeicomponenti del ciclo di vita di un sistemainformativo (vediprossima slide …) REQUISITI PROGETTAZIONE DB SQL
Progettazione di DB Studio di fattibilita’ Oggetto di studio del modulo corrente { Raccolta/analisirequisiti Progettazione Ciclo di vita di un sistemaInformativo Modulo precedente Implementazione Validazione Funzionamento
Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica
Progettazione di DB Esempio: Progettazione di una base di dati per un entecheerogacorsi di formazione. SPECIFICA deiREQUISITI sui DATI Si vuoleprogettareuna base di dati per unasocieta’ cheerogacorsi, di cui sivoglionorappresentareidatideidocenti e dglistudenti. Per glistudenti, identificati da un codice, sivuoleteneretraccia del codicefiscale, cognome, eta’, sesso, e corsichestannoseguendo/hannoseguito. I corsihanno un codice, un titolo e possonoaverevarieedizioni con date di inizio/fine e numerodeglistudenti. Per gliinsegnanti, sivuolememorizzareilcodice, ilcognome, l’afferenza, ilnome del corsocheinsegnano/hannoinsegnato.
Progettazione di DB Esempio: Progettazione di una base di dati per un entecheerogacorsi di formazione. SPECIFICA delleOPERAZIONI sui DATI • Inserimento di un nuovostudente (in media, ognimese) • Inserimento di un nuovodocente (in media, ogni anno) • Inserimento di un nuovocorso (in media, ogni anno) • Stampa di tuttiicorsiattivi (ognigiorno) • Stampa di tuttiiglistudentidell’ultimo anno • … • …
Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica
Progettazione di DB Esistonodellemetodologie di progettazioneper produrreunabuona base di dati … In cosaconsisteunametolodogia? Decomposizionedell’attivita’ di progetto in fasi successive. Strategie da seguire, e criteri di sceltaper determinare la soluzioneottimale. Modelli per descrivereidati in ingresso/uscitanellevariefasi. Metriche e strumenti per valutare la qualita’ del prodotto finale.
Progettazione di DB In questocorso, vedremounametodologia “classica” di progettazionebasatasu 3 fasi… ANALISI REQUISITI PROGETTAZIONE CONCETTUALE Cosasirappresenta Come losirappresenta FILE1 FILE2 FILEn PROGETTAZIONE FISICA PROGETTAZIONE LOGICA
Progettazione di DB • Ognifasedellaprogettazione produce unarappresentazionedella base di datiattraversounoschema: • ProgettazioneConcettuale • ProgettazioneLogica • ProgettazioneFisica SCHEMA CONCETTUALE SCHEMA LOGICO (dipendente dal modellodeidati) SCHEMA FISICO (dipendente dal DBMS in uso)
Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica
Progettazione di DB • In questafase, ci sifocalizzasulcontenutoinformativodeidati ad alto livello di astrazione, senzafocalizzarsisull’implementazione. • In output, si produce un modelloconcettuale: • indipendentedallo schema logico(relazionale) • indipendente dal DBMS in uso • Utilita’ dellaprogettazioneconcettuale: • Creareun’astrazionecompletadeidati da rappresentare • Capirele relazionitraidati del modello
Progettazione di DB Sonodisponibilimoltimodelliconcettualiper la progettazione di basi di dati: MODELLO ENTITA’ -RELAZIONE(ER) UNIFIED MODELING LANGUAGE(UML)
Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica
Progettazione di DB • In questafase,sirappresenta la base di datinelloschema logico del DMBS (nelnostrocaso, nello schema relazionale). • La progettazionelogicacomprende: • Traduzionedello schema concettuale • Ottimizzazionedello schema logicoottenuto
Progettazione di DB • Unavoltaottenuto lo schema logico, e’ necessarioanalizzare la qualita’ del prodotto finale: • Rimozionedelleridondanze(normalizzazione) • Analisidelleprestazioni • In base alleoperazionipreviste sui dati, lo schema prodotto e’ efficientedal punto di vista delleprestazioni?
Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica
Progettazione di DB In questafase, sidescrivono le struttureper la memorizzazionedeidatisumemoriasecondaria, e l’accesso (efficiente) aidati. FILE1.dat 0001000 111010 101110 • Strutturasequenziale • Strutturaad accessocalcolato(hash) • Strutturaad albero