Sistema di gestione di base di dati (DBMS): una spiegazione

Quasi nessun computer o applicazione web è funzionale senza un adeguato sistema di database. Proprio per questo motivo può essere utile approfondire l’argomento. Importante quanto l’effettivo insieme di dati, il sistema di gestione di base di dati è ciò che rende un database funzionale.

Registrazione dominio

Più di un semplice nome.

Registra il tuo dominio con IONOS e approfitta di tutte le nostre funzionalità.

E-Mail
SSL Wildcard
Supporto 24/7

Che cos’è un DBMS?

Un sistema di gestione di base di dati, abbreviato in DBMS, costituisce insieme a una base di dati un sistema di database (per quest’ultimo viene anche usato il termine generale “banca dati”). In generale, un DBMS di questo tipo è un software che definisce il modello di un sistema di database ed è quindi la componente determinante per poter costruire, gestire e utilizzare un database. Solo quando il rispettivo sistema di gestione della base di dati è stato installato e impostato, gli utenti possono inserire e leggere le basi dei dati desiderati. L’accesso in scrittura e in lettura e le funzioni generali di amministrazione sono abilitate da interfacce specifiche per l’applicazione e da un linguaggio di database adeguato. Il più noto di questi linguaggi è l’SQL (Structured Query Language).

N.B.

I termini “Database Management System” (DMBS) e “database” sono spesso equiparati erroneamente per indicare il nome del software utilizzato per gestire un database. Di fatto, un database non è altro che una base di dati in forma strutturata, mentre il DBMS è lo strumento che serve a realizzare questa struttura.

Quali sono i componenti di un DBMS?

Un sistema di gestione di base di dati è costituito da vari componenti che contribuiscono tutti al buon funzionamento del software. Il DBMS può essere suddiviso in tre componenti principali: il dizionario dei dati, il linguaggio di definizione dati e il linguaggio di manipolazione dati.

  • Dizionario dei dati: il dizionario dei dati (Data Dictionary) consiste in una raccolta di metadati che contengono informazioni sul contenuto dei vari dati presenti nell’archivio. Essi forniscono informazioni anche in merito all’autorizzazione e all’uso dei set di dati e alla loro rappresentazione fisica. In parole povere, il dizionario contiene tutte le informazioni rilevanti sui dati memorizzati in un database.
  • Linguaggio di definizione dati: il linguaggio di definizione dati, in inglese Data Definition Language (DDL), è progettato per strutturare il contenuto di un database. Singoli oggetti come riferimenti, relazioni o diritti dell’utente possono essere modificati, cancellati e creati utilizzando tale linguaggio.
  • Linguaggio di manipolazione dati: questo linguaggio, in inglese Data Manipulation Language (DML), si usa per cancellare, inserire, modificare e leggere i record di dati contenuti in un database. Inoltre, permette di comprimere ed estrarre i dati.

Compiti, funzioni e requisiti di un sistema di gestione di base di dati

Il DBMS è la componente più importante di un sistema di database. In assenza di tale sistema, il database non potrebbe essere gestito, controllato o monitorato. Il software è responsabile anche della gestione di tutti gli accessi in lettura e scrittura al database. Un termine ampiamente usato per descrivere le funzioni e i requisiti delle transazioni di un sistema di gestione di base di dati è ACID, acronimo di atomicity, consistency, isolation e durability (in italiano atomicità, coerenza, isolamento e durabilità.) Questi concetti rappresentano i requisiti più importanti di un DBMS:

  • L’atomicità è la proprietà del “tutto o niente” del DBMS; solo se le query valide vengono eseguite nell’ordine corretto, l’intera transazione viene completata correttamente.
  • La coerenza implica che le transazioni di successo lascino un database stabile, il che richiede un controllo costante di tutte le transazioni.
  • L’isolamento è il requisito secondo il quale le transazioni non devono “ostacolarsi a vicenda” e di solito è garantito da alcune funzioni di blocco.
  • La durabilità indica che tutti i dati vengono memorizzati in modo permanente nel DBMS, anche dopo che una transazione è stata completata con successo. Ciò vale anche o soprattutto in caso di errori di sistema o di problemi del DBMS. I log delle transazioni, che registrano tutti i processi nel DBMS, sono essenziali per la durabilità.

Di seguito è riportata una suddivisione di ulteriori funzioni e requisiti di un sistema di gestione di base di dati.

Funzione/Requisiti Spiegazione  
Memorizzazione dei dati I database memorizzano testi elettronici, documenti, password e altre informazioni a cui si può accedere tramite query.  
Revisione dei dati La maggior parte dei database consente, a seconda dei permessi di accesso, di modificare direttamente le informazioni memorizzate.  
Cancellazione dei dati I record contenuti nei database possono essere cancellati completamente. In alcuni casi, i dati cancellati possono essere recuperati, in altri le informazioni sono perse per sempre.  
Gestione dei metadati Le informazioni sono solitamente memorizzate nei database con metadati o metatag. Questi creano ordine all’interno del database e rendono possibile, ad esempio, una funzione di ricerca. Anche i permessi di accesso sono spesso regolati tramite metadati.La gestione dei dati segue quattro operazioni fondamentali: Create, Read/Retrieve, Update e Delete. Questo concetto, noto come ((principio CRUD websites/web-entwicklung/crud-die-wichtigsten-Datenbankoperationen/)), è la base per la gestione dei dati.
Sicurezza dei dati I database devono essere protetti in modo che le persone non autorizzate non possano accedere ai dati memorizzati. Essenziale per la sicurezza dei dati è, oltre a un efficace metodo di crittografia, un’attenta amministrazione, soprattutto da parte dell’amministratore principale. Sicurezza dei dati di solito significa prendere le precauzioni tecniche per prevenire la manipolazione o la perdita di dati. Si tratta quindi di un concetto centrale della protezione dei dati.  
Integrità dei dati I dati all’interno di un database aderiscono a determinate regole per garantire la correttezza dei dati e per definirne la logica funzionale. Solo in questo modo è possibile garantire che il database funzioni in modo costante e coerente nel suo complesso. I modelli di database relazionali sono controllati secondo le seguenti regole: integrità di dominio, integrità di entità, integrità referenziale e coerenza logica.  
Funzionamento multiutente Le applicazioni di banche dati consentono l’accesso al database da diversi dispositivi. Nel funzionamento multiutente, l’assegnazione dei permessi e la sicurezza dei dati sono fondamentali. Un’altra sfida che il funzionamento multiutente pone ai database è il mantenimento di dati coerenti senza compromettere troppo le prestazioni quando molti utenti hanno accesso in lettura e scrittura contemporaneamente.  
Ottimizzazione delle query Dal punto di vista tecnico, un database deve essere in grado di elaborare ogni query in modo ottimale per garantire una buona prestazione. Se un database gestisce “in troppi modi” una richiesta di dati, le prestazioni complessive del sistema di base di dati ne risentono.  
Trigger e stored procedures Queste procedure sono delle mini-applicazioni memorizzate all’interno di un sistema di gestione di base di dati che vengono chiamate (“innescate”) durante l’esecuzione di determinate azioni di modifica. Ciò contribuisce a migliorare, tra l’altro, l’integrità dei dati. Nei database relazionali, i trigger e le stored procedures sono processi abituali, che possono contribuire anche alla sicurezza del sistema quando gli utenti possono eseguire operazioni unicamente con procedure predefinite.  
Trasparenza del sistema La trasparenza del sistema è particolarmente importante per i sistemi distribuiti: negando all’utente la distribuzione e l’implementazione dei dati, l’uso del database distribuito assomiglia a quello di un database centralizzato. Diversi livelli di trasparenza del sistema rivelano o nascondono i processi di background. La funzione essenziale, tuttavia, è quella di semplificare il più possibile l’utilizzo.  
N.B.

Se gestite un database, un completo backup è estremamente importante!

Quali tipi di DBMS/modelli di database esistono?

Un sistema di gestione di base di dati viene installato in un sistema per poter gestire in modo ottimale record di dati. Come già detto, esistono diversi modelli che si differenziano principalmente per la strutturazione dei dati. Scegliere un DBMS equivale quindi a definire un modello di database specifico. Sono disponibili i seguenti modelli di database:

  • Relazionale
  • Gerarchico
  • Orientato alla rete
  • Orientato agli oggetti
  • Orientati ai documenti

Il modello più diffuso è il database relazionale. In questo modello i dati sono strutturati in righe di tabella. Il vantaggio è la possibilità di creare determinate relazioni tra le singole righe e di visualizzarle in colonne. La procedura è diversa nel modello di database gerarchico: qui i vari dati sono collegati tra loro secondo un sistema gerarchico (parent-child).

Un altro approccio all’organizzazione dei dati è il modello di database orientato alla rete, in cui i dati sono strutturati all’interno di una rete. Il modello di database orientato agli oggetti funziona in modo diverso. Oltre alle relazioni dei set di dati, gioca un ruolo importante anche l’ereditarietà. Gli oggetti, regolati dal DBMS, possono quindi trasmettere proprietà ad altri oggetti.

I modelli di database orientati ai documenti prevedono la memorizzazione dei record di dati in diversi documenti.

Sistema di gestione di base di dati: vantaggi e svantaggi in sintesi

I sistemi di gestione delle basi di dati, in quanto strutture portanti dei database, sono caratterizzati da diversi punti di forza e vantaggi. Tuttavia, il DBMS, come qualsiasi altro software, presenta anche diversi punti deboli, come dimostra chiaramente il seguente elenco.

Vantaggi di un sistema di gestione di base di dati:

  • semplice amministrazione di grandi set di dati
  • accesso semplice ed efficace ai dati memorizzati
  • elevata flessibilità
  • integrità e coerenza dei dati
  • controllo degli accessi per gli utenti (sicurezza e protezione dei dati)
  • alta disponibilità

Svantaggi di un sistema di gestione di base di dati:

  • investimento iniziale relativamente costoso (inclusi i costi aggiuntivi per l’hardware)
  • per software speciali piuttosto meno efficienti
  • dipendenti qualificati necessari (amministratori di database)
  • maggiore vulnerabilità a causa della centralizzazione dei dati

Esempi di DBMS: i sistemi di gestione di base di dati più diffusi

Esistono numerosi sistemi di gestione di basi di dati diversi. Di seguito vi riportiamo i 15 DBMS più diffusi e più comuni:

  • Microsoft Access – relazionale
  • Microsoft SQL Server – relazionale
  • MySQL – relazionale
  • Oracle Database – relazionale
  • OrientDB – orientato ai documenti
  • CouchDB – orientato ai documenti
  • Db2 (IBM) – relazionale
  • IMS (IBM) – gerarchico
  • IBM Informix – relazionale
  • MariaDB – relazionale
  • Sybase ASE – relazionale
  • MongoDB – orientato ai documenti
  • PostgreSQL – relazionale agli oggetti (mix di approccio relazionale e orientato agli oggetti)
  • Firebird – relazionale
  • InterSystems Caché – relazionale agli oggetti (mix di approccio relazionale e orientato agli oggetti)
  • InterSystems IRIS – relazionale agli oggetti (mix di approccio relazionale e orientato agli oggetti)