DBeaver ER Diagrams and Where They Fall Short
Open, export and fix DBeaver ER diagrams, learn why relationship lines go missing, and know when to open the same database in DbSchema.
On this page
For developers who already have DBeaver open against a live database and want to know whether its ER diagram covers their modelling work. DBeaver draws that diagram by reading the database catalog: the tables, the columns, and the foreign keys the catalog reports. That mechanism decides what the diagram can show, and it is the reason a relationship line sometimes never appears.
What DBeaver's ER diagram draws from a live schema
DBeaver is an open-source universal database tool that connects to anything with a JDBC driver, and its ER diagram comes with that connection at no extra install: the diagram sits next to a full data editor and SQL editor in the same application. It builds the diagram by reading the database catalog. The catalog reports the tables, their columns, and the constraints declared on them, and the diagram draws a box for each table and a line for each foreign key it finds. A foreign key is a declared constraint: PostgreSQL's documentation defines it as a rule that the values in a column must match values appearing in a row of another table, and it exists in the catalog only when someone declared it.[1]
Two limits follow from that mechanism, and DBeaver's own documentation states both (checked 25 Sep 2026). Diagrams are read-only by default. And a custom diagram can hold only objects that already exist in the connected database, because the catalog is the only source the diagram reads.
- Every table and view in the schema, with its columns
- Primary keys and foreign keys declared as constraints
- Nothing about relations the schema never declared
So the diagram is a picture of the catalog, not of the design. Where the two agree, the picture is accurate. Where a relation was never declared, the picture has no line to draw.
How to open and export DBeaver's ER diagram
The walkthrough below assumes a schema that declares its foreign keys. Four steps produce the diagram and a file you can share.
- In the Database Navigator, double-click the schema you want, or a single table inside it, and switch to the Diagram tab of the editor that opens.
- DBeaver lays out the tables it finds and draws a line for every foreign key the catalog reports.
- Open the diagram settings to change the notation. Crow's Foot, IDEF1X, Bachman and other notations are offered (DBeaver documentation, checked 25 Sep 2026).
- Right-click the diagram and choose Save diagram in external format to write it out as SVG, PNG, GIF, BMP or GraphML.
The edition decides part of that list. Edit mode, which turns the diagram into a schema editor, ships in DBeaver Enterprise and Ultimate, and SVG export sits in the PRO editions (edition facts checked 25 Sep 2026). The image formats and GraphML export work without a paid DBeaver edition.
DbSchema's diagram as the design itself
DbSchema Community Edition connects to the same database over JDBC and reverse-engineers it into an interactive ER diagram, free, for every supported database. The diagram is where the work happens: right-click the empty canvas and choose New Table, double-click a table header to open the Table Dialog and manage its columns, indexes and foreign keys, and drag from a column to the column it references to draw the relationship line. This is the difference the database diagram tool article walks through in detail: the diagram is not a report about the schema, it is the place where the schema is edited.
In DbSchema Pro, one project holds several diagrams, each with its own layout and table visibility, and the same table can appear in more than one, so a large schema gets a view per subsystem while the schema definition underneath stays shared. Pro saves everything, tables, positions, groups, notes and virtual foreign keys, in a single .dbs project file that reopens without a live database connection.
One user's account gives a sense of what that is worth in practice. Bernie Pruss, a data architect of roughly 30 years, wrote on LinkedIn in August 2026 that DbSchema gave him a visual model of his database, and that looking at a table's data and profile from the diagram showed him relationships that needed work.[2] That is one person's experience, not a review, but it describes the difference between a diagram you look at and a model you work in.
Why relationship lines go missing
The missing line has a mechanism behind it, and knowing it tells you where the fix has to come from. A diagram built by reading the catalog can only draw foreign keys the database declares, and, as defined earlier, a foreign key exists in the catalog only once someone has declared it.[1]
If the schema never declared the relation, the catalog has nothing to report, and every catalog-reading diagram draws the two tables with no line between them. Redrawing the diagram, refreshing the connection or switching the notation cannot bring it back, because there is nothing to draw.
Three situations produce this in practice, and they are common enough that a missing line usually means one of them.
Three schemas where the foreign keys are absent or invisible
- MyISAM tables cannot hold foreign keys at all. MariaDB's documentation states that foreign keys are supported only by storage engines that implement them, InnoDB among them, so a MySQL or MariaDB schema running on MyISAM has no declared relations for any diagram to draw.[3]
- Snowflake standard tables accept FOREIGN KEY constraints as optional and not enforced, so many warehouse schemas declare none.[4] The relations live in the load scripts and in the team's heads, not in the catalog.
- A driver can fail to report keys the database does declare. The DuckDB issue tracker records a case from October 2023 in which DBeaver 23.2.3 did not draw DuckDB foreign keys in the ER diagram; the issue was closed by a later fix, so treat it as dated rather than current.[5]
The first two cases are the engine's doing and the third is a driver bug, but they look identical on the canvas: tables with no lines. Telling them apart takes a minute. Read the DDL for one child table and look for a REFERENCES clause. If the clause is there and the line is missing, update the driver. If it is not there, no diagram tool can draw the relation from the catalog, and the relation has to be recorded somewhere other than the database.
Editing, notation and export side by side
Three notations cover most diagrams you will meet. Crow's foot puts branching symbols on the line ends, and each branch reads as zero, one, or many, so the marker nearest a table says how many rows on that side can match one row on the other.[6] Barker notation, used in Oracle Designer, puts the optionality marker on the same side as the relationship and the maximum cardinality, the crow's foot, on the look-across side.[6] IDEF1X is a formal data modeling language that grew out of a US Air Force program, and it puts keys and identifying relationships at the center of the diagram.[7] The ER diagram symbols and notation guide covers all three in more depth.
DBeaver's diagram settings offer the notations listed in the walkthrough above, checked against DBeaver's documentation on 25 Sep 2026. DbSchema's default is Information Engineering with arrows, a crow's foot plus a direction arrow on the line, and View > Foreign Key Notation switches it to plain Information Engineering, Barker or IDEF1X.
| Output | DBeaver | DbSchema |
|---|---|---|
| PNG, GIF, BMP | Community | PNG |
| SVG | PRO editions | yes |
| not offered | yes | |
| Interactive HTML5 documentation | not offered | Pro |
The HTML5 row is the one that changes a workflow. DbSchema Pro exports the model as interactive HTML5 documentation with searchable tables and column tooltips, so the diagram reaches people who never open a database tool.
Where each free edition stops
Both products draw a line between their free and paid editions, and the lines sit in different places.
DbSchema's Community Edition covers connect and reverse-engineer for all 100+ supported databases, interactive diagrams, creating tables and columns, and the SQL editor, with no cost and no time limit. The features past that line are Pro: HTML5, PDF and Markdown documentation, the visual query builder, design offline and save to file, schema synchronization, relational data browse, the data generator and the data importer.
DBeaver's free edition covers connections, the data editor and the SQL editor, and draws the read-only diagram. Diagram editing and Git sit in Enterprise and Ultimate, as the edition table on dbschema.com sets out.
When DBeaver's diagram is enough and when to switch
If all you need is to look at a schema that declares its foreign keys, DBeaver's read-only diagram shows it. It reads the catalog, draws the lines, exports a picture, and sits next to the SQL editor you already use. For reviewing an existing, well-declared schema, DbSchema Community Edition reads the same catalog as DBeaver, for free, and keeps the diagram editable.
- The diagram has to be edited as the design, with new tables and columns drawn before any database has them
- The design has to be saved to a file and reviewed in Git
- The diagram has to show relations the database never declared
Each of those is a DbSchema feature, and the third one works without touching the database at all. Where the database declares no foreign key, a virtual foreign key draws the missing line: drag from one column to another, or open Diagram > Find Virtual Foreign Keys and DbSchema proposes candidates by matching column names or from the SELECT … JOIN queries in the database's SQL history, for you to confirm. Virtual foreign keys exist only in the project file, never as constraints in the database, and they still drive the diagram, the Relational Data Explorer and the Query Builder. The migration guides on leaving Erwin and moving a dbdiagram.io schema use the same move for relations the old model documented but the database never enforced.
When the design has to live in a file, DbSchema Pro saves the model and synchronizes it with the database, comparing the file against the server and generating the migration script for the differences. The full picture, including licence costs, is in DbSchema and DBeaver compared edition by edition.
The next step is small: download DbSchema, open the same database in the free Community Edition, and it reverse-engineers into an interactive diagram you can edit.
Frequently asked questions
How do I create an ER diagram in DBeaver?
Double-click a schema or a table in the Database Navigator and switch to the Diagram tab; DBeaver reads the catalog and draws the tables, columns, and declared foreign keys. A custom diagram can hold only objects that already exist in the connected database, and the diagram is read-only by default.
Why is my DBeaver ER diagram not showing relationships?
Because a diagram built from the catalog can only draw foreign keys the database declares. Three common cases: MyISAM tables cannot hold foreign keys (MariaDB supports them only in InnoDB); Snowflake standard tables accept FOREIGN KEY as optional and not enforced, so warehouse schemas often declare none; and a driver can fail to report declared keys, as happened with DuckDB in DBeaver 23.2.3.
How do I export an ER diagram from DBeaver?
Use Save diagram in external format, which exports SVG, PNG, GIF, BMP or GraphML. SVG export is in the PRO editions; the image formats and GraphML work without a paid edition.
Can I create foreign keys in a diagram without creating them in the database?
Yes, in DbSchema. A virtual foreign key is dragged between two columns or proposed via Diagram > Find Virtual Foreign Keys; it draws the missing relationship line and drives the Relational Data Explorer and Query Builder, and it is stored only in the DbSchema project file, never in the database.
Sources
Create ER diagrams in minutes
DbSchema reverse-engineers your database into an interactive diagram you can edit, and the free Community Edition connects to all 100+ supported databases.