现在的位置: 首页 > 综合 > 正文

E-R图

2018年02月01日 ⁄ 综合 ⁄ 共 2109字 ⁄ 字号 评论关闭
需要说明的是,除了这些基本的E-R图构件以外,在实际应用当中,为了更加准确、更加形象、更加简单地描述被建模的对象,有时候也允许设计人员自定义一些E-R图的构件。在这件事情上,没有严格的规定,只要事先约定好了就可以。

实体-联系方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体的DBMS所支持的逻辑数据模型,它是各种数据模型的共同基础,因而比逻辑数据模型更一般、更抽象、更接近现实世界。另外,人们总是喜欢比较形象化的简单的东西,E-R图的简单化和形象化使得它被广泛使用。

1、用属性表示某个对象更恰当还是用实体集表示更恰当;
2、最准确地描述现实世界中某个概念是用实体集好还是用联系集好;
3、最准确地描述现实世界中某个概念是用二元联系集好还是用多元联系集好;
4、用强实体集还是弱实体集的问题。数据库中一个强实体集和依附于它的弱实体集可被视为单一的"对象",因为弱实体存在依赖于强实体;
5、在某些情况下,使用概括合适,还是使用特殊化合适。概括强调不同实体集的实体间的共性,而特殊化强调同一实体集内不同实体间的差异;
6、使用聚集是否合适。聚集将E-R图的某个部分集成为一个整体,作为单一实体集来看待,使得我们可以将聚集实体看作是一个单元,而不必关心其内部结构的细节情况。

因为设计人员的经历不同,经验的丰富程度不同,造成了E-R模式的设计是一个"仁者见仁,智者见智"的工作。所以这里只能给出设计时带有启发式的原则,至于你能不能受到启发,那就要看你自己的领悟能力了。否则如果可以明确地给出设计的方法,那么那些系统分析员们就要失业了。这又是一个涉及到"机器智能与人的智慧"的问题。
设E是具有描述性属性a1,a2,…,an的强实体集,用具有n个不同列的表E来表示这个实体集,每列同实体集E的一个属性对应。表中各行对应于实体集中的各个实体。

设A是具有属性a1,a2,…,am的弱实体集,而B是A所依赖的强实体集,且其主码包括属性b1,b2,…, bn。用表A表示实体集A,表中各列对应于以下属性集合中的各个属性:{a1,a2,…,am}∪{b1,b2,…,bn}
设R是联系集,而所有参与R的实体集的主码属性集合为{a1,a2,…,am},如果R有描述性属性,则不妨设为b1,b2,…,bn。用表R表示该联系集,表中各列对应于以下属性集合中的各个属性:{a1,a2,…,am}∪{b1,b2,…,bn}

在这个小节中,我们讲到了"表的冗余"和"表的合并",它们之间既有共同点,又有不同点。共同点是在这两种情况中它们的联系集都是多对一的,而且多的一方的实体集全部参与到联系集中;不同点是"表的冗余"这种情况是涉及标识性联系集的弱实体集,而"表的合并"这种情况是涉及多对一联系集的强实体集。当然如果是多方实体集部分参与到联系集中,也可以同样进行表的合并,但是合并后的表会在某些记录的属性上出现空值。

之所以要将E-R模式转化为表,是因为表与关系之间可以很容易形成对应。我们知道,关系数据库是基于关系的,不管是关系代数还是关系演算,所操作的对象都只能是关系。我们认为,关系和表是同一事物在两种不同视角下的不同的表现形式。前者的数学味浓一些,而后者更加直观形象。
E-R图向关系模型的转换要解决的问题就是如何将实体集和实体集之间的联系集转换为关系模式,以及如何确定这些关系模式的属性和码。

● 1、实体-联系(E-R)模型基于对现实世界的这样一种认识:世界由一组基本对象(称作实体)及这些对象间的联系组成。此模型的主要目的是用于数据库的概念结构设计,简单地说就是帮助设计数据库的E-R模式;
 2、每个实体都有描述该实体的一组属性。联系是多个实体间的相互关联。相同类型的所有实体的集合构成实体集,相同类型的所有联系的集合构成联系集;
 3、映射基数是指一个实体集中的实体通过联系集可以和另一实体集中的多少个实体相联系。还有一种约束是存在依赖,表示实体x的存在依赖于实体y的存在;
 4、从数据库的角度讲,不同实体或联系之间的差异必须用属性来表示。为了进行这样的区别,每个实体集或联系集都有一个主码。主码是一个或多个属性的集合,它们可以在实体集中唯一确定一个实体或在联系集中唯一确定一个联系;如果一个实体集的所有属性都不足以形成主码,就称该实体集为弱实体集,相反其属性组合可以构成主码的实体集为强实体集;
 5、特殊化和概括定义了一个高层实体集和多个低层实体集之间的联系。特殊化是利用高层实体集的子集来形成多个低层实体集;概括是用两个或多个低层实体集的共性形成一个高层实体集。高层实体集的属性和联系被低层实体集继承。
 6、E-R模型的一个局限就是它不能表示联系集间的联系或联系集与实体集之间的联系,解决的办法就是利用聚集。聚集是一种高度抽象,它将联系集及其相关的实体集作为一个整体看作是一个实体集;
 7、E-R模型用于数据库的概念设计阶段,产生数据库设计的E-R模式。为了从数据库的E-R设计产生数据库的关系设计,可以用表的集合来表示E-R模式中的E-R图,也就是将E-R模式转换为表。

抱歉!评论已关闭.