Corso di basi di dati
Download
1 / 25

Corso di Basi di Dati - PowerPoint PPT Presentation


  • 156 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Corso di Basi di Dati' - aileen


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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

… .. …


Progettazione di db1
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)…


Progettazione di db2
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 db3
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 db4
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 db5
Progettazione di DB

PROBLEMA3: Traduzionenelmodellorelazionale

  • Senzaunabuonaprogettazione, possonoemergereanomalie

  • ederrorinellafase di traduzionenelmodellorelazionale…

RICOVERI

Questeinformazionisonoridondanti …


Progettazione di db6
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


Progettazione di db7
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


Progettazione di db8
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 db9
Progettazione di DB

Analisideirequisitie progettazionein dettaglio …

Studio/analisideirequisiti

Fasidellaprogettazione

Risultati

SCHEMA

CONCETTUALE

Progettazioneconcettuale

SCHEMA

LOGICO

Progettazionelogica

SCHEMA

FISICO

Progettazionefisica


Progettazione di db10
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 db11
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 db12
Progettazione di DB

Analisideirequisitie progettazionein dettaglio …

Studio/analisideirequisiti

Fasidellaprogettazione

Risultati

SCHEMA

CONCETTUALE

Progettazioneconcettuale

SCHEMA

LOGICO

Progettazionelogica

SCHEMA

FISICO

Progettazionefisica


Progettazione di db13
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 db14
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 db15
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 db16
Progettazione di DB

Analisideirequisitie progettazionein dettaglio …

Studio/analisideirequisiti

Fasidellaprogettazione

Risultati

SCHEMA

CONCETTUALE

Progettazioneconcettuale

SCHEMA

LOGICO

Progettazionelogica

SCHEMA

FISICO

Progettazionefisica


Progettazione di db17
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 db18
Progettazione di DB

Sonodisponibilimoltimodelliconcettualiper la progettazione di basi di dati.

MODELLO ENTITA’

-RELAZIONE(ER)

UNIFIED MODELING

LANGUAGE(UML)


Progettazione di db19
Progettazione di DB

Analisideirequisitie progettazionein dettaglio …

Studio/analisideirequisiti

Fasidellaprogettazione

Risultati

SCHEMA

CONCETTUALE

Progettazioneconcettuale

SCHEMA

LOGICO

Progettazionelogica

SCHEMA

FISICO

Progettazionefisica


Progettazione di db20
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 db21
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 db22
Progettazione di DB

Analisideirequisitie progettazionein dettaglio …

Studio/analisideirequisiti

Fasidellaprogettazione

Risultati

SCHEMA

CONCETTUALE

Progettazioneconcettuale

SCHEMA

LOGICO

Progettazionelogica

SCHEMA

FISICO

Progettazionefisica


Progettazione di db23
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


ad