美文网首页技能图谱MySQL
在线数据库关系图设计工具 dbdiagram.io

在线数据库关系图设计工具 dbdiagram.io

作者: 西召 | 来源:发表于2019-05-02 21:24 被阅读0次

前段时间,笔者在设计某个系统模块的时候,需要增加十几张表。

为了简单快速地把这十几张表设计并定义出来,我找到了一个可以在线设计数据库关系图(database relationship diagram)且可以导出DDL SQL的工具——dbdiagram.io

dbdiagram.ioholistics.io这款商业产品的社区版。

dbdiagram.io使用DSL语言,可以简单快速地创建数据库关系图。

这款工具的操作界面也非常简约并具有设计感:

  • 有时候我们需要在关系型数据库中设计一些表,以便实现我们的业务功能。

  • 或者我们对某个系统的表结构不是很熟悉,希望画个图表示一下这些实体之间的关系。

  • 又或者我们希望把设计好的数据库关系图直接转化为DDL SQL。

  • 而且我们不想使用复杂的工具,付出高昂的学习成本。

  • 也不想用太重的工具,占用内存。

这个时候这个在线的数据库关系图工具就排上用场了。

语法

下面介绍一下它的语法。

定义表的语法如下:

Table users {
  id integer [pk]
  username varchar [not null, unique]
  full_name type [not null]
  .....
}

如果表名太长还支持取别名:

Table longtablename as t_alias {
  .....
}

定义外键支持如下三种关系:

< : One-to-many
> : Many-to-one
- : One-to-one

并且提供了3种定义外键的方式:

Ref name-optional {
  table1.field1 < table2.field2
}

Ref name-optional: t1.f1 < t2.f2

Table posts {
  id integer [pk, ref: < comments.post_id]
  user_id integer [ref: > users.id]
}

例子

下面以电商系统常用的几张表作为例子演示一下它的用法。

当你登录自己的Google账号以后,可以把你设计好的图形保存到线上,这样就可以通过一个唯一的链接访问 : https://dbdiagram.io/d/5cc9103ef7c5bb70c72fd15c

这里是DSL:

Table orders {
  id int [primary key]
  user_id int [not null, unique]
  status varchar
  created_at varchar
}

Table order_items {
  order_id int
  product_id int
  quantity int
}

Table products {
  id int [primary key]
  name varchar
  merchant_id int [not null]
  price int
  status varchar
  created_at varchar
  category_id int
}

Table users {
  id int [primary key]
  full_name varchar
  email varchar [unique]
  gender varchar
  date_of_birth varchar
  created_at varchar
  country_code int
}

Table merchants {
  id int [primary key]
  admin_id int
  merchant_name varchar
  country_code int
  created_at varchar

}

Table categories {
  id int [primary key]
  cat_name varchar
  parent_id int
}

Table countries {
  code int [primary key]
  name varchar
  continent_name varchar
}

Ref {
  orders.user_id > users.id
}
Ref {
  order_items.order_id > orders.id
}

Ref {
  order_items.product_id > products.id
}

Ref {
  products.merchant_id > merchants.id
}

Ref {
  products.category_id > categories.id
}

Ref {
  categories.parent_id > categories.id
}

Ref {
  users.country_code > countries.code
}

Ref {
  merchants.admin_id > users.id
}

Ref {
  merchants.country_code > countries.code
}

这里是导出的数据库关系图PDF:

总结

最后总结一下dbdiagram.io的特点:

  • DSL : 使用简单的DSL语言即可定义数据库关系图
  • Google Account :使用Google账号可以在线保存设计好的图
  • Online :不需要安装软件,方便快捷,而且支持拖动和调节
  • Import/Export : 支持导出DDL SQL和PDF,支持导入外部数据
  • Share : 可以生成一个分享链接,方便团队成员协作
Wechat-westcall

相关文章

  • 在线数据库关系图设计工具 dbdiagram.io

    前段时间,笔者在设计某个系统模块的时候,需要增加十几张表。 为了简单快速地把这十几张表设计并定义出来,我找到了一个...

  • 在线工具合集

    美图类 在线PS工具 - 搞定设计在线矢量图标工具 - iconfont在线原型图工具 - 墨刀在线作图工具 - ...

  • 好用的工具

    在线思维导图工具:百度脑图 在线原型设计工具:墨刀 在线API文档编写工具:ShowDoc 可视化编辑器白鹭Egr...

  • 设计模式

    设计模式笔记 学会读图 UML我要看懂图UML类图 时序图在线绘制在线绘制时序图工具集合 Builder模式 bu...

  • Windows软件清单-效率神器 【含下载地址】【持续整理中】

    速读目录 前言 目录借鉴 隐私安全等工具 下载工具 截图/录屏 远程控制 思维导图 在线配色工具 在线设计工具 在...

  • 有哪些超级实用的电脑软件/插件/在线工具?

    一、在线创意设计工具(2款) 二、资源聚合下载类(5款) 三、在线修图、改图工具(6款) 四、在线格式转化工具(4...

  • 运营必知:微信公众号编辑实用工具推荐

    公众号头图/次图工具 稿定设计-做图做视频必备_在线设计神器_海量模板免费用​www.gaoding.com 提名...

  • 公众号运营必备工具

    1. 在线设计、图片拼接、去水印工具大全 稿定设计:有大量免费的新媒体配图设计模板,头图、次图、gif动图、关注二...

  • 数据库(二)

    DQL:查询语句 约束 数据库的设计 数据库的备份和还原 多对多关系图 一对多关系图 一对一关系图

  • sketch插件-蓝湖

    蓝湖 高效的产品设计协作工具,支持共享 Symbol、自动标注生成多倍切图、设计图在线评论、设计图历史版本管理、快...

网友评论

    本文标题:在线数据库关系图设计工具 dbdiagram.io

    本文链接:https://www.haomeiwen.com/subject/fjdonqtx.html