IL “PATRIMONIO” DI DATI LE BASI DI DATI
Il patrimonio dei dati
• Il “valore” del patrimonio di dati:
– Capacità di rispondere alle esigenze informative di chi
vi fa ricorso
• Dipende da caratteristiche quali:
–
–
–
–
Completezza
Omogeneità di rappresentazione
Aspetti temporali
Fruibilità
• Gli strumenti e le modalità di archiviazione
elettronica del patrimonio dei dati dovrebbero
essere scelti e progettati in modo coerente con le
caratteristiche prima indicate
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.)
Il catalogo dei dati
• Dizionario dei dati (data dictionary):
– serve ai programmatori (o all’amministratore dei
database) per definire come i dati sono classificati nel o
nei vari database, con quali attributi, quali sono le
procedure che li elaborano, da quali altri dati, ecc.
• 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.
Approcci alla memorizzazione
dei dati: i database aziendali
• Approccio “tradizionale” (per file distinti):
– Ogni applicazione (programma/software)
lavora sui propri archivi di dati
– I singoli archivi (file) sono organizzati in modo
specifico
– Facilità di progettazione e efficacia, ma solo
con riferimento al singolo programma
– Frammentazione dei dati, ridondanze,
incoerenze
• Approccio “centralizzato”: unico database
– Archivio unico centralizzato (database)
– Patrimonio dei dati unitario e non frammentato
– Tutte le applicazioni (programmi/software)
attingono dallo stesso database centrale
– Limitate ridondanze; coerenza nelle
archiviazioni
– Elevata complessità progettuale e di gestione
– Necessità di un software di gestione del
database (DBMS: DataBase Management
System)
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
Software di manutezione
del database
La scelta e il
dimensionamento
delle tecnologie
ELEMENTI DA CONSIDERARE
• L’ambiente hardware e software
• L’architettura
• Il dimensionamento del sistema
AMBIENTE HW E SW
le “grandi” opzioni
• sistemi standard …
– elevata compatibilità tra sw e hw di fornitori diversi
• facile interconnessione tra sistemi e applicazioni
• …. o sistemi non standard?
• elevata specificità, difficile intercambiabilità
• sistemi proprietari …..
– proprietà e controllo (tecnico ed economico) del codice interamente nelle
mani del fornitore (“copyright”)
• … o sistemi “open source”?
– diritto dell’utente a disporre dei codici sorgente, a modificare e adattare il
software, a utilizzarlo commercialmente senza vincoli economici
(“copyleft”)
AMBIENTE HW E SW:
opzioni e combinazioni
• 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
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)
Dimensionamento del sistema:
“capacity planning”
• Scegliere la dimensione e/o le prestazioni
che il sistema deve garantire per svolgere le
funzioni per cui è progettato
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.)