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