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.

Servizi correlati

Altre voci

I

Idealista (azienda)

Idealista (stilizzata come idealista, in lettere minuscole, dal 2015; e precedentemente idealista.com) è un'azienda spagnola fondata il 4 ottobre 2000 che offre servizi di portale immobiliare via internet in Spagna, Andorra, Italia e Portogallo.

Leggi la voce →
M

Manufacturing resource planning

Il manufacturing resource planning o pianificazione delle risorse di produzione è una tecnica di pianificazione delle risorse aziendali, nata negli anni ottanta in seguito all'implementazione dei sistemi di material requirements planning (MRP 1). L'acronimo per indicare questa tecnica è MRP 2,…

Leggi la voce →
On-premises softwareO

On-premises software

Il software on-premises (letteralmente "software presso la sede"), in contrapposizione al software come servizio (o Saas), si traduce in pratica nell'installazione ed esecuzione del software direttamente su macchina locale, sia essa aziendale che privata, intesa sia come singola postazione di…

Leggi la voce →
E

Extreme programming

La programmazione estrema (in inglese extreme programming, abbreviata XP) è una metodologia agile di sviluppo software, caratterizzata da cicli di sviluppo brevi, frequenti riscontri da parte del cliente e un insieme coordinato di pratiche di ingegneria del software. Il metodo è concepito per…

Leggi la voce →
A

Approcci di project management

Gli approcci del project management consistono in diversi approcci metodologici adottabili per la gestione delle attività di un progetto, che includono gli approcci agili, interattivi, incrementali e basati sulla successione di fasi predefinite.

Leggi la voce →
T

Tipizzazione statica

Nella teoria dei linguaggi di programmazione, la tipizzazione statica identifica una categoria di sistemi di tipi dove la verifica della compatibilità delle operazioni e l'assegnazione dei tipi a variabili, espressioni e funzioni avvengono già prima dell'esecuzione del programma, generalmente…

Leggi la voce →