- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章实体联系模型E-R模型
概念模型是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。 矩形: 表示实体集。 椭圆: 表示属性。 菱形: 表示联系集。 线段: 将属性连接到实体集或将实体集连接到联系集。 双椭圆: 表示多值属性。 虚椭圆: 表示派生属性。 双线: 表示一个实体全部参与到联系集中。 双边框的矩形: 表示弱实体集。 双边框的菱形: 表示弱实体集对应的标识性联系. 派生属性: 这类属性的值可以从别的相关属性或实体派生出来。 例如, 学生的年龄可以通过其出生日期计算出来。 视图的设计一般从小开始,逐步扩大,直至完备,一般有下列3种可能的设计次序。 (1)自顶向下 自顶向下的视图设计先从抽象级别高、普遍的对象开始,逐步细化、具体化、特殊化。例如图书这个视图,可从一般的出版物开始,再分为书籍和期刊,再加上借阅人、购置、流通等模式。 (2)自底向上 自底向上的视图设计从具体的基本对象开始,逐步抽象化、普遍化。这相当于面向对象数据模型中的普遍化过程。 (3)由内向外 由内向外的视图设计从最基本、最明显的对象开始, 逐步扩大至有关的其他对象。以学生视图为例,先表示有关学生的基本数据,再表示诸如课外活动、兴趣小组、家庭情况等有关的其他数据。 1、局部E–R模型建立后,应对照每一个应用进行检查,确保模型能满足数据流图对数据处理的需要。 在调整中遵循的一条原则是:为了简化E-R图的处理,现实世界的事物能作为属性对待的,尽量作为属性对待。 (1)作为“属性”,不能再具有需要描述的性质。“属性”必须是不可分的数据项,不能包含其他属性。 (2)“属性”不能与其他实体具有联系,即E―R图中所表示的联系是实体之间的联系。 2、各子系统的分E–R模型设计好以后,下一步就是要将分E–R模型综合成系统总的概念模型(总E–R模型)。 一般说来,综合可以有两种方式: (1) 多个分E–R图一次集成; (2) 逐步集成,用累加的方式一次集成两个分E–R图。 第一种方式比较复杂,做起来难度较大;第二种方式每次只集成两个分E–R图,可以降低复杂度。 3、各分E–R图之间的冲突主要有三类:属性冲突、命名冲突和结构冲突。 (1) 属性冲突:包括属性值的类型、取值范围、取值单位的不同。 (2) 命名冲突:包括实体名、联系名、属性名之间异名同义,或同名异义等。 (3) 结构冲突:例如同一对象在一个局部E–R图中作为实体,而在另一个局部E–R图中作为属性,同一实体在不同的E–R图中属性个数和类型不同等。 实际还有:域冲突、约束冲突等。 ① 一个1∶1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。 如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。 ②一个1∶n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 ③一个m∶n联系转换为一个关系模式。 与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 ④三个或三个以上实体间的一个多元联系可以转换为一个关系模式。 与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 在转换中除了要遵循以上原则外, 还应注意两点: (1)命名和属性域的处理。 关系模式的命名,可以采用E―R图中原来的命名,也可以另行命名。命名应有助于对数据的理解和记忆,同时应尽可能避免重名。 如果DBMS不支持E-R图中某些属性的域,则应做相应的修改。如果用户坚持要使用原来的数据类型,那就可能导致数据库的
文档评论(0)