Skip to main content

ERD Visualization

The ERD (Entity-Relationship Diagram) canvas is the visual centerpiece of TalkingSchema.

ActionHow
PanClick and drag on empty canvas space
Zoom in/outScroll wheel or pinch gesture
Fit to viewClick the fit-to-view button (bottom-left controls)
Reset zoomDouble-click on empty canvas space

Table nodes

Each table appears as a node showing:

  • Table name (header)
  • Fields list — name, type, and constraint badges
  • PK badge — marks the primary key
  • FK badge — marks foreign key fields

Table header color

You can set a custom background color on any table's header. Open the table editor and choose a color from the Header Color picker (or enter a hex value directly). The text color auto-adjusts for contrast so the header stays readable.

In DBML, this is serialized as:

Table orders [headercolor: #3b82f6] {
...
}

Relationship lines

  • Lines connect tables via foreign keys
  • Crow's foot notation shows cardinality
  • Lines update automatically when you add/remove relationships

Relationship color

Relationship lines can carry a custom color. The AI may set colors automatically to help distinguish relationship groups. In DBML this is:

Ref: orders.customer_id > customers.id [color: #79AD51]

The custom color is the resting stroke. On hover or when a connected table is selected, the line highlights in teal.

Table groups

Tables can be organized into named groups that appear as labeled color overlays on the canvas. Groups help visually separate subsystems (e.g. Auth, Billing, Core).

Setting a group color

When creating or editing a group, open the Group Color picker in the modal and choose a hex color or select from the preset swatches. The canvas overlay uses that color for both the background fill (at low opacity) and the border.

In DBML:

TableGroup "Auth" [color: #8b5cf6] {
users
sessions
}

If no color is set, groups cycle through a built-in palette of 10 colors.

Layout modes

TalkingSchema offers two layout modes, switchable via the layout picker at the bottom of the canvas:

ModeDescription
GridELK-based automatic layout. Groups related tables by FK connections and minimizes edge crossings. Best for normalized OLTP schemas.
StarBFS radial layout. Detects the central fact table (highest FK degree) and radiates dimension tables outward in concentric rings. Best for star/snowflake data warehouse schemas.

Your chosen layout mode is saved — when you switch to Star and refresh the page, Star mode is restored.

Persistent canvas positions

Your table positions are automatically saved after you drag tables. When you return to a thread (refresh, new tab, or different device), tables appear exactly where you placed them.

How it works:

  • After you stop dragging a table, positions are saved to the backend after a short pause
  • On page load, saved positions are restored instantly (no re-layout)
  • When the AI adds a new table, your existing tables stay in place — only the new table appears near the right edge of the canvas

Public share links also show your arranged positions — viewers see the layout exactly as you set it up.

ELK auto-layout

TalkingSchema uses the ELK (Eclipse Layout Kernel) layout engine to automatically arrange table nodes when no saved positions exist. The layout:

  • Minimizes edge crossings
  • Groups related tables
  • Adapts when tables are added or removed

You can reset to automatic layout at any time by clicking Auto Layout in the top bar. You can also manually drag nodes to any position.

Node visibility panel

Use the node visibility panel to show/hide specific tables:

  • Toggle visibility per table
  • Useful for focusing on a subset of a large schema
  • Hidden tables are excluded from image exports

Exporting the diagram

Click ExportImage to download:

  • PNG — raster image, good for presentations
  • SVG — vector, scalable, good for documentation
  • PDF — print-ready format

Only visible tables are included in the export.

Large schemas

For schemas with many tables:

  • Use the node visibility panel to focus on relevant sections
  • Export section-by-section for documentation
  • Use the search/filter capability to find specific tables