数据库ER图长什么样?一对一、一对多的关系如何表示?

想自己规划设计数据库,如果不是小打小闹,当做个正事儿来做,最好是能画出ER图。画图之前,先得知道ER图是如何表示的?这样用在线作图工具时,心中早就有谱了。

下文来自知乎:见:https://zhuanlan.zhihu.com/p/351891001

ER图表示方法(蓝+白)

  • 实体可以用矩形表示,矩形的蓝色区域是该实体集的名字(也就是映射为数据库中的表名),矩形白色区域的是实体集所具有的属性名称。带有下划线的属性表示该实体的主键
  • 关系集:使用联系菱形表示,线段表示将实体集连接到关系集中。

下图是一个三元关系集,不论多复杂的n元关系集,我们分析实体集之间的关系都已二元关系集为基本单位。

E-R图中实体集的复合属性、多值属性的表示

  • 复合属性:分解的多个子字段在实体集采用缩进的表示方法。
  • 多值属性:属性名框在大括号内,以此表示他是一个集合
  • 派生属性:其属性名紧跟后用一个括号,表示其实质上是一个函数。
(为什么要这样?我这里表示还搞不懂~不过,我在另一篇作者的文章中找到了如下这个图,倒是有些理解了。)
数据库关系ER图

带有属性的关系集的E-R图表示

上文说到关系集是由多个实体集抽象出来的一种特殊的实体集,那么其属性的E-R图表示方法,如下图所示。

将描述型属性在一个无分割的矩形内表示,并且用虚线连接矩形和菱形。

(那,这个虚线就表示描述属性咯~)

E-R图中的基数约束表示

在关系集与实体集之间用有向直线“  ”标识 “”; 无向直线“一”表示“

一对一的关系的E-R图:例如国家首脑与国家的关系就是典型的一对一的关系,用E-R图表示如下:

(箭头代表1,一对一的关系EP图示)

一对多关系的E-R图:例如下图一名导演可以招揽多名演员拍摄电影,所以:

  • Director实体集与Actor实体集是一对多的关系,显然箭头指向Director关系集,表明参与Teamwork关系集的Director实体集的其中任意一个实体。而无向线段指向Actor实体集中可以有任意多个Actor实体.
  • 同理Director实体集和Project实体集是一对多的关系。

(一对多的表示:有方向带箭头的,表示一,用数字1标示,而无方向不带箭头的,表示"多",用数字n标示)

还有一种是多对一的关系,其实和一对多关系是一样的,只是关系集参与次序不同而已。

原文还有带约束的表示方法,不过我了解上面这些,目前就够了,不需要达到如此的专业程度,有兴趣的朋友可以看看原文,一次性学个通透。

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注