DbSchema Features

Logical & Physical Design

The logical design is a database-independent design, with entities and many-to-many relations. From the logical design you can generate physical design.

  1. 1
    Use Different Relations

    In the logical design, you can create identifying, non-identifying, one-to-one or many-to-many relations. In the physical design, the foreign key cardinality is determined by the referring column uniqueness and mandatory properties.

  2. 2
    Use Shapes

    Can add different shapes and arrows to the layout.

  1. 3
    Use Conversion Rules

    The conversion of the logical design to physical can use convertors to map the data types, attribute and entity names, default values, etc.

  2. 4
    Share the Design in a Team

    The logical design is saved to the model file and can be shared in a team.

Database Logical Design

Connect to any Database & Reverse Engineer the Schema

Start a new model by reverse-engineering the schema from the database. The model contains a database-independent image of the schema.
Documentation

  1. 1
    Connect to any Database

    Using JDBC drivers you can connect to any database and reverse engineer the schema.

  2. 2
    Connect to Cloud Databases

    In the cloud database console, you will find the JDBC URL. In DbSchema tick the 'I know the JDBC URL' checkbox and copy the URL.

  1. 3
    Automatic JDBC Driver Download

    Choosing a database DbSchema will automatically download the JDBC driver from the driver repository. This requires Internet connectivity.

  2. 4
    SSH Connections

    Work on your database through secured connections.

Reverse Engineer the Schema

Interactive Diagrams

DbSchema uses layouts (diagrams) to interact with the schema. For understanding the schema better, create multiple layouts, focused on a specific part of the schema, with the same or different tables.
Documentation

  1. 1
    Edit Tables in Diagram

    Double-click tables directly in a diagram to edit.

  2. 2
    Save the Layouts to the Project File

    Layouts will be saved and reopen when restarting DbSchema.

  3. 3
    Reopen the Design Without Database Connectivity

    You can edit the DbSchema model without being connected to the database (offline).

  4. 4
    Read Column Type and Comments as Tooltip

    Hover the mouse over columns for the tooltip to show.

  5. 5
    Show/Hide Column Data Type

    Menu buttons allow hiding column data type for a more concise representation.

  1. 6
    Draw Foreign Key Lines Pointing to Columns

    Choose to draw the foreign key lines from table to table or from column.

  2. 7
    Create Foreign Keys by Drag & Drop

    Drag&drop one column over a primary key column.

  3. 8
    Change Foreign Key Notation

    Represent the foreign key using different notations: Idefix, Barker, etc.

  4. 9
    Create Callouts

    You can add layout comments as callouts.

  5. 10
    Create Groups of Tables

    You can group the tables, and choose a color for each group.

HTML5 Documentation

Add comments to tables, columns, and foreign keys and generate interactive HTML5 documentation.
Documentation

  1. 1
    Read table and column comments as mouse-over tooltips

    Read the comments by hovering the mouse over the table and columns.

  2. 2
    Diagram vector images

    Vector images are small-size compared to bitmap png or gif images.

  1. 3
    Publish the documentation on the web

    Documentation files are in HTML5 format and can be published on the web.

  2. 4
    Automate documentation generate task

    DbSchema includes automation scripts that can help to generate the HTML5 files.

HTML5 Documentation

Schema Synchronization

DbSchema model contains its own image of the schema, independent from the database. Connecting to another database won't change the model schema unless you choose to refresh it from the database.
Documentation

  1. 1
    Deploy the Schema on Multiple Databases

    Connecting to another database you can compare the model schemas with the database, and choose to: commit the differences in the database, generate SQL scripts or merge the differences in the current model.

  2. 2
    Save the Model Schema to Project File

    The model will be saved to the project file. When restarting DbSchema, the project file will reopen.

  3. 3
    Open the XML Project File with a Text Editor

    The project file is in XML format. You can open it with any text editor.

  1. 4
    Share the Project File in a Team

    You can use GIT to share the file in a team.

  2. 5
    Generate Schema Migration Scripts

    You can compare two project files holding different versions of the same schema and generate SQL migration scripts.

  3. 6
    Convert Schemas

    Convert the schema to a different database.

  4. 7
    Generate SQL Scripts

    You can generate SQL schema creation scripts.

Schema Synchronization

Visual Query Builder

Build SQL Queries visually without having to write any line of code. Add and edit tables with a simple click.
Documentation

  1. 1
    Join Following the Foreign Keys

    Join tables following normal or virtual foreign keys.

  2. 2
    Join Clauses

    Choose between LEFT, OUTER and EXISTS joins

  1. 3
    Group By Conditions

    Make use of COUNT(*), AVG(), SUM()

  2. 4
    Where Filters

    Set filters on columns

Visual Query Builder

Relational Data Explorer

The Relational Data Explorer can visually explore data from multiple tables. You can cascade into further tables via foreign keys or virtual foreign keys. There is no limit to how many tables can be opened at once.
Documentation

  1. 1
    Cascade Into Multiple Tables

    View data from multiple tables at one time based on normal or virtual foreign keys.

  2. 2
    Edit Records with One Click

    Double click any cell to edit its value.

  3. 3
    Pick Up Where You Left Off

    Your data explorer will be saved in the model file so you can access it next time you start DbSchema.

  1. 4
    Make Your View More Relevant

    Apply filters and data sorting mechanisms to explore data more efficiently.

  2. 5
    Create Virtual Foreign Keys

    If your schema is missing foreign keys, create virtual foreign keys. They also can be used in relational data browsing.

  3. 6
    View Images stored in the Database

    Easily access BLOB or CLOB files in DbSchema.

Relational Data Explorer

Edit and Execute SQL Queries

The SQL editor features syntax highlighting, query and script execution, graphical query explanation plan, and the option to save results as CSV or XLSX files.
Documentation

  1. 1
    Text auto-completion

    The editor can complete table and column names, using the Ctrl-Blank key combination.

  2. 2
    Syntax Highlight

    The editor works fine on large and very large files, with syntax high-lighting active.

  3. 3
    Execute SQL Queries

    Execute SQL Queries and show the result as a table.

  1. 4
    Execute Scripts

    Executing scripts will show the result as a text file.

  2. 5
    Save result to CSV or XLSX files

    Export the query result to external files.

  3. 6
    Graphical Query Execution Plan

    Active for many databases, will show the query execution plan.

SQL Editor

CSV Editor for Large Files

The CSV Editor is available in both, the Free and Pro DbSchema editions.
Documentation

  1. 1
    Open large files

    The editor can open Gbytes large files. The computer memory should be 1.5 larger as the file size.

  2. 2
    Auto-Detect Encoding

    The editor does encoding auto-detection.

  3. 3
    Filter

    Filter columns values. The filtering works for numeric, date and boolean columns.

  1. 4
    Sort

    Sort column values. If a column is date or numeric, the editor sorts it correctly.

  2. 5
    Save under a different format

    The CSV content can be saved using different fields and records separators.

SQL Editor

Generate Test Data

Generate test data in your database using configurable, random, and reverse regular expression patterns. A repository of predefined patterns will help you find the best data pattern for each column.
Documentation

  1. 1
    Predefined Patterns

    DbSchema offers a wide variety of predefined patterns.

  2. 2
    Auto-Fill Patterns

    DbSchema analyzes the column name and anticipates a generator pattern.

  1. 3
    Reverse regular expressions

    Beside predefined patterns you can use reverse regular expressions to produce random text.

  2. 4
    Related patterns

    Patterns can relate one to another, and compose certain combinations.

Data Generator

Import Data from Files

Import data from various files into the database.
Documentation

  1. 1
    Support CSV, XML, XLS, XLSX

    The most common CSV and Excel files are supported.

  1. 2
    Use Batch processing

    Batch processing speeds up the import process.

Data Importer

MongoDB Validation Schema

MongoDB can implement a schema using validation rules. This are JSON description of the MongoDB collections. DbSchema is capable of creating collections and implement the validation rules.
Documentation

  1. 1
    Design MongoDB Validation Rules

    Design a collection fields, including objects and arrays, and DbSchema will create the collection and the validation rules for you.

  2. 2
    Document MongoDB Databases

    Add comments to collections and fields and generate HTML5 documentation. The comments will be saved in the database as part of the validation rule.

  3. 3
    Relational Data Explorer

    The Relational Data Explorer for MongoDB and using virtual relations can explore data from multiple collections.

  1. 4
    Virtual Relations

    Similar to Virtual Foreign Keys, Virtual Relations will let you figure out fields pointing to other collections. Virtual relations are used in the Relational Data Explorer.

  2. 5
    Compare the Schema with Other MongoDB Databases

    Connect to different MongoDB databases and compare the current model with the connected database.

Diagrams for MongoDB

Database Reports & Charts

DbSchema can create database reports where you can combine charts, master-details tables, buttons, input fields, etc.
Documentation

  1. 1
    Create Multiple Master-Detail

    Design complex database reports with tables and charts.

  2. 2
    Complex Charts

    Create complex charts and analyze the data.

  3. 3
    Customizable Reports

    Create customizable database reports, with images inside tables, text fields, buttons, etc.

  1. 4
    Execute on Stand-alone server

    You can deploy the reports on a stand-alone application server.

  2. 5
    Reports for Mobile Devices

    The reports can be visualized on mobile devices, thanks to the responsive Bootstrap library.

Database Reports

Automate Schema Deployment & Tasks

DbSchema can execute Groovy or Java Scripts with direct access to the DbSchema API. This will help to solve different tasks without visual interaction.
Documentation

  1. 1
    Automate Reverse Engineering of the Database Structure

    Reverse engineering can be started from a Groovy script.

  2. 2
    Generate HTML5 Documentation

    Write scripts that generate HTML5 or PDF documentation.

  1. 3
    Automate Schema Synchronization

    Automatically synchronize or deploy a schema on different databases.

  2. 4
    Convert Model Files From Other Tools

    Using scripts, you can import schema models from other tools.

DbSchema Process Automation

Design Using Virtual Foreign Keys

Foreign keys are used to ensure data accuracy and consistency in the database. If the database schema is missing foreign keys, create virtual foreign keys that will be saved to the project file.
Documentation

  1. 1
    Virtual Foreign Keys help to understand the Schema

    They are a visual representation of the relationship between the table columns.

  2. 2
    Will be saved to model file

    Virtual foreign keys don't get lost! They will be saved to the model file.

  1. 3
    Are used in Relational Data Explorer

    Use virtual foreign keys to explore data from multiple tables at one time

  2. 4
    Are used in Visual Query Builder

    You can join tables in the Query Builder using virtual foreign keys.

Virtual Foreign Keys helps to understand the database structure

DbShell - Universal Command-Line Client & ETL Tool

DbShell is a command-line client, separate from DbSchema. It can connect to multiple databases simultaneously, transfer data, execute monitoring scripts, send reports via email.
Read more

  1. 1
    Connect to Multiple Databases

    Did you have two or more databases with the same schema? Using DbShell, you can connect and query all of them at one time.

  2. 2
    ETL &Transfer Data

    DbShell can transfer data between different databases, on multiple threads, with customizable chunk size. The transfer is optimized to reduce the table locking during the transfer.

  3. 3
    Python & Groovy Scripts

    SQL is not always enough for certain database tasks. With DbShell, you can use Python and Java Groovy to implement more complex tasks.

  1. 4
    Custom Commands

    DbShell facilitates implementing custom commands, for example: 'disk usage' or 'standby status' to monitor multiple databases at a time.

  2. 5
    Schedule Scripts

    Schedule database monitoring scripts or end-user reports for periodical execution.

  3. 6
    Script Error Reporting

    You can configure admin emails to receive alarms when any of the scheduled scripts fail.

Dark Theme

DbSchema integrates multiple themes so you can personalize your interface.

DbSchema Dark Theme