Start a new model by reverse-engineering the schema from the database. The model contains a database-independent image of the schema. Documentation
Using JDBC drivers you can connect to any database and reverse engineer the schema.
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.
Choosing a database DbSchema will automatically download the JDBC driver from the driver repository. This requires Internet connectivity.
Work on your database through secured connections.
The logical design is a database-independent design, with entities and many-to-many relations. From the logical design you can generate physical design.
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.
Can add different shapes and arrows to the layout.
The conversion of the logical design to physical can use convertors to map the data types, attribute and entity names, default values, etc.
The logical design is saved to the model file and can be shared in a team.
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
Double-click tables directly in a diagram to edit.
Layouts will be saved and reopen when restarting DbSchema.
You can edit the DbSchema model without being connected to the database (offline).
Hover the mouse over columns for the tooltip to show.
Menu buttons allow hiding column data type for a more concise representation.
Choose to draw the foreign key lines from table to table or from column.
Drag&drop one column over a primary key column.
Represent the foreign key using different notations: Idefix, Barker, etc.
You can add layout comments as callouts.
You can group the tables, and choose a color for each group.
Add comments to tables, columns, and foreign keys and generate interactive HTML5 documentation. Documentation
Read the comments by hovering the mouse over the table and columns.
Vector images are small-size compared to bitmap png or gif images.
Documentation files are in HTML5 format and can be published on the web.
DbSchema includes automation scripts that can help to generate the HTML5 files.
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
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.
The model will be saved to the project file. When restarting DbSchema, the project file will reopen.
The project file is in XML format. You can open it with any text editor.
You can use GIT to share the file in a team.
You can compare two project files holding different versions of the same schema and generate SQL migration scripts.
Convert the schema to a different database.
You can generate SQL schema creation scripts.
Build SQL Queries visually without having to write any line of code. Add and edit tables with a simple click. Documentation
Join tables following normal or virtual foreign keys.
Choose between LEFT, OUTER and EXISTS joins
Make use of COUNT(*), AVG(), SUM()
Set filters on columns
The Relational Data Editor 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
View data from multiple tables at one time based on normal or virtual foreign keys.
Double click any cell to edit its value.
Your data editor will be saved in the model file so you can access it next time you start DbSchema.
Apply filters and data sorting mechanisms to explore data more efficiently.
If your schema is missing foreign keys, create virtual foreign keys. They also can be used in relational data browsing.
Easily access BLOB or CLOB files in DbSchema.
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
The editor can complete table and column names, using the Ctrl-Blank key combination.
The editor works fine on large and very large files, with syntax high-lighting active.
Execute SQL Queries and show the result as a table.
Executing scripts will show the result as a text file.
Export the query result to external files.
Active for many databases, will show the query execution plan.
The CSV Editor is available in both, the Free and Pro DbSchema editions. Documentation
The editor can open Gbytes large files. The computer memory should be 1.5 larger as the file size.
The editor does encoding auto-detection.
Filter columns values. The filtering works for numeric, date and boolean columns.
Sort column values. If a column is date or numeric, the editor sorts it correctly.
The CSV content can be saved using different fields and records separators.
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
DbSchema offers a wide variety of predefined patterns.
DbSchema analyzes the column name and anticipates a generator pattern.
Beside predefined patterns you can use reverse regular expressions to produce random text.
Patterns can relate one to another, and compose certain combinations.
Import data from various files into the database. Documentation
The most common CSV and Excel files are supported.
Batch processing speeds up the import process.
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
Design a collection fields, including objects and arrays, and DbSchema will create the collection and the validation rules for you.
Add comments to collections and fields and generate HTML5 documentation. The comments will be saved in the database as part of the validation rule.
The Relational Data Editor for MongoDB and using virtual relations can explore data from multiple collections.
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 Editor.
Connect to different MongoDB databases and compare the current model with the connected database.
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
Reverse engineering can be started from a Groovy script.
Write scripts that generate HTML5 or PDF documentation.
Automatically synchronize or deploy a schema on different databases.
Using scripts, you can import schema models from other tools.
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
They are a visual representation of the relationship between the table columns.
Virtual foreign keys don't get lost! They will be saved to the model file.
Use virtual foreign keys to explore data from multiple tables at one time
You can join tables in the Query Builder using virtual foreign keys.
DbSchema integrates multiple themes so you can personalize your interface.
DbSchemaCLI is a command-line client, capable to connect to multiple databases simultaneously, transfer data, execute monitoring scripts, send reports via email. Read more
Did you have two or more databases with the same schema? Using DbSchemaCLI, you can connect and query all of them at one time.
DbSchemaCLI 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.
SQL is not always enough for certain database tasks. With DbSchemaCLI, you can use Java Groovy to implement more complex tasks.
DbSchemaCLI facilitates implementing custom commands, for example: 'disk usage' or 'standby status' to monitor multiple databases at a time.
Schedule database monitoring scripts or end-user reports for periodical execution.
You can configure admin emails to receive alarms when any of the scheduled scripts fail.