先看成品:https://boardmix.cn/app/share/CAE.CJa_mA0gASoQ5ia_NDW6le060XR1Xib1QjAGQAE/lrXJvu
下面开始讲解
元素:
实体(矩形)、属性(椭圆)、关系(菱形||直线)
实体属性关系
1.实体
- 强实体——实线矩形
- 弱实体——双实线矩形
- (弱实体依赖于强实体),比如订单实体依赖于商品实体(先购买商品才会有订单)
2.属性
- 关键属性(可以唯一标识实体,如主键ID、身份证)
- 复合属性(属于组合属性,如地址包括省、市、县)
- 多值属性(可以包括多个值的属性)——双椭圆
- 派生属性(由另一个属性派生而来,如年龄能通过身份证推到出)——点椭圆
3.关系
- 一对一
- 一对多
- 多对一
- 多对多
3.1.根据关系是1:1 1: n m:n 转成表
- 对于 1:1的 可以将关系保存到任何一个实体表中.
- 对于1:n的,可以将关系保存到n的那个实体里,例如图中的班级和学生是1对多,那么可以在学生表中增加一个班级id的字段,说明该学生是哪个班级的
- 学生表包含字段:学号,姓名,性别,年龄,班级ID 主键: 学生号
- 对于多对多的关系 m: n的 ,关系保存到新表中
弱关系——双实线菱形(弱关系一般是和弱实体一起使用的,只有弱实体才会用到弱关系)
流程图步骤
- 确定实体
- 确定属性
- 确定主键
- 确定关系
- 确定关系
- 确定关系的基数
- 基数是指实体集之间的联系数目。在ER图中,关系的基数通常分为“一对一”(1:1)“一对多”(1:N)和“多对多”(M:N)。在连接实体和关系的线条上,用“1”或“N”来表示基数。
- 处理多对多关系
- 多对多关系在实际的关系数据库中是难以实现的,因此我们需要将多对多关系转换成两个一对多关系。例如“学生”与“课程”之间的“选课”关系,我们可以通过引入一个新实体“选课记录”来表示学生与课程之间的联系,同时将“选课”关系变为与“选课记录”相关的两个一对多关系。
er图优化
- 根据实际情况决定属性要不要标明。因为,属性标记太多的话会占据 ER 图的大部分区域,反而导致实体关系不容易察觉。
- 优化二
班主任其实是班级的一个属性,就可以去掉教师和班级之间的关系。这种优化很关键,关系越多意味着业务系统的实现越复杂,也很难进行扩展
- 优化三——简化er图
作图工具推荐
亿图 https://www.edrawsoft.cn/
BoardMix:不需要安装 https://boardmix.cn/invitation/invitee/?code=aedt4pxIOem4
https://boardmix.cn/app/editor/5ia_NDW6le060XR1Xib1Qg
Microsoft Visio:Visio 是微软推出的一款绘制各类图形的专业软件,包括ER图在内。其超高的兼容性、便捷共享与协作功能,对微软Office生态的无缝整合,使其在企业级应用场景中广受欢迎。
Lucidchart:此工具以其直观简洁的界面和功能而著称,支持ER图、流程图等多种图形。Lucidchart 倡导团队合作,实时同步和多平台支持等特点让设计师在协作过程中更为顺畅。
评论区