Data modeling
See also modeling.
Tools
The following tools specialize in database modeling. They are used to design database schemas, including the relationships and constraints in SQL databases. These are proper modeling tools, not just diagramming tools, which means they can be used to generate SQL code from their models.
Some database administration tools such as HeidiSQL and MySQL Workbench also support visual database design.
- Database Diagram — Online tool for generating entity-relationship diagrams from text.
- Database Markup Language (DBML) — Open-source DSL for defining and documenting database schemas and data structures. dbdiagram.io and dbdocs.io are tools that support DBML. There’s also a command line tool for converting DBML to SQL table definitions, and a JavaScript module for programmatically working with DBML.
- DB Designer — Online database design tool.
- DbDesigner 4 — Open-source design tool for MySQL databases.
- Dbdiagram.io — Online database design tool. From data models defined in a lightweight, plain text markup language, the UI dynamically renders Entity-Relationship (ER) diagrams and exports SQL statements for table creation.
- DbSchema — Powerful modeling tool for both SQL and NoSQL databases. Supports reverse engineering of existing databases, visual query building, generation of dummy test data, and more.
- ER Builder Data Modeler — Automatically generates SQL code for popular databases from ER diagrams. Desktop subscription software.
- erd — CLI utility for generating entity-relationship diagrams from a plain-text description.
- Hackolade — Data modeling tool for SQL and NoSQL databases, as well as APIs and storage formats.
- ModelSphere — Free and open-source tool for business process modeling, data modeling, and UML modeling. Cross-platform compatible, but it requires a Java 7 Virtual Machine to be installed locally.
- Quick Database Diagrams — Text-to-diagram web tool that does what it says on the tin.
- Oracle SQL Developer Data Modeler — Free graphical tool for designing database schemas.