Database management system
Un database management system (in acronimo DBMS, lett. "sistema di gestione della base di dati" in italiano) è un sistema software progettato per consentire la creazione, la manipolazione e l'interrogazione di una o più basi di dati in modo corretto ed efficiente.
Un database management system (in acronimo DBMS, lett. "sistema di gestione della base di dati" in italiano) è un sistema software progettato per consentire la creazione, la manipolazione e l'interrogazione di una o più basi di dati in modo corretto ed efficiente.
Talvolta ci si riferisce ai DBMS utilizzando impropriamente il termine database (o "base di dati" in italiano), a causa dell'accoppiamento tipicamente stretto tra l'archivio dati e il software di gestione.
Descrizione
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.
Un DBMS è differente dal concetto generale di applicazione sulle banche dati in quanto è progettato per sistemi multi-utente: i DBMS si appoggiano a kernel che supportano nativamente il multitasking e il collegamento in rete, infatti una tipica applicazione per la gestione dei database non includerebbe queste funzionalità, ma si appoggerebbe al sistema operativo per consentire all'utente di usufruirne.
Un DBMS controlla anche la sicurezza e l'integrità del database e può essere costituito da un insieme complesso di programmi software che controllano l'organizzazione, la memorizzazione e il reperimento dei dati (campi, record e archivi) in un database. Il DBMS accetta richieste di dati da parte del programma applicativo e "istruisce" il sistema operativo per il trasferimento dei dati appropriati, svolgendo un ruolo fondamentale in applicazioni informatiche di ogni genere, dalla contabilità, alla gestione delle risorse umane e alla finanza fino a contesti tecnici come la gestione di rete o la telefonia.
Controllo degli accessi
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 a 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 e 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.
Mantenimento dell'integrità
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"). Le regole che determinano l'integrità e la consistenza di una base di dati prendono il nome di vincoli di integrità referenziale (proprietà "ACID").
Gestione delle transazioni
I linguaggi di interrogazione del database mediante query (interrogazioni) e i generatori di report permettono agli utenti di interrogare in maniera interattiva il database e di analizzarne i dati.
Se il DBMS fornisce un modo per aggiornare e immettere nuovi dati nel database, oltre che per interrogarlo, questa capacità permette di gestire database personali. Comunque queste funzionalità non danno la possibilità di mantenere traccia delle revisioni e non forniscono gli strumenti necessari alla gestione di una organizzazione multi-utente. Questi controlli sono disponibili solamente quando un insieme di programmi applicativi è appositamente costruito per gestire e coordinare ciascuna funzione di immissione o modifica dei dati.
MCMX