Key concepts
A quick tour of the vocabulary you'll meet everywhere in EntityFlow.
Diagram
A diagram is one schema you're designing. It has a name, a default SQL dialect, a visibility (private, or shared with a workspace), and it holds every table, relationship, group, note and custom type you create. You can have as many diagrams as you like and switch between them from the Open dialog.
Table
A table is a card on the canvas representing a database table. Its header shows the name; its rows are the fields. A thin coloured cap at the top is the table's colour, which also tints it in the minimap. Tables can be moved, resized, recoloured, collapsed, duplicated and grouped.
Field
A field (column) has a name, a type, and a set of constraints. EntityFlow shows each field's role with icons and badges:
| Badge | Meaning |
|---|---|
| 🔑 (gold key) | Primary key |
| 🔗 (blue link) | Foreign key |
| NN | Not null |
| ✓ | Unique |
| Auto | Auto-increment |
Types come from the diagram's dialect (e.g. varchar, int, numeric, timestamp) plus any custom enums you define.
Relationship
A relationship is a foreign key drawn as an edge between two fields. Each end carries a cardinality (one / many / optional), and EntityFlow routes the line orthogonally around your tables. You can recolour, restyle, bend or manually re-route any edge. → Relationships
Container group
A container group (or area) is a labelled box that holds related tables — for example a Catalog group and a Sales group. Move the group and its tables move with it; the box re-fits as you add or remove members. Groups are a visual aid, not a database object. → Container groups
Sticky note
A sticky note is free-text annotation you can place anywhere — handy for assumptions, to-dos or explaining a tricky relationship. → Sticky notes
Custom type (enum)
A custom type is a named enum — for example order_status = { pending, paid, shipped, cancelled } — that you can reuse as a field type across the diagram. → Custom types & enums
How your work is stored
EntityFlow keeps two representations of every diagram, and this split is what makes real-time collaboration safe:
- The document (the source of truth). Your edits go into a CRDT — a conflict-free data structure — so that any number of people can edit at once and always converge to the same result. It's cached in your browser (so you can work offline) and persisted on the server when you're signed in.
- The projection (a queryable copy). The server derives a normalised, read-only copy of the document used for search, governance and server-side export. It's always rebuilt from the document, never the other way around.
You never interact with these directly — but it's why an EntityFlow diagram can be edited live by a crowd, exported identically on client and server, and restored byte-for-byte from a version. → Architecture
Validation
As you edit, EntityFlow runs a dialect-aware validation pass and surfaces any issues in the Problems list — missing primary keys, duplicate names, foreign keys with mismatched types, reserved keywords and more. → Validation & problems