摘要
好的数据库设计工具,可以帮助我们进行思考并提高我们的设计效率。以前一直使用的是PowerDesigner,最近发现Navicat的数据库设计功能也很不错,界面简洁且容易使用,特此推荐给大家。
Navicat
Navicat是一套快速、可靠的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。
注意:本教程采用的是Navicat12版本,下载地址:http://www.navicat.com.cn/download/na…
数据库设计
下面我们来讲下如何使用Navicat来设计数据库,以mall项目的权限管理模块为例。
打开模型
首先我们需要打开Navicat的数据库设计功能,该功能在工具栏中的模型按钮下,直接打开即可。

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

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

建立外键关系
如果我们的表没有外键,当表越来越多,关系越来越复杂时,我们就无法理清表与表之间的关系了,所以我们在设计的时候需要通过外键来标注表与表之间的关系。
我们再新建两张表ums_role和ums_admin_role_relation用于演示建立多对多关系,并通过工具栏的外键按钮建立外键;

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

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

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

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

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

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

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

逆向工程
之前有些朋友反馈mall中的PowerDesigner数据库设计文件无法打开,这里提供另一种方法,通过Navicat来查看数据库设计。
- 首先我们需要一份有外键关系的SQL文件,这里我已经生成好了,下载地址:http://github.com/macrozheng/…
- 之后将该SQL文件导入到数据库中,这里导入的是pd-test数据库;
- 然后通过逆向工程从数据库中去生成数据库设计图,该功能在工具目录下面;

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

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

导出功能
平时管理数据库一般都是用cmd命令提示符,或是IDEA Intellij自带的Data source,使用Navicat比较少。这段时间,由于要对前后端交互的数据结构进行设计,直接写文档联系多表时有些困难,想着如果有关系图就直观很多。想到Navicat本身就有这个功能,现在就去试试。
首先,我们打开已经设计好的表视图界面:

点击右下角的按钮切换到ER视图:

那些表与表之间相连接的就是外键,这个应该没问题。然后,我想到我要给领导汇报一下我的工作情况呀,直接截图截不完整不说,还很模糊。所以我想,会不会有什么办法可以将得到的关系图导出成pdf或者图片格式的文件呢?找了一会儿,发现确实有这个功能。

在数据库名字上,右击选择逆向数据库到模型。就可以看到生成的模型,可能会有些偏差,但是关系不会发生变化的。当然还可以在左边的工具栏选择对应的线条呀什么的,继续加工一下,然后就可以选择导出了。

导出格式有三种,pdf、svg和png,个人比较喜欢pdf,比较正式,一般什么要汇报给领导看的文档我都会先转成pdf,这样也比较清爽一些。emmm,生成ER关系图以及导出就是这些,如果帮助到你了,请点个赞吧!