我们经常会使用专门的数据库设计工具来设计数据库,比如PowerDesigner,其实Navicat中已经内置了一款非常好用的数据库设计工具!今天给大家分享下Navicat自带的数据库设计工具,还有一些其他实用的Navicat功能,希望对大家有所帮助!
mall项目介绍
由于下面我会以mall项目的数据库表设计为例来讲解Navicat的数据库设计功能,这里先简单介绍下它,mall项目是一套基于SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和2024最新微服务架构,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!
项目地址:
- Boot项目:https://github.com/macrozheng/mall
- Cloud项目:https://github.com/macrozheng/mall-swarm
- 教程网站:https://www.macrozheng.com
项目演示:
数据库设计
在我没发现Navicat的数据库设计功能之前,我会使用PowerDesigner这类数据库设计工具先设计好数据库,再通过Navicat导入数据库表。其实Navicat里早已内置了数据库设计工具,这里就以我的mall电商实战项目为例,来介绍下它的数据库设计功能。
- 我们可以通过Navicat顶部的
模型
按钮打开数据库设计功能,通过新建模型
来创建一个MySQL的模型;
- 然后通过
新建表
的按钮来创一张表,之后就可以对表添加字段了,这里我添加了一张后台用户表ums_admin
;
- 有时候我们需要在表与表之间
建立外键
,我们只需点击添加外键
按钮,然后拖动到需要建立关系的两个字段上就可以完成外键的创建了,这里的后台用户和角色之间具有多对多的关系;
- 我这里使用Navicat的数据库设计功能,设计了下mall电商实战项目的权限模块,对比之前使用的PowerDesigner,确实界面现代化了不少;
- 如果你想打开设计好的数据库模型的话,可以右键点击
打开外部模型
这里以mall电商实战项目的商品模块为例
;
- 这里是mall电商实战项目商品模块的数据库表设计模型,效果还是非常不错的;
- mall项目的所有数据库设计模型都在我的
mall-learning
项目中,项目地址:https://github.com/macrozheng/mall-learning
结构同步
我们在开发项目的时候,数据库往往也是迭代开发的。比如我们的生产环境目前只开发了权限和商品模块,我们的开发环境新增了订单模块,此时就会有从开发环境将表结构同步到生产环境的需求,此时我们就可以使用Navicat的结构同步功能了。
- 例如我们现在有生产环境数据库
mall-prod
,仅包含权限、商品模块的数据库表;
- 还有开发环境数据库
mall-dev
,包含权限、商品、订单模块的数据库表,此时想将mall-dev
的数据库表同步至mall-dev
上去;
- 我们可以通过
工具->结构同步
功能来实现,选择好源和目标数据库即可;
- 之后Navicat会自动比较出两个数据库的结构差异,我们一路点击下一步进行同步即可。
数据备份
在我们对数据库进行有风险的操作时,往往需要进行数据备份,定时备份数据也可以防止数据的丢失,其实Navicat也提供了对应的功能,这里我们来讲解下数据备份的使用。
- 我们可以通过
备份->新建备份
来创建一个新的数据库备份;
- 如果你想还原备份的话,选中备份后右键点击
还原备份
即可。
总结
今天给大家分享了Navicat非常实用的功能,涵盖了数据库设计、结构同步和数据备份这3个功能。
项目地址
本文示例来自于我的mall电商实战项目,如果你想学习电商系统的全套数据库设计的话可以访问如下地址。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。