ER图是数据库建模的一大利器,也是数据库学习的一个重要的知识点,今天由浅及深的聊下ER图。
ER图中最重要的三个概念就是实体、属性和联系。实体最易理解,原子属性也不难,稍难的是联系。联系共3种:一对一,一对多,多对多,如班级和学生的关系就是一对多,一个班级里可以有多个学生,一个学生只能属于一个班级。判断联系的类型,有一个好方法,就是不论是二元联系,三元联系,还是n元联系,如果要确定某一端实体的多重度,就令其它各端实体的多重度的值为1。只要谨记这一句话,细加研究就可以甄别联系的类型。https://blog.csdn.net/zhaohuanhuanjiuqi/article/details/27826669这篇blog结合实例和图形较好解释了如何理解三元联系。三元及以上的联系用ER图表示起来不容易传达语义,用函数依赖表示更好。
以上是数据库课程的学习内容,简练且容易理解,简单的应用场景下够用了。但是稍复杂些的系统,则需要更深入的学习。
首先说实体。实体集可能包含一些子集,例如,可将学生实体集划分为本科生和研究生两类。这种情况我们采用实体集的继承和ISA联系来描述这种概念上的层次关系。这样共有3个实体集:学生,本科生,研究生,它们的主码都为stuID,其中学生存储的是学生的泛化属性,本科生、研究生存储的是各自的特殊属性,在本科生和研究生中stuID即为这两个表的主码,又同时为外码,参照学