E-R 图,中文名称叫实体-关系图,是数据库设计所使用的重要模型。
E-R 图最早由 Peter Chen 提出,他现在是路易斯安那州立大学的教授,中文名叫陈品山,是出生于台湾的美国计算机科学家。这是他的照片:
他刚提出来 E-R 图的时候,使用矩形表示实体集,椭圆形表示属性,菱形表示关系。类似于这样:
这种表示方法叫做 Chen 方法(陈氏表示法)。有人常常把 Chen 方法当作 E-R 图的唯一的方法,我之前也以为是这样,实际上是不对的,这只是 E-R 图刚诞生时的画法,之后有各种各样的改进方法。这个方法存在的最大问题就是当一个实体存在很多属性的时候,就是产生非常多的椭圆,导致图片非常混乱,不清晰明了。在 Chen 方法的基础上,后人有做一些增补和改进,但这些改动没有改变属性用椭圆来表示这一最大的缺点,因此依然可以称之为 Chen 方法。
后来的一种比较有名的改进方法叫做 Crow's foot 方法,示例如图:
这种方式将每个实体用一个上下分割的方框来表示,上半部分写实体名称,下半部分写实体属性,类似于 UML 类图的表示方法。同时用鸦爪符号表示“……对多”或“多对……”关系,这也是 Crow's foot(乌鸦脚)这个名字的由来。这种方法使得实体和关系的表示更加清晰明了。它的详细画法如下图所示:
对于 E-R 图的多种不同表示方法,在 Abraham Silberschatz 所著的数据库系统概念(第 6 版)这本书中有一张图做了一个集锦,如下(没找到电子版的,只能拍照了):
数据库系统概念(第 6 版)这本书中也提到,在本书第 5 版及以前的版本中,使用陈氏表示法来表示 E-R 图,但随着 UML 使用的增多,第 6 版采用了更接近于 UML 类图的形式。此外它还提到了美国国家标准和技术研究院还定义过一个叫 IDEF1X 的标准,也使用鸦爪形符号,但本书没有对 IDEF1X 做具体展开。关于 IDEF1X 的内容,推荐大家观看哈尔滨工业大学战德臣老师讲授的数据库原理在线课程,在中国大学 mooc 和 B 站上都有,这门课程对 IDEF1X 做了具体讲授。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于