Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban

DBeaver – Open Source Database Management Tool

Franco Martinig

DBeaver is a free open source database management tool. It provides features to manage the full data lifecycle on your desktop, from the definition of a database table to the update of a column value. DBeaver supports all popular databases: MySQL, PostgreSQL, SQLite, MariaDB, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix, Presto, etc. DBeaver is a multi-language tool that is currently available in English, Chinese, French, Italian, Japanese, German, Korean, Portuguese (BR), Russian and Spanish.

A commercial version (enterprise edition) also exists that provides additional features and supports of NoSQL databases like MongoDB, Cassandra, Redis or Amazon DynamoDB. Finally, there is cloud version (https://cloudbeaver.io/) that allows to manage databases from a browser.

Website: https://dbeaver.io/ and https://github.com/dbeaver/dbeaver
Version tested: Community Edition 21.0.4/5 in May 2021 on Window 8.
System requirements: Windows, Mac OS X, Linux
License & Pricing: open source, Apache License 2.0
Support: https://github.com/dbeaver/dbeaver/issues
Documentation: https://github.com/dbeaver/dbeaver/wiki

Documentation

DBeaver offers an extensive online and up-to-date documentation that covers all the features of the tool with step by step process to perform operations like the creation of a database connection or SQL statement generation.

Installation

The installation of DBeaver on Windows is simply done with an installation program where the only options are the installation language and the additional components that you want to install, like the sample database that is really useful to get a first understanding to the features of this tool. DBeaver will regularly check for updates and you can start the upgrade to a new version directly inside the tool. If you miss creating the sample database during the installation, you can also recreate it in the “Help” menu.

DBeaver – Open Source Database Management Tool

(click on figure to enlarge it)

Configuration

Besides the user interface options, there are few things that you can configure in DBeaver. However, each editor has its own configuration menu where you can define the specific parameters for the working windows, for instance the information you want to see in the ERD diagram. DBeaver has a plugin architecture that let you also install different themes or extensions, like the integration with Office or Git.

Using DBeaver

If you look at the documentation, you will quickly realize that DBeaver offers too many features for a detail explanation of each of them in a single article. The goal of this section is therefore to provide an overview of the capabilities of this tool.

DBeaver is organized with a navigation window on the left side that list all the items that you can manage with the tool and the working window(s) on the right side. Beside the obvious usage of the menu bar, you can also access context-relevant features using the right-click mouse option and with toolbars that are attached to the working windows and visible on their side or bottom. Each time you start a new action on an item of the navigator, the tool will open a new working windows. This is useful when you want to visually compare two different elements, but you might end also with a lot of opened windows if you don’t clean your workspace from time to time and this might be sometimes confusing.

Database connection

Many actions in DBeaver are “wizard-based” with a step-by-step process to achieve your goal. This is the case for instance of the creation of a database connection. You can choose the type of database (MySQL, PostgreSQL, etc.),, input the parameters (server location, connection name, user/password). If they are missing, the tool will ask you if you want to download the required drivers to managed your database. In case you want to make sure that you don’t break anything in your database, you can create a “read-only” connection.

Database definition

This features provides forms to create database items like tables, indexes, views, triggers, procedures, etc. DBeaver is clever enough to adapt what you can do to the specific database you are working with, showing you the options that are relevant to your context. It is also possible to import a data description language (DDL) script and to execute it.

Data manipulation

You can modify data of your database either in direct mode with forms or through the execution of SQL queries.

When you work directly on the data through a form that shows data in a spreadsheet mode, you can use sorting options to order the data and filters to see only some of the rows of the database. As you might work on a shared database, you can use a manual or automatic refresh feature to make sure that you see always the more recent data. In this mode, you have also access to a “Find/Replace” menu to modify multiple data at once.

DBeaver – Open Source Database Management Tool

(click on figure to enlarge it)

DBeaver SQL editor work in an assisted mode (auto-complete) that will propose the possible options to write your query. You can examine the results – and also edit them - and the execution plan of your query in separate windows below your SQL code. SQL scripts can be saved in separate file and thus exported and imported.

If your knowledge of SQL is a little bit rusted or more limited, you can use a SQL generator option that will provide a template to act on a table where you just have to select the items you want to manipulate and input the parameter for the row selection.

Import, export, backup

You can also import (CSV format) and export (CSV, HTML, XLSX formats) data to/from a database, migrates from tables of one database to tables of another one, perform a native database backup/restore functions for PostgreSQL and MySQL databases.

Database model

DBeaver uses the Entity Relation Diagrams (ERD) technique to represent database models. This feature allows only viewing existing databases, but not to start creating the database from the model. It is however a good tool if you want to examine the data model of a database and somewhat assess its quality.

DBeaver – Open Source Database Management Tool

(click on figure to enlarge it)

Conclusion

DBeaver is a powerful open source multi-database management tool that offers many features needed to create databases and modify their data. This richness has however also the side-effect that you need to invest more time to get the full benefits of using the tool compared to a simpler tool like phpmyadmin. If however you work with multiple databases and need to have more insights on how your database is working, then this is really a highly recommended free tool available to DBA and software developers.


Click here to view the complete list of tools reviews

This article was originally published in May 2021

Methods & Tools
is supported by


Testmatick.com

Software Testing
Magazine


The Scrum Expert