1 / 25

Corso di Basi di Dati

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

aileen
Télécharger la présentation

Corso di 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. Corso di Basi di Dati Progettazione di Basi di Dati Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

  2. Progettazione di DB Negliesempivistifin’ora, abbiamostudiato come implementareuna base di datiin SQL, a partire da uno schema relazionalegia’ definito. IMPIEGATO UFFICI CREATE TABLE IMPIEGATO( CODICE SMALLINT PRIMARY KEY … .. …

  3. Progettazione di DB Q. 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)…

  4. 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

  5. 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…

  6. 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

  7. Progettazione di DB PROBLEMA3: Traduzionenelmodellorelazionale • Senzaunabuonaprogettazione, possonoemergereanomalie • ederrorinellafase di traduzionenelmodellorelazionale… RICOVERI Questeinformazionisonoridondanti …

  8. Progettazione di DB PROBLEMA3: Traduzionenelmodellorelazionale • Senzaunabuonaprogettazione, possonoemergereanomalie • ederrorinellafase di traduzionenelmodellorelazionale… • Es. Si voglionomodellare le informazioni sui conticorrenti di • un ente di credito . Ognicontopuo’ essereintestato a piu’ clienti. • Ogniclientepuo’ disporre di piu’ di un conto. CLIENTI CONTI

  9. Progettazione di DB • Come procedere? • Esistonotecniche e metologieconsolidate per progettareuna“buona” 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

  10. 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

  11. Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica

  12. 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.

  13. 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 • … • …

  14. Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica

  15. 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.

  16. 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

  17. 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)

  18. Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica

  19. 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

  20. Progettazione di DB Sonodisponibilimoltimodelliconcettualiper la progettazione di basi di dati. MODELLO ENTITA’ -RELAZIONE(ER) UNIFIED MODELING LANGUAGE(UML)

  21. Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica

  22. 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

  23. 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?

  24. Progettazione di DB Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica

  25. 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

More Related