Un database è un insieme di dati gestito e organizzato da un software specifico chiamato DataBase Management System (DBMS) ovvero uno strato software che si frappone tra l'utente e i dati veri e propri che gestisce grandi quantità di dati persistenti e condivisi.
Grazie a questo strato intermedio, l'utente e le applicazioni non accedono direttamente ai dati (rappresentazione fisica) ma alla loro rappresentazione logica che non deve essere modificata nel tempo.
I DBMS operano a due livelli:
Per consentire la consultazione dei dati provenienti da svariati sistemi operativi e da differenti applicazioni è importante realizzare un data warehouse (raccolta di dati orientata ad argomenti, integrata, variabile nel tempo e non volatile, che diventa la base da cui far partire le attività di supporto decisionale e analisi dei dati).
All’interno di un’azienda la struttura dei dati viene progettata per ottimizzare diversi processi quali, per esempio, l’emissione di un nuovo ordine, la ricerca anagrafica di un cliente, l’inserimento di una nuova fattura, il carico e lo scarico del magazzino ecc.
I dati presenti nel data warehouse devono essere coerenti tra loro anche se provenienti da applicazioni progettate per scopi diversi.
Esistono due tipi fondamentali di data warehouse:
A differenza dei data warehouse aziendali, i data mart vengono in genere sviluppati “bottom - up” dalle risorse del reparto per un’applicazione specifica di supporto decisionale o per gruppi di utenti specifici. Le informazioni di un data mart possono essere un sottoinsieme di un data warehouse aziendale (data mart dipendente), oppure più frequentemente derivano direttamente dalle fonti dati operative (data mart indipendente).