Quasi nessun computer o ap­pli­ca­zio­ne web è fun­zio­na­le senza un adeguato sistema di database. Proprio per questo motivo può essere utile ap­pro­fon­di­re l’argomento. Im­por­tan­te quanto l’effettivo insieme di dati, il sistema di gestione di base di dati è ciò che rende un database fun­zio­na­le.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Che cos’è un DBMS?

Un sistema di gestione di base di dati, ab­bre­via­to in DBMS, co­sti­tui­sce 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 com­po­nen­te de­ter­mi­nan­te per poter costruire, gestire e uti­liz­za­re un database. Solo quando il ri­spet­ti­vo sistema di gestione della base di dati è stato in­stal­la­to e impostato, gli utenti possono inserire e leggere le basi dei dati de­si­de­ra­ti. L’accesso in scrittura e in lettura e le funzioni generali di am­mi­ni­stra­zio­ne sono abilitate da in­ter­fac­ce spe­ci­fi­che per l’ap­pli­ca­zio­ne e da un lin­guag­gio di database adeguato. Il più noto di questi linguaggi è l’SQL (Structured Query Language).

N.B.

I termini “Database Ma­na­ge­ment System” (DMBS) e “database” sono spesso equi­pa­ra­ti er­ro­nea­men­te per indicare il nome del software uti­liz­za­to per gestire un database. Di fatto, un database non è altro che una base di dati in forma strut­tu­ra­ta, mentre il DBMS è lo strumento che serve a rea­liz­za­re questa struttura.

Quali sono i com­po­nen­ti di un DBMS?

Un sistema di gestione di base di dati è co­sti­tui­to da vari com­po­nen­ti che con­tri­bui­sco­no tutti al buon fun­zio­na­men­to del software. Il DBMS può essere suddiviso in tre com­po­nen­ti prin­ci­pa­li: il di­zio­na­rio dei dati, il lin­guag­gio di de­fi­ni­zio­ne dati e il lin­guag­gio di ma­ni­po­la­zio­ne dati.

  • Di­zio­na­rio dei dati: il di­zio­na­rio dei dati (Data Dic­tio­na­ry) consiste in una raccolta di metadati che con­ten­go­no in­for­ma­zio­ni sul contenuto dei vari dati presenti nell’archivio. Essi for­ni­sco­no in­for­ma­zio­ni anche in merito all’au­to­riz­za­zio­ne e all’uso dei set di dati e alla loro rap­pre­sen­ta­zio­ne fisica. In parole povere, il di­zio­na­rio contiene tutte le in­for­ma­zio­ni rilevanti sui dati me­mo­riz­za­ti in un database.
  • Lin­guag­gio di de­fi­ni­zio­ne dati: il lin­guag­gio di de­fi­ni­zio­ne dati, in inglese Data De­fi­ni­tion Language (DDL), è pro­get­ta­to per strut­tu­ra­re il contenuto di un database. Singoli oggetti come ri­fe­ri­men­ti, relazioni o diritti dell’utente possono essere mo­di­fi­ca­ti, can­cel­la­ti e creati uti­liz­zan­do tale lin­guag­gio.
  • Lin­guag­gio di ma­ni­po­la­zio­ne dati: questo lin­guag­gio, in inglese Data Ma­ni­pu­la­tion Language (DML), si usa per can­cel­la­re, inserire, mo­di­fi­ca­re e leggere i record di dati contenuti in un database. Inoltre, permette di com­pri­me­re ed estrarre i dati.

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

Il DBMS è la com­po­nen­te più im­por­tan­te di un sistema di database. In assenza di tale sistema, il database non potrebbe essere gestito, con­trol­la­to o mo­ni­to­ra­to. Il software è re­spon­sa­bi­le anche della gestione di tutti gli accessi in lettura e scrittura al database. Un termine am­pia­men­te usato per de­scri­ve­re le funzioni e i requisiti delle tran­sa­zio­ni di un sistema di gestione di base di dati è ACID, acronimo di atomicity, con­si­sten­cy, isolation e du­ra­bi­li­ty (in italiano atomicità, coerenza, iso­la­men­to e du­ra­bi­li­tà.) Questi concetti rap­pre­sen­ta­no i requisiti più im­por­tan­ti 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 tran­sa­zio­ne viene com­ple­ta­ta cor­ret­ta­men­te.
  • La coerenza implica che le tran­sa­zio­ni di successo lascino un database stabile, il che richiede un controllo costante di tutte le tran­sa­zio­ni.
  • L’iso­la­men­to è il requisito secondo il quale le tran­sa­zio­ni non devono “osta­co­lar­si a vicenda” e di solito è garantito da alcune funzioni di blocco.
  • La du­ra­bi­li­tà indica che tutti i dati vengono me­mo­riz­za­ti in modo per­ma­nen­te nel DBMS, anche dopo che una tran­sa­zio­ne è stata com­ple­ta­ta con successo. Ciò vale anche o so­prat­tut­to in caso di errori di sistema o di problemi del DBMS. I log delle tran­sa­zio­ni, che re­gi­stra­no tutti i processi nel DBMS, sono es­sen­zia­li per la du­ra­bi­li­tà.

Di seguito è riportata una sud­di­vi­sio­ne di ulteriori funzioni e requisiti di un sistema di gestione di base di dati.

Funzione/Requisiti Spie­ga­zio­ne
Me­mo­riz­za­zio­ne dei dati I database me­mo­riz­za­no testi elet­tro­ni­ci, documenti, password e altre in­for­ma­zio­ni a cui si può accedere tramite query.
Revisione dei dati La maggior parte dei database consente, a seconda dei permessi di accesso, di mo­di­fi­ca­re di­ret­ta­men­te le in­for­ma­zio­ni me­mo­riz­za­te.
Can­cel­la­zio­ne dei dati I record contenuti nei database possono essere can­cel­la­ti com­ple­ta­men­te. In alcuni casi, i dati can­cel­la­ti possono essere re­cu­pe­ra­ti, in altri le in­for­ma­zio­ni sono perse per sempre.
Gestione dei metadati Le in­for­ma­zio­ni sono so­li­ta­men­te me­mo­riz­za­te 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 ope­ra­zio­ni fon­da­men­ta­li: Create, Read/Retrieve, Update e Delete. Questo concetto, noto come ((principio CRUD websites/web-ent­wic­klung/crud-die-wi­ch­tig­sten-Da­ten­ban­ko­pe­ra­tio­nen/)), è la base per la gestione dei dati.
Sicurezza dei dati I database devono essere protetti in modo che le persone non au­to­riz­za­te non possano accedere ai dati me­mo­riz­za­ti. Es­sen­zia­le per la sicurezza dei dati è, oltre a un efficace metodo di crit­to­gra­fia, un’attenta am­mi­ni­stra­zio­ne, so­prat­tut­to da parte dell’am­mi­ni­stra­to­re prin­ci­pa­le. Sicurezza dei dati di solito significa prendere le pre­cau­zio­ni tecniche per prevenire la ma­ni­po­la­zio­ne o la perdita di dati. Si tratta quindi di un concetto centrale della pro­te­zio­ne dei dati.
Integrità dei dati I dati all’interno di un database ade­ri­sco­no a de­ter­mi­na­te regole per garantire la cor­ret­tez­za dei dati e per definirne la logica fun­zio­na­le. Solo in questo modo è possibile garantire che il database funzioni in modo costante e coerente nel suo complesso. I modelli di database re­la­zio­na­li sono con­trol­la­ti secondo le seguenti regole: integrità di dominio, integrità di entità, integrità re­fe­ren­zia­le e coerenza logica.
Fun­zio­na­men­to mul­tiu­ten­te Le ap­pli­ca­zio­ni di banche dati con­sen­to­no l’accesso al database da diversi di­spo­si­ti­vi. Nel fun­zio­na­men­to mul­tiu­ten­te, l’as­se­gna­zio­ne dei permessi e la sicurezza dei dati sono fon­da­men­ta­li. Un’altra sfida che il fun­zio­na­men­to mul­tiu­ten­te pone ai database è il man­te­ni­men­to di dati coerenti senza com­pro­met­te­re troppo le pre­sta­zio­ni quando molti utenti hanno accesso in lettura e scrittura con­tem­po­ra­nea­men­te.
Ot­ti­miz­za­zio­ne delle query Dal punto di vista tecnico, un database deve essere in grado di elaborare ogni query in modo ottimale per garantire una buona pre­sta­zio­ne. Se un database gestisce “in troppi modi” una richiesta di dati, le pre­sta­zio­ni com­ples­si­ve del sistema di base di dati ne risentono.
Trigger e stored pro­ce­du­res Queste procedure sono delle mini-ap­pli­ca­zio­ni me­mo­riz­za­te all’interno di un sistema di gestione di base di dati che vengono chiamate (“innescate”) durante l’ese­cu­zio­ne di de­ter­mi­na­te azioni di modifica. Ciò con­tri­bui­sce a mi­glio­ra­re, tra l’altro, l’integrità dei dati. Nei database re­la­zio­na­li, i trigger e le stored pro­ce­du­res sono processi abituali, che possono con­tri­bui­re anche alla sicurezza del sistema quando gli utenti possono eseguire ope­ra­zio­ni uni­ca­men­te con procedure pre­de­fi­ni­te.
Tra­spa­ren­za del sistema La tra­spa­ren­za del sistema è par­ti­co­lar­men­te im­por­tan­te per i sistemi di­stri­bui­ti: negando all’utente la di­stri­bu­zio­ne e l’im­ple­men­ta­zio­ne dei dati, l’uso del database di­stri­bui­to as­so­mi­glia a quello di un database cen­tra­liz­za­to. Diversi livelli di tra­spa­ren­za del sistema rivelano o na­scon­do­no i processi di back­ground. La funzione es­sen­zia­le, tuttavia, è quella di sem­pli­fi­ca­re il più possibile l’utilizzo.
N.B.

Se gestite un database, un completo backup è estre­ma­men­te im­por­tan­te!

Quali tipi di DBMS/modelli di database esistono?

Un sistema di gestione di base di dati viene in­stal­la­to in un sistema per poter gestire in modo ottimale record di dati. Come già detto, esistono diversi modelli che si dif­fe­ren­zia­no prin­ci­pal­men­te per la strut­tu­ra­zio­ne dei dati. Scegliere un DBMS equivale quindi a definire un modello di database specifico. Sono di­spo­ni­bi­li i seguenti modelli di database:

  • Re­la­zio­na­le
  • Ge­rar­chi­co
  • Orientato alla rete
  • Orientato agli oggetti
  • Orientati ai documenti

Il modello più diffuso è il database re­la­zio­na­le. In questo modello i dati sono strut­tu­ra­ti in righe di tabella. Il vantaggio è la pos­si­bi­li­tà di creare de­ter­mi­na­te relazioni tra le singole righe e di vi­sua­liz­zar­le in colonne. La procedura è diversa nel modello di database ge­rar­chi­co: qui i vari dati sono collegati tra loro secondo un sistema ge­rar­chi­co (parent-child).

Un altro approccio all’or­ga­niz­za­zio­ne dei dati è il modello di database orientato alla rete, in cui i dati sono strut­tu­ra­ti 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 im­por­tan­te anche l’ere­di­ta­rie­tà. Gli oggetti, regolati dal DBMS, possono quindi tra­smet­te­re proprietà ad altri oggetti.

I modelli di database orientati ai documenti prevedono la me­mo­riz­za­zio­ne 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 ca­rat­te­riz­za­ti da diversi punti di forza e vantaggi. Tuttavia, il DBMS, come qualsiasi altro software, presenta anche diversi punti deboli, come dimostra chia­ra­men­te il seguente elenco.

Vantaggi di un sistema di gestione di base di dati:

  • semplice am­mi­ni­stra­zio­ne di grandi set di dati
  • accesso semplice ed efficace ai dati me­mo­riz­za­ti
  • elevata fles­si­bi­li­tà
  • integrità e coerenza dei dati
  • controllo degli accessi per gli utenti (sicurezza e pro­te­zio­ne dei dati)
  • alta di­spo­ni­bi­li­tà

Svantaggi di un sistema di gestione di base di dati:

  • in­ve­sti­men­to iniziale re­la­ti­va­men­te costoso (inclusi i costi ag­giun­ti­vi per l’hardware)
  • per software speciali piuttosto meno ef­fi­cien­ti
  • di­pen­den­ti qua­li­fi­ca­ti necessari (am­mi­ni­stra­to­ri di database)
  • maggiore vul­ne­ra­bi­li­tà a causa della cen­tra­liz­za­zio­ne 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 ri­por­tia­mo i 15 DBMS più diffusi e più comuni:

  • Microsoft Access – re­la­zio­na­le
  • Microsoft SQL Server – re­la­zio­na­le
  • MySQL – re­la­zio­na­le
  • Oracle Database – re­la­zio­na­le
  • OrientDB – orientato ai documenti
  • CouchDB – orientato ai documenti
  • Db2 (IBM) – re­la­zio­na­le
  • IMS (IBM) – ge­rar­chi­co
  • IBM Informix – re­la­zio­na­le
  • MariaDB – re­la­zio­na­le
  • Sybase ASE – re­la­zio­na­le
  • MongoDB – orientato ai documenti
  • Post­gre­SQL – re­la­zio­na­le agli oggetti (mix di approccio re­la­zio­na­le e orientato agli oggetti)
  • Firebird – re­la­zio­na­le
  • In­ter­Sy­stems Caché – re­la­zio­na­le agli oggetti (mix di approccio re­la­zio­na­le e orientato agli oggetti)
  • In­ter­Sy­stems IRIS – re­la­zio­na­le agli oggetti (mix di approccio re­la­zio­na­le e orientato agli oggetti)
Vai al menu prin­ci­pa­le