Un apprezzato software multipiattaforma come DBeaver ha dalla sua tanti anni di continue migliorie e ottimizzazioni. A inizio marzo 2024 si presenta come un software ulteriormente aggiornato, nelle versioni per Windows, macOS e Linux (è disponibile anche sotto forma di plugin per l’IDE Eclipse).
DBeaver è un client di database universale e gratuito, progettato per semplificare lo sviluppo, la gestione e la manipolazione delle basi di dati. Può connettersi a una vasta gamma di database, inclusi MySQL, PostgreSQL, Oracle, SQL Server, SQLite e molti altri, rendendolo uno strumento versatile per gli sviluppatori e gli amministratori di database.
Un software come DBeaver, disponibile anche in versione commerciale, ma di base libero e open source, spazza via la necessità di doversi attrezzare con tanti client diversi per collegarsi e amministrare varie tipologie di database.
L’interfaccia utente di DBeaver è ben progettata e intuitiva: non è il massimo in fatto di estetica, ma non è quella, ovviamente, la finalità principale del programma. La struttura ad albero consente una facile esplorazione degli oggetti contenuti nel database. Gli alberi di navigazione mostrano gli schemi, le tabelle, le viste, le procedure, gli indici e gli altri oggetti del database.
DBeaver offre un potente editor SQL con funzionalità come l’evidenziazione della sintassi, l’autocompletamento e la formattazione del codice. Gli sviluppatori e gli analisti di dati possono così sfruttare lo strumento per semplificare la scrittura e l’esecuzione di query SQL complesse.
L’applicazione offre opzioni per la visualizzazione dei dati decisamente flessibili, tra cui la visualizzazione a foglio di calcolo e a griglia. DBeaver, inoltre, semplifica la gestione degli utenti e dei privilegi, consentendo agli amministratori di database di gestire facilmente le autorizzazioni e controllare gli accessi agli oggetti del database.
Il programma integra strumenti dedicati che aiutano a esplorare la struttura (schema) dei database, rendendo più facile e immediato comprendere le dipendenze tra gli oggetti. Infine, gli strumenti di importazione ed esportazione semplificano lo spostamento dei dati tra database di diversa tipologia.
Un client database come DBeaver supporta qualsiasi database dotato di driver JDBC (Java Database Connectivity): ciò significa che sostanzialmente tutti i database possono essere gestiti servendosi di quest’applicazione. Le versioni commerciali di DBeaver supportano anche origini dati non JDBC come MongoDB, Cassandra, Couchbase, Redis, BigTable, ScyllaDB, DynamoDB e così via. L’elenco completo di database supportati è disponibile in questa pagina: come si vede, sono ricompresi i tradizionali database relazionali (RDBMS), i database analytics, quelli document-oriented, i database cloud, big data/Hadoop, semplici database chiave-valore, database time series progettati per gestire dati e serie temporali, database graph che usano modelli di grafo per rappresentare e connettere dati, basi di dati embedded integrate direttamente nelle applicazioni.
Per installare DBeaver, suggeriamo di fare riferimento alla pagina di download sul sito ufficiale. Nel caso di Windows, è disponibile anche una versione portabile da estrarre dall’archivio Zip. Inoltre, è possibile caricare l’applicazione sia facendo riferimento al Microsoft Store, sia utilizzando il package manager per Windows Chocolatey.
In un altro articolo abbiamo visto le differenze tra i package manager per Windows e messo in evidenza come un concetto nato in ambito GNU/Linux sia ormai protagonista, da anni, anche sul sistema operativo di casa Microsoft.
Dopo l’installazione di DBeaver, avviando l’applicazione si può scegliere Database, Nuova connessione per specificare il tipo di database con cui ci si desidera connette. Introducendo le informazioni richieste, come indirizzo dell’host (o nome dello stesso se ci si trovasse in una rete locale), porta, nome utente, password e altri dettagli specifici del database, è quindi possibile usare il pulsante Test Connessione per assicurarsi che tutto funzioni correttamente.
Una volta stabilito il collegamento, è possibile esplorare il database utilizzando l’albero delle connessioni a sinistra. Basta fare doppio clic sul nome del database per visualizzare tabelle, viste, eventuali stored procedures e altri oggetti del database.
Scegliendo il database o la tabella su cui eseguire una query, è sufficiente cliccare con il tasto destro del mouse e scegliere SQL Editor o Nuovo SQL Editor dal menu.
L’editor SQL consente ovviamente di predisporre e modificare le query SQL: vanno considerate eventuali varianti sulla sintassi legate al tipo di database selezionato. Dopo aver scritto la query, è possibile eseguirla facendo clic sull’icona Esegui oppure premendo il tasto F5
. I risultati della query sono mostrati nella parte inferiore dell’editor.
La gestione delle connessioni si concretizza portandosi su Database nel menu principale, quindi selezionando Gestisci connessioni.
Come accennato in precedenza, DBeaver è progettato per gestire un ampio ventaglio di database, consentendo agli sviluppatori di lavorare con diversi sistemi di gestione di database utilizzando un’unica interfaccia utente. Le funzionalità di evidenziazione della sintassi e di autocompletamento facilitano la lettura e la scrittura del codice SQL.
Gli utenti possono eseguire query SQL direttamente dall’editor, ottenendo risultati immediati. Inoltre, la cronologia delle interrogazioni eseguite consente agli sviluppatori di visualizzare e ripetere facilmente le query utilizzate in precedenza. L’eccellente gestione degli errori permette di individuare le problematiche relative alle query fornendo gli strumenti utili per applicare le opportune correzioni.
Oltre alle funzionalità di base, l’editor SQL di DBeaver offre anche funzioni avanzate come l’esecuzione di script SQL, la generazione di dati di esempio e la gestione dei vincoli di integrità referenziale.
I vincoli di integrità referenziale sono regole o condizioni definite in un database relazionale per garantire la coerenza dei dati tra due tabelle collegate da una relazione. Questi vincoli sono progettati per preservare l’integrità dei dati e impedire operazioni che potrebbero portare a risultati inconsistenti o non validi.
Credit immagine in apertura: iStock.com – islander11