DEV Community 👩‍💻👨‍💻

Cover image for Data Modeling Tool
dev0928
dev0928

Posted on

Data Modeling Tool

Recently, I was looking for tools to quickly come up with an ERD (Entity-Relationship Diagram) for one of the client engagements. I wanted it to be something simple but aesthetically pleasing as it was an early stage of the project. I came across an online tool called dbdiagram.io. This tool helped in coming up with a nice pictorial representation of the data model relatively quickly.

Features supported by the tool:

  • Primary key representation
  • Foreign key representation along with one-to-one, one-to-many, many-to-one relationships
  • Support for representing fixed number of values a column can hold through Enum tables
  • Support for default values and unique column representation.
  • Ability to export created data models into PNG or PDF formats. Also, one can export SQL of the data model for PostgreSQL, SQL Server, and MySQL (account sign-up required to utilize these features)
  • Ability to import SQL to generate data model

How does it work?

  • Visit dbdiagram.io and come up with a desired data model structure like below. This tool generates data model as soon the entered structure is valid.
// Creating tables
Table department as d {
  department_id int [pk, increment] // auto-increment
  department_name varchar [not null, unique]
  created_at datetime [default: `now()`]
}

// Enum for 'employee' table below
Enum employee_status {
  active
  retired
  alumini [note: 'moved on to other career prospects'] // add column note
}

Table employee as e {
  employee_id int [pk, increment] // auto-increment
  employee_name varchar
  department_id int [ref: > d.department_id]
  status employee_status
  created_at datetime [default: `now()`]
}

Table employee_sales as es {
  employee_id int [ref: > e.employee_id] 
  sales_date datetime 
  sales_amount float
  Indexes {
    (employee_id, sales_date) [pk]
  }
 }
Enter fullscreen mode Exit fullscreen mode

Example output is shown below

Alt Text

Top comments (0)

Find what you were looking for? Join hundreds of thousands of developers on DEV so you can:

 
🌚 Enable dark mode
🔠 Change your default font
📚 Adjust your experience level to see more relevant content