两种风格的实体关系图(ER图)

ER 图(实体-关系图)的两种主要风格分别是 Chen 风格Crow’s Foot 风格

ER图绘制首先要了解关系是什么,理解起来就是:

  • 一对一是夫妻、居民和身份证这种钢铁一般稳固的关系,为啥还要分成两个实体?因为居民拥有多种属性,身份证只是其成立的一种属性,我去乘车会带上身份证证明身份,但是出门吃饭泡澡就不需要这种强证明的实体,因此分成两个实体适合不同场景的需要
  • 一对多就是舔狗关系,李狗蛋一心一意追求小美,然而小美是海王,追求者来者不拒
  • 多对多就是“她只是我的妹妹~妹妹说紫色很有韵味~我没有思想准备~看到你身旁还有一位~不知道他是谁”
  • 说到现在的关系好像只是数量上的多寡,有身份关系,有情感关系,总结起来关系有两种:

1、引用关系,某个实体是另一个实体的属性,比如订单实体中,有买家实体、卖家实体,居民实体有身份证这个属性,而身份证也可以成为一个实体,记录犯罪信息。

2、继承关系,某个实体从属于另一个实体,但是有一方更加具体。比如,用户实体就是很宽泛的实体,但是会员实体就比较具体,从数据量上也能体现。更愿意白嫖的占大多数。

1. Chen 风格

特点

  • 传统的 ER 图表示方法。
  • 使用 菱形 表示关系,矩形 表示实体,椭圆 表示属性。
  • 强调实体、属性和关系的三层结构。

以上就是典型的Chen风格的ER图。只有两个实体已经显得非常臃肿,一旦实体数量增加,不仅属性占用的空间极大且乱,而且每个关系的定义也会让数据管理者头疼。

表示方法

实体

  • 用矩形框表示实体。用户和商品就是两个实体,实体在物理层可以理解成一个个表。

属性

  • 用椭圆表示属性。属性可以理解为表的字段。
  • 椭圆通过直线连接到对应的实体或关系。

关系

  • 用菱形表示关系。关系是一种抽象的逻辑概念,外键则是实现这种关系的工具。
  • 菱形通过线连接到参与关系的实体。
  • 在关系的连线上标注基数(如 1、n 等)表示参与实体的多重性。

多对多关系

  • 两个实体通过菱形连接。
  • 菱形连接线两侧分别标注 nm,表示多对多。

2. Crow’s Foot 风格

特点

  • 又称 "爪形符号法",常用于数据库设计工具。
  • 不使用菱形和椭圆,而是直接用实体和关系线表示。
  • 使用线条和符号(如爪形、垂直线等)表示关系的多重性。

具体案例:

这里把地址实体单拎出来看看,地址和行政区划是多对一的关系,一家药房不能既在安徽又在江苏(在南京的话另算),地址和供应商、仓库、门店都是一对一的关系,而且是引用关系。地址和员工这里,我认为画错了,应该是一对多的关系。

      员工实体从自己身上画了一条指向自己的**一对多关系**线,这是一种典型的**自关联**设计,通常用于表示员工之间的层级或从属关系。
  • 一个员工可以管理多个下属,即一个员工可能是其他员工的直属领导。
  • 每个员工只能有一个直属领导(除非是最高层的员工,如CEO,没有上级)。

表示方法

实体

  • 用矩形框表示实体。
  • 实体名称写在矩形框内。

属性

  • 通常不单独绘制,而是直接作为实体的字段列出。
  • 主键和外键通常以特殊标记(如下划线)突出显示。

关系

  • 实体之间的关系直接用线条连接。
  • 线条两端的符号表示基数:
    • | 表示 "1"(一)。
    • 爪形 <> 表示 "多"(n)。

多对多关系

  • 两个实体之间用线条连接,线条两端均为爪形。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剑客狼心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值