使用navicat模型功能 快速理清表间关系

在看某个项目的数据库的时候发现表比较多,且都是和用户相关的,又涉及到租户、站点等,表关系有点小复杂,而且都是虚拟外键,于是自己来创建模型来方便缕清表之间关系。
使用的工具为NavicatPremium15 ,12应该也差不了太多

  1. 新建
    使用navicat模型功能 快速理清表间关系
    使用navicat模型功能 快速理清表间关系
  2. 然后选择你要导入的库 表就完事了
    使用navicat模型功能 快速理清表间关系
  3. 然后就会看到一大堆表 这时可以选择一个切入点,比如我这里选择了 admin 用户详情表,该表能关联到租户、角色、登陆信息等,把光标放到字段或表上,如果该字段或表加了注释就能弹出注释(这个功能十分方便,这里也吐槽下没加注释的表),再加上该字段和表的命名,如果够规范就能快速找到其关联表,有的是使用关联表,用以关联两张表的关系,我这里的关联表表名都是以"_relation"结尾,能够快速识别
    使用navicat模型功能 快速理清表间关系
    确定好外键关系之后点击外键,然后拖动表中的字段,到你要关联的另外一个表上的字段上,这时候就会建立连线
    使用navicat模型功能 快速理清表间关系

光标放到线上还会高亮被关联的两个字段,下面图中关联表可以设置成其它颜色,以示区分
使用navicat模型功能 快速理清表间关系

使用navicat模型功能 快速理清表间关系
这时表越来越多可能会非常乱,可以点击自动布局进行整理,有了这个功能自己其实只要把线给连上就完事了
使用navicat模型功能 快速理清表间关系
而在模型区的右侧还有其它功能可使用,比如加入图像,层,形状等
使用navicat模型功能 快速理清表间关系
比如这里我使用层来进行分块,如下面这个层放的都是我暂时搞不懂的表
使用navicat模型功能 快速理清表间关系
整体效果图如下,个人感觉非常直观,这里就不便放清晰的图了
使用navicat模型功能 快速理清表间关系
这里是为了理清表关系导入的已经建好的表, 当然这里的模型建好后反过来还能导出为sql, 或许这才是正确用途,总之本人感觉这个功能很不错,值得把玩