好的数据库设计工具,可以帮助我们进行思考并提高我们的设计效率。以前一直使用的是PowerDesigner,最近发现Navicat的数据库设计功能也很不错,界面简洁且容易使用,特此推荐给大家。

Navicat

Navicat是一套快速、可靠的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。

注意:本教程采用的时Navicat12版本,下载地址:https://www.navicat.com.cn/download/navicat-premium

数据库设计

下面我们来讲下如何使用Navicat来设计数据库,以mall项目的权限管理模块为例。

打开模型

首先我们需要打开Navicat的数据库设计功能,该功能在工具栏中的模型按钮下,直接打开即可。



mysql模拟数据 鱼皮 数据库模拟软件_数据库

新建表

  • 通过工具栏中的按钮新建一张表;

mysql模拟数据 鱼皮 数据库模拟软件_mysql模拟数据 鱼皮_02

  • 新建完成后通过双击设计表的界面,然后添加对应字段,这里新建了一张ums_admin表;

mysql模拟数据 鱼皮 数据库模拟软件_数据库设计_03

建立外键关系

如果我们的表没有外键,当表越来越多,关系越来越复杂时,我们就无法理清表与表之间的关系了,所以我们在设计的时候需要通过外键来标注表与表之间的关系。

  • 我们再新建两张表ums_roleums_admin_role_relation用于演示建立多对多关系,并通过工具栏的外键按钮建立外键;

mysql模拟数据 鱼皮 数据库模拟软件_数据库_04

  • 点击外键按钮后直接点击需要建立外键的字段,这里点击的是admin_id,之后你会发现多了一个小连线

mysql模拟数据 鱼皮 数据库模拟软件_外键_05

  • 双击这个小连线进行外键的编辑操作,修改参考表为ums_admin,参考字段为id

mysql模拟数据 鱼皮 数据库模拟软件_数据库设计_06

  • 编辑完成后就会出现表示外键关系的连线了;

mysql模拟数据 鱼皮 数据库模拟软件_数据库设计_07

  • 之后可以把整个mall项目权限管理模块的表都建立起来练习下,下面是建立完成后的效果;

mysql模拟数据 鱼皮 数据库模拟软件_外键_08

  • 如何你觉得排版不好的话,可以点击下工具栏的自动调整版面功能,是不是个很贴心的功能呢!

mysql模拟数据 鱼皮 数据库模拟软件_外键_09

导出SQL

我们一般在设计数据库的时候通过外键来建立关系,但是在数据库中往往不使用外键,通常通过逻辑来关联,所以在我们导出SQL的时候需要设置去除外键的生成。

  • 导出SQL功能在工具菜单下面;

mysql模拟数据 鱼皮 数据库模拟软件_数据库_10

  • 导出时需要在高级中去除外键的生成,点击确定就可以成功导出SQL语句了。

mysql模拟数据 鱼皮 数据库模拟软件_数据库_11

逆向工程

之前有些朋友反馈mall中的PowerDesigner数据库设计文件无法打开,这里提供另一种方法,通过Navicat来查看数据库设计。

  • 首先我们需要一份有外键关系的SQL文件,这里我已经生成好了,下载地址:https://github.com/macrozheng/mall-learning/blob/master/document/navicat/mall-ref.sql
  • 之后将该SQL文件导入到数据库中,这里导入的是pd-test数据库;
  • 然后通过逆向工程从数据库中去生成数据库设计图,该功能在工具目录下面;

mysql模拟数据 鱼皮 数据库模拟软件_外键_12

  • 之后选择需要导入的数据库pd-test

mysql模拟数据 鱼皮 数据库模拟软件_外键_13

  • 导入成功后就可以看到完整、有关系的数据库设计图了,大家可以按自己的喜好修改表的位置。

mysql模拟数据 鱼皮 数据库模拟软件_数据库设计_14

总结

总的来说Navicat的数据库设计功能还是相当不错的,简洁易用,界面也很漂亮。设计数据库在PowerDesigner中只是一个功能,使用起来未免太沉重,而Navicat的数据库设计功能更轻巧!