E LE BASI DI DATI - Università degli studi di...

30
IL “PATRIMONIO” DI DATI E LE BASI DI DATI

Transcript of E LE BASI DI DATI - Università degli studi di...

Page 1: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

IL “PATRIMONIO” DI DATI E LE BASI DI DATI

Page 2: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

­ quali tipi di dati per rappresentare tali informazioni? ­ dove li memorizziamo? ­ in quali database e con quali strutture?

Dopo aver chiarito quali tipi o classi di informazione sono trattati dal S.I.:

PIANIFICARE IL “PATRIMONIO” DI DATI E LE BASI DI DATI

Page 3: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Il patrimonio dei dati • L’insieme dei dati memorizzati e gestiti nel S.I. • Il “valore” del patrimonio di dati:

– è determinato dalla capacità di rispondere alle esigenze informative di chi vi fa ricorso

– Dipende da: • Completezza dei dati rispetto ai problemi/obiettivi • Tempistica adeguata • Fruibilità/accessibilità • Omogeneità di rappresentazione

• Gli strumenti e le modalità di archiviazione elettronica del patrimonio dei dati dovrebbero essere scelti e progettati in modo da garantire gli aspetti prima indicati

Page 4: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

PROGETTAZIONE DELLE BASI DI DATI

• Progettazione concettuale – rappresentazione dei dati secondo schemi di interesse per l’utente (quali dati, che relazione, come organizzarli)

• progettazione logica – rappresentazione nel database informatico (quali strutture di dati, formati, ecc.)

• progettazione fisica – rappresentazione nei termini delle unità fisiche di elaborazione (quali unità, come sono scritti e letti i dati, ecc.)

Page 5: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Il catalogo dei dati

dato significato origine processo di elaboraz.

Unità di misura e/o codifica

Page 6: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Esempio: codice prodotto (catena di supermercati)

• SIGNIFICATO: identifica un tipo di articolo o una sua confezione particolare

• ORIGINE: lettura codice a barre o immissione a mano

• PROCESSO DI ELABORAZ: memorizzazione diretta dopo validazione

• UNITA’ DI MISURA/CODIFICA: codice EAN

Page 7: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Esempio: costo del prodotto (catena di supermercati)

• SIGNIFICATO: costo medio per unità di articolo • ORIGINE: costi dei lotti di prodotto acquistati • PROCESSO DI ELABORAZIONE: media del costo unitario rispetto ai lotti acquistati in un periodo prefissato

• UNITA’ DI MISURA/CODIFICA: euro per unità

Page 8: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Catalogo dei dati e data dictionary • Catalogo dei dati ­ dal punto di vista degli utenti

– inventario dei dati presenti nel patrimonio aziendale, significato di ciascun dato, modalità con cui può essere reperito, ecc.

• data dictionary ­ per i programmatori e gestori del sistema: – definisce come i dati sono classificati nel o nei vari database, con quali attributi, quali sono specificatamente le procedure che li elaborano, da quali altri dati, ecc.

Page 9: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

DOVE MEMORIZZARE I DATI?

Possibili approcci alla memorizzazione e relative architetture

Page 10: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

ESEMPIO il sistema di casse automatiche in un punto vendita

• Ogni cassa deve accedere a un database contenente il listino prezzi dei prodotti (L)

• Ogni cassa deve memorizzare gli scontrini in un apposito database (S)

• I database degli scontrini (S) devono poi essere raccolti insieme

• Nel caso di aggiornamenti dei prezzi, i database dei listini (L) devono essere aggiornati

Page 11: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Alternativa 1

cassa1 cassa2 cassa3 cassa4

L S1 L S2 L S3 L S4

SISTEMA CENTRALE (?)

L S1 = connessione occasionale o a cadenza stabilita

Page 12: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Alternativa 2

cassa1 cassa2 cassa3 cassa4

S1 S2 S3 S4

SISTEMA CENTRALE

L S1 = connessione occasionale o a cadenza stabilita

= connessione in tempo reale

Page 13: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Alternativa 3

cassa1 cassa2 cassa3 cassa4

SISTEMA CENTRALE

L S

= connessione in tempo reale

Page 14: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Alternativa 4

Page 15: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Quale alternativa scegliere? Con che criteri?

• Tecnici – Vincoli dei sistemi esistenti (compatibilità) – Coerenza con le altre funzionalità/sistemi implementati o che si intente realizzare – Fattibilità tecnica della soluzione

• Economici (costi) – Costi delle attrezzature – Costi di gestione

• Organizzativi – coerenza con le procedure / processi – Competenze e mansioni degli operatori

• In relazione agli obiettivi specifici – Ad es.: maggiore efficienza? Minori costi? Rapidità di risposta/servizio al cliente?

Page 16: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Dal punto di vista tecnico: due approcci opposti

alla memorizzazione dei dati

Page 17: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Database distinti – Ogni applicazione (programma/software) lavora sui propri archivi di dati a) Sia nel caso di sistemi distinti e scollegati tra loro b) Sia nel caso di unico sistema centrale

– I singoli archivi sono organizzati in modo specifico

– PRO: Facilità di progettazione e efficacia con riferimento al singolo programma

– CONTRO: Frammentazione dei dati, ridondanze, incoerenze

Page 18: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Programma A

Sistema operativo

Programma B

Sistema operativo

Programma C

Sistema operativo

Caso A

Caso B

Page 19: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Unico database centralizzato – Archivio unico (database centralizzato) – Tutte le applicazioni (programmi/software) attingono dallo stesso database centrale

– Un software di gestione del database (DBMS: DataBase Management System) gestisce struttura e accessi del database

– PRO: Patrimonio dei dati unitario e non frammentato – PRO: Limitate ridondanze; coerenza dei dati archiviati – CONTRO: Necessaria attenzione nello stabilire i diritti di accesso al database

– CONTRO: Elevata complessità progettuale e di gestione

Page 20: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione
Page 21: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

DBMS • Può essere usato da più applicazioni contemporaneamente

• Organizza e gestisce i dati secondo un modello unitario e coerente

• Risolve i problemi di • Integrità • Ridondanza • Sicurezza di accesso • Indipendenza dei dati dalle applicazioni

Page 22: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Software di manutezione del database

DBMS

Data manipulation Language (DML) Data description Language (DDL)

Page 23: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Architetture, piattaforme, tecnologie: scelta e dimensionamento

Page 24: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

ELEMENTI CHE ANALIZZIAMO

• L’ambiente hardware e software – componenti, tipologie e categorie di appartenenza, ecc.

• L’architettura – come combinare insieme parti e moduli (ad es. architettura di una rete

• Il dimensionamento del sistema – quanta capacità, quanta potenza di calcolo, quanti terminali, ecc.

Page 25: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

AMBIENTE HW E SW le “ grandi” opzioni

• sistemi standard … (es. Windows) – elevata compatibilità tra sw e hw di fornitori diversi – facile interconnessione tra sistemi e applicazioni – generalità d’uso

• …. o sistemi non standard? – elevata specificità – difficile intercambiabilità

Sistemi standard

Sistemi non standard

­ generalità d’uso ­ interoperabilità

­ specificità ­ non interoperabilità

Page 26: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

AMBIENTE HW E SW le “ grandi” opzioni

• sistemi proprietari ….. (es. Windows) – proprietà e controllo (tecnico ed economico) del codice interamente nelle mani del

fornitore (“copyright”) • … o sistemi “open source”? …. (es. Linux)

– diritto dell’utente a disporre dei codici sorgente, a modificare e adattare il software, a utilizzarlo commercialmente senza vincoli economici (“copyleft”)

Sistemi proprietari

Sistemi Open source

­non disponibilità del codice ­adattamenti solo richiedendoli

al fornitore

­disponibilità del codice ­Possibilità di personalizzazioni

Page 27: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

• Best of Breed • assemblaggio di componenti (sw, hw) di fornitori diversi scelti per ottenere “il meglio” di ogni funzione specifica

• necessaria la piena compatibilità • complessità di configurazione

• Suite complete • sistemi realizzati da un unico fornitore • elevata compatibilità, ma non necessariamente prestazioni sempre ottimali per tutte le funzioni

• Sistemi ad hoc • sistemi progettati per il caso specifico

AMBIENTE HW E SW: opzioni e combinazioni

Page 28: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

L’ARCHITETTURA

• Architetture centralizzate – un sistema centrale (dove risiedono i dati) cui sono connesse unità “passive” (terminali)

• Architetture distribuite – varie unità autonome di elaborazione (collegate o meno)

Page 29: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Dimensionamento del sistema: “ capacity planning”

• Scegliere la dimensione (in termini fisici o prestazionali) che il sistema deve garantire per svolgere le funzioni per cui è progettato

Page 30: E LE BASI DI DATI - Università degli studi di Padovastatic.gest.unipd.it/labtesi/eb-didattica/GIA/PIANIFICAZIONESI-a-cp.pdf · PROGETTAZIONE DELLE BASI DI DATI • Progettazione

Un tipico modo di procedere:

“volumi” delle attività (ad es.: numero di ordini settimanali ricevuti)

“volumi” delle applicazioni informatiche (ad es.: numero di operazioni di elaborazione per ciascun ordine, dimensione dei dati da memorizzare per ciascun ordine, ecc.)

Dimensioni del sistema (ad es.: capacità/velocità di elaborazione, capacità di memoria, ecc.)