Navicat数据模型设计,导出功能

摘要

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

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

注意:本教程采用的是Navicat12版本,下载地址:http://www.navicat.com.cn/download/na

数据库设计

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

打开模型

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

img

新建表

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

    img

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

  • img

建立外键关系

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

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

    img

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

    img

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

    img

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

img

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

    img

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

img

导出SQL

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

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

    img

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

    img

逆向工程

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

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

img

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

    img

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

    img

导出功能

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

首先,我们打开已经设计好的表视图界面:

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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