DbSchema 9.0.0

Logical Design

DbSchema supports logical design. The logical design is database-independent, with entities and sub-entities:

Logical Design Sub-Entities

Sub-entities can be created by adding a field of type sub-entity to a table.
There are also supported different relation types:

Logical Design Relations

The logical model can be converted to a physical model and synchronized with the database.
We continue to improve the logical design also in the upcoming releases.

Reverse engineer using DDL

In the previous versions, we reverse-engineer the schema by reading the metadata from system tables.
For most of the databases, we call methods from the JDBC driver, and only for a few of them did we execute direct queries on the system tables.
Now, we are using a DDL parser that can reverse engineer the schema from the CREATE TABLE DDL statement.
The DDL is generated using commands like ‘Show create table’, or using a dedicated procedure (SqlServer).

Comment Tags

Besides text, the table, column, and foreign keys can use key/value comment tags.
The tags can be used in the automation scripts, and in the logical design for the entity or field’s physical name.
Comment Tags

Reverse Engineer Using DDL

This allows us to reverse engineer all parameters, like collation, partition keys, etc., and more table-specific parameters - like temporal tables, etc.
This feature is available for all databases where we found a way to generate the table DDL.
Here are the current databases where this feature is implemented:

MySql, MariaDb, Oracle, SqlServer, AzureSQL, Snowflake, Redshift, Vertica, Sqlite, Exasol, SAPHana, GoogleBigQuery, Databricks, Cassandra

Improvements for MongoDB

We do diagrams and schema validation rules for MongoDB. Whenever a validation rule is defined, we reverse engineer the collection structure using it.
If not, we deduce the collection structure by introspecting a few documents.
Whenever you design a collection, the collection validation rule gets updated.

In version 9 we added a text pane in the result pane:

MongoDB Result Pane

We renamed the virtual relation to relationship, and we refactored the menu.

Automation Scripts for generating HTML or PDF Documentation

We added more parameters for generating the HTML or PDF documentation.
Therefore we created a more flexible method in Java. Please have a look on the DbSchema API for details.

Further improvements

  • Feature: Result Pane error message as dialog
  • Feature: InfluxDB integrations
  • Feature: PDF documentation, add parameter for skipping tooltip comments. Improve look.
  • Feature: Add more options to the documentation dialog
  • Feature: Exasol support hashtype data type
  • Feature: Color picker editable hex value
  • Bug: Fixes and improvements in the DDL Parser
  • Bug: MongoDB load statement using the driver class loader. This solves issues with ObjectId.