Definizione: Un DBMS è un sistema in grado di gestire collezione di dati che siano:
- grandi, ovvero di dimensioni maggiori della memoria centrale dei sistemi di calcolo usati;
- persistenti, ovvero con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano e per molto tempo;
- condivise, ovvero usate da diversi applicativi e diversi utenti. L’accesso può essere sia in scrittura che in lettura a seconda del caso. Si pongono quindi problemi di concorrenza e sicurezza;
- affidabili, sia resistente dal punto di vista hardware (un guasto non deve farmi perdere i dati) che dal punto di vista della sicurezza informatica. Le transazioni devono essere quindi atomiche (o tutto o niente) e definitive (che non verranno più dimenticate). Il software può cambiare mentre i dati no.
A livello di architettura per un sistema centralizzato si hanno:
- uno o più storage per memorizzare i dati, a loro volta su uno o più file del file system
- il DBMS, il componente software che funge da componente logico
- diverse applicazioni che elaborano i dati provenienti dal db (lettura) ed eventualmente scrivono dati sullo stesso (scrittura)
- il DBA (Database Administrator) che tramite riga di comando o GUI si occupa di manutenzione, sicurezza, ottimizzazione etc… del DBMS
L’architettura dati di un DBMS è definita dall’ente ANSI/SPARC ed è a 3 livelli:
- diversi schemi esterni, porzioni di db messi a disposizione per le varie applicazioni
- uno schema logico (o concettuale), che fa riferimento al modello relazionale dei dati ed è indipendente dalla tecnologia usata. Avendo un unico schema logico si ha un’unica semantica (perlomeno a livello astratto). Si ha un’unica base di dati, quindi un unico insieme di record interrogati e aggiornati da tutti gli utenti. Non si ha nessuna forma di eterogeneità concettuale
- uno schema fisico, che fa riferimento alla tecnologia usata per implementare le tabelle per salvare i dati. Si ha un’unica rappresentazione fisica dei dati e quindi nessuna distribuzione e nessuna eterogeneità fisica.
Un unico schema fisico è collegato ad un unico schema logico.
Inoltre si hanno:
- un unico linguaggio di interrogazione e quindi un’unica modalità di accesso ai dati
- un unico sistema di gestione per accesso, aggiornamento e gestione per le transazioni e interrogazioni
- un’unica modalità di ripristino in caso d’emergenza