Database management system
In
informatica, un Database Management System (abbreviato in DBMS) è un
sistema software progettato per consentire la creazione e manipolazione efficiente di
database (ovvero di collezioni di
dati strutturati) solitamente da parte di più utenti. I DBMS svolgono un ruolo fondamentale in numerose applicazioni informatiche, dalla
contabilità, la gestione delle
risorse umane e la
finanza fino a contesti tecnici come la
gestione di rete o la
telefonia.Se in passato i DBMS erano diffusi principalmente presso le grandi
aziende e istituzioni (che potevano permettersi l'impegno economico derivante dall'acquisto delle grandi infrastrutture
hardware necessarie per realizzare un sistema di database efficiente), oggi il loro utilizzo è diffuso praticamente in ogni contesto. L'espressione
applicazione enterprise, che nel gergo informatico si riferisce ad applicazioni legate al business delle aziende che le utilizzano, implica quasi "per definizione" la presenza di una o più basi di dati amministrate da uno o più DBMS.
La teoria dei database, e dei DBMS, rappresenta da sempre uno dei filoni più solidi e importanti dell'
informatica.
Un DBMS è differente dal concetto generale di
applicazione sui
database, in quanto è progettato per sistemi multi-utente. A tale scopo, i DBMS si appoggiano a
kernel che supportano nativamente il
multitasking e il collegamento in
rete. Una tipica applicazione per la gestione dei database non includerebbe, infatti, tali funzionalità, ma si appoggerebbe al
sistema operativo per consentire all'utente di fruirne dei vantaggi.
Un DBMS può essere costituito da un insieme assai complesso di programmi
software che controllano l'organizzazione, la memorizzazione e il reperimento dei dati (
campi,
record e archivi) in un database. Un DBMS controlla anche la sicurezza e l'integrità del database. Il DBMS accetta richieste di dati da parte del programma applicativo e "istruisce" il
sistema operativo per il trasferimento dei dati appropriati.
Il sistema di sicurezza dei dati impedisce agli utenti non autorizzati di visualizzare o aggiornare il database. Mediante l'uso di password (parole d'ordine) agli utenti è permesso l'accesso all'intero database o ad un suo sottoinsieme: in questo secondo caso si parla di subschema. Per esempio, un database di impiegati può contenere tutti i dati riguardanti un singolo soggetto, ma un gruppo di utenti può essere autorizzato a vedere solamente i dati riguardanti lo stipendio, mentre altri utenti possono essere autorizzati a vedere solamente le informazioni che riguardano la sua storia lavorativa e la situazione sanitaria.
Il DBMS può mantenere l'integrità del database non consentendo a più utenti di modificare lo stesso record contemporaneamente (blocco del record). Il database può impedire l'immissione di due record duplicati; per esempio può essere impedita l'immissione nel database di due clienti con lo stesso numero identificativo (campi chiave). L'insieme di regole che determinano l'integrità e la consistenza di una
base di dati prendono il nome di
Vincoli di integrità referenziale. A tale proposito si vedano le cosiddette proprietà "
ACID".
Un sistema informativo commerciale è costituito da soggetti (clienti, impiegati, venditori) e attività (ordini, pagamenti, acquisti, ecc.). La progettazione del
database (
database design) è il processo decisionale su come organizzare questi dati in tipi di record e su come ciascun tipo di record si relaziona con gli altri. Il DBMS dovrebbe rispecchiare la struttura dei dati dell'organizzazione e gestire in maniera efficiente le varie transazioni.