Blog
ERD Best Practices and Database Design
The Schemity blog: database design for software engineers, from crow's foot notation and context views to reverse engineering a live database and keeping your ERD in Git.
A column comment costs a full migration cycle, and on MySQL it means restating the entire column definition. Schemity keeps field descriptio...
Two tables that reference each other with NOT NULL foreign keys accept no rows at all. Schemity's schema lint finds the cycle in the ERD off...
timestamptz records an instant, timestamp records a reading on a clock, and your ORM probably chose the second one. Schemity's timestamp-not...
Schemity exports the diagram as a data dictionary in HTML, Markdown and Excel, covering every column, constraint and relationship, and close...
Migration linters read the statement you are about to run. Schemity's schema lint reads the model you already have - seventeen rules checked...
A unique constraint covers only the rows where every column in the key has a value. Sometimes that exemption is the design and sometimes it...
An array of IDs is a many-to-many relationship with no foreign key and no line on the diagram. Schemity renders PostgreSQL array types as re...
DrawSQL has no live database connection and caps tables on every plan. Schemity is the offline DrawSQL alternative that reverse engineers yo...
Schemity marks every workspace whose folder sits inside a Git repository with a branch icon, so which database diagrams are version controll...
Schemity deliberately has no zoom control. Every zoom changes the geography of the diagram and costs you the mental work of re-finding where...
Most ERD tools ignore database views or draw them as editable tables. Schemity renders views and materialized views as read-only entities wi...
SSMS stores database diagrams as binary rows in sysdiagrams - no file, no Git, no export. Schemity reverse engineers SQL Server into a local...
Supabase Studio's Schema Visualizer shows one schema at a time and keeps your layout in one browser's localStorage. Schemity connects to the...
Referential actions decide which rows a single DELETE destroys, yet most ERD tools never store them and MySQL never logs them. Schemity draw...
Native Postgres enums make every value-set change a locking migration, and no diagram tool shows what the allowed values are. Schemity rende...
Lucidchart has no live database connection - schema arrives as a hand-exported CSV. Schemity is the Lucidchart ERD alternative that reverse...
Staging and production schemas drift apart, and a text diff of two SQL dumps won't show you where. Schemity opens both environments as diagr...
Roles carry a tenant_id and permissions do not, and that one asymmetry decides the whole design. How the roles, permissions, and junction ta...
A relational database cannot store a many-to-many relationship directly - it needs a junction table holding one foreign key per parent, whic...
ERD tools misdraw 1:1 relationships as 1:N because they ignore unique constraints. Schemity derives crow's foot cardinality from the foreign...
Schemity's Context Map derives a DDD context map from the schema itself: each context view becomes a node, and every dependency arrow is bac...
Raster ERD exports blur, crop, or balloon in size. Schemity, an offline desktop ERD tool, exports crisp SVG or Mermaid text of the whole dia...
Schemity attaches markdown descriptions to entities, legends, and context views, so what your tables mean lives inside the diagram - not in...
A DbSchema alternative at less than half the price: Schemity is a lightweight desktop ERD tool with JSON-in-Git storage and BYOK AI, not a f...
Inherited a huge undocumented database? A full-schema poster is unreadable by design. Reverse engineer it into a desktop ERD tool, then carv...
A real workflow for a 60-entity schema: design the whole model up front, implement it context by context with AI-generated code, then let re...
ERDs go stale the moment the schema moves on, and re-importing destroys your layout. Schemity re-syncs the diagram from the live database ev...
Most diagram tools only let your schema out as a picture or bare DDL, so years of work stay trapped. A desktop ERD tool with DBML and SQL im...
Free-tier ERD tools cap you at 15 tables or 60 objects and paywall private diagrams, so the pricing page ends up shaping your data model. A...
When relationship lines cross, most schema visualizers make you guess which one you were following. Schemity - a desktop ERD tool with line...
Add Ollama to Schemity and get private AI database design with zero cloud calls - an offline AI ERD tool for teams where cloud AI is banned...
Supabase Studio draws your schema but keeps the layout in one browser's localStorage; pgAdmin's exports follow the UI theme. A desktop ERD t...
Millions of developers query information_schema just to find which table holds a column. A desktop ERD tool with fuzzy search across entity...
Cloud diagram tools can lose your ERD - one day it is just gone from the list, and recovery means a support ticket or a paid tier. A local E...
A ChartDB alternative that runs offline: Schemity is a desktop ERD tool with BYOK AI, diagrams stored as JSON in Git, and a one-time purchas...
Schema drift starts at the blank entity. How entity templates and convention-aware field placement in a desktop ERD tool keep every table co...
How to document a production database schema without fear: a desktop ERD tool that connects through SSH tunnels, keeps passwords in your OS...
An ERD tool for consultants and client work: one workspace per client, stored as local folders you can hand over or delete when the engageme...
Generate an ERD from a SQL dump, import CREATE TABLE statements in one paste, and turn diagram edits into a reviewed migration SQL diff - al...
A BYOK ERD tool changes the deal: private AI database design with your own OpenAI, Claude, Gemini, or DeepSeek key. AI ERD without cloud acc...
Low coupling and high cohesion are two questions at two scales. See why the main ERD perspective and a database context view answer differen...
Database context views and ERD perspectives give focus by removing noise - but they also take. Here is what a sub-diagram in your ERD tool o...
A bar means one, a crow's foot means many, a circle means zero is allowed. This guide maps every crow's foot symbol in an ER diagram to the...
The complete multi-tenant RBAC schema is seven tables: tenants, users, members, roles, permissions, and two junction tables. Here is the ful...
dbdiagram.io's free tier is 10 public diagrams, then $14/month. Schemity is the offline dbdiagram.io alternative: private by default, diagra...
Most database design tools treat schema work as a chore. What if a lightweight desktop ERD tool got out of the way - with ERD custom waypoin...
Import a workspace from anywhere on your machine and treat your ERD like infrastructure - version-controlled in Git, reviewed in PRs, and ke...
ERD check constraints support turns your schema into living documentation. See how domain-driven design database schema patterns surface val...
The best ideas happen fast. Most ERD tools make you slow down. A lightweight desktop ERD tool built for the speed of thought - keyboard-firs...
Stop exporting PNGs to Confluence. A Git-native ERD tool stores your database diagrams as JSON files you can version control, review in PRs,...