What it reads
The diagram reads tables, views, columns and their types, nullability, primary and unique keys, and declared foreign keys with their delete and update rules.
It never reads row data. It also does not guess relationships from column names such as customer_id. A relationship appears only when the database declares a foreign key.
Opening a diagram
Each entry point opens a diagram tab with an initial scope. A table scope includes the selected table and its directly related tables.
| Entry point | macOS | Linux | Initial scope |
|---|---|---|---|
View → Schema Diagram |
⌘⌃E | Ctrl+Alt+E | The active database |
Sidebar Schema diagram |
Not assigned | Not assigned | The active database |
Open Diagram on a schema |
Not assigned | Not assigned | That schema and directly related tables |
Open in Diagram on a table |
Not assigned | Not assigned | That table and directly related tables |
Diagram in a table's structure view |
Not assigned | Not assigned | That table and directly related tables |
On MySQL and MariaDB, a database diagram starts with the current database.
Reading the diagram
Each card identifies a table or view. Its header shows the schema when needed, the object name, and a kind badge for a view or materialized view. Columns show their types, primary-key and foreign-key markers, and a ? when the column is nullable.
Relationship lines connect declared foreign keys. A bar means one, a crow's foot means many, and a plain arrow means the database did not provide enough metadata to determine cardinality.
A table pulled in from outside the selected scope has a dashed border, its schema label, and an External badge. Views have their own badge. When the current account cannot inspect a table, the diagram shows a locked Not accessible placeholder instead of inventing metadata.
Open Legend from the toolbar or the lower-left corner for the notation used in the current diagram.
Moving around
Drag empty space to pan. Use a mouse wheel, trackpad pinch, or the zoom controls to zoom. Fit to view frames every visible table. Arrange calculates a new layout, while Reset view restores the last generated layout. Drag a table to keep it in a manual position.
Search tables finds tables both inside and outside the diagram. Choosing an outside result adds it. In Details, Focus centers a table, Expand related adds its direct relationships, and Remove from view hides it. For an external table, an action such as Add all tables from public uses that table's schema name in place of public.
| Action | macOS | Linux |
|---|---|---|
| Search tables | ⌘F | Ctrl+F |
| Refresh | ⌘R | Ctrl+R |
| Fit to view | F | F |
| Arrange | A | A |
| Expand related | E | E |
| Remove from view | ⌫ | Delete |
| Next related table | ] | ] |
| Previous related table | [ | [ |
| Pan left | ⇧ArrowLeft | Shift+ArrowLeft |
| Pan right | ⇧ArrowRight | Shift+ArrowRight |
| Pan up | ⇧ArrowUp | Shift+ArrowUp |
| Pan down | ⇧ArrowDown | Shift+ArrowDown |
| Zoom in | ⌘= | Ctrl+= |
| Zoom out | ⌘- | Ctrl+- |
| Reset zoom to 100% | ⌘0 | Ctrl+0 |
| Details | ⌘⌥D | Ctrl+Alt+D |
Details and contents
Select a table, column, or relationship to inspect it in Details. For a relationship, the panel shows the declared columns, cardinality, and delete and update rules. These rules are displayed exactly as metadata; opening the panel never executes them.
The Contents tab presents the visible tables, columns, and relationships as a structured list for keyboard and screen-reader navigation.
Refreshing
Refresh reloads schema metadata from the active connection. Tables you moved keep their positions, and tables you removed stay removed. New objects in the starting scope can be added to the current layout.
The Refresh failed · showing cached diagram chip means the reload failed and the last successful diagram is still on screen. Open the chip to read the error or choose Retry.
Exporting
Save as PNG… writes a file. Copy image puts the same PNG on the clipboard. Both render the full diagram rather than only the current viewport. The export uses the current table layout, a white background, and a legend when relationship or external-table notation is present.
Exports use a high-resolution scale when the output size allows it. For a very large diagram, the completion message reports Exported at [scale]× because the diagram is large with the scale that was used.
Large databases
When opening every table at once would be slow, the database entry points first show Choose a starting scope. Select one or more schemas, or use Start from a table to begin with one table and its direct relationships. You can reopen the picker with Choose schemas….
The status strip always says Showing [visible] of [total] tables and reports the relationship count. It also shows a Large diagram chip when the current view is above the recommended size. The diagram does not silently hide tables.
Supported databases and limitations
Schema diagrams are supported for PostgreSQL, MySQL, MariaDB, and SQLite.
- Relationships do not cross connections.
- Partitioned tables show a relationship line for each partition.
- SQLite foreign keys without a column list resolve to the parent table's primary key.
- Permission-limited catalogs show placeholders for tables the account cannot inspect.
- Partial or expression-based unique indexes do not make a relationship one-to-one.
Availability
The schema diagram is included with a license. The free trial shows every diagram entry point and offers a license when you open one. See pricing for current commercial details.