概述
E-R图也称实体-联系图(Entity Relationship Diagram),也就是概念模型,可以用来做数据库设计。今天先记录下该怎么看E-R图,至于软件的操作下次补充记录~
作图工具在Mac端可以用dbeaver,原因呢主要是免费吧。
然后说说今天我为什么怎么就扯到了E-R图呢?是我在撸一个golang项目的时候,发觉对后台数据库不知道怎么设计,然后就查了下资料,如何设计也算说的很明了,对应的关系就是用E-R图来画的。
如何看图
上面👆概念数据模型中包含了:权限、角色、用户、文章、栏目、评论和两个桥表,其中1对1或1对多等关系在模型中体现。其中:
PK
primary key箭头
代表的是关联关系虚线
代表的是备注说明
具体举例(红框部分):
- 用户角色表(cms_user_role) 同时属于用户表(cms_user)和角色表(cms_role)
- 说白了,就是一个用户会有多个角色
读者可以进行阅读、注册、登录等操作。登录状态下又可以进行评论与阅读操作。
小编是作者身份,可以对自己的文章进行管理。
超级管理员拥有系统最大权限(或者所有权限),可以进行栏目管理、文章管理(文章管理隐式的包含了拥有阅读权限)、权限管理、角色管理、评论审核等操作。可对文章进行审核,权限管理下可对角色进行管理。
gorm的实现
gorm文档中,我们可以找到对模型建立关系的的文档:https://gorm.io/zh_CN/docs/belongs_to.html
依旧以cms_user_role
cms_user
cms_role
这三个表为例:
1 | //在gorm中,模型的结构以驼峰命名方式书写,在数据表会自动转成对应下划线 |
到这,你也会发觉用户角色表其实是个中间件。
资料:
【管理系统课程设计】美少女手把手教你后台管理
在mac上有没有类似PowerDesigner的软件?
第1节:7分钟上手ER图
通俗数据库设计(2)E-R图
如何使用 MySQL workbench 生成 EER 图?
E-R图专栏
visio-数据库模型图