数据库系统原理-第四章高级数据库模型讲述.ppt

数据库系统原理-第四章高级数据库模型讲述.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统原理-第四章高级数据库模型讲述

Bad design Movies title year length studio Owns Studios name address filmtype This design states the studio of a movie twice: as an attribute and as a related entity. Page * Bad design Movies title year length studioName filmtype studioAdd This design repeats the studio’s address once for each movie and loses the address if there are temporarily no movies for a studio. Page * 4.2.3 简单性 除非有绝对需要,不要在你的设计中添加更多成分。 Holding means the ownership of a movie. It’s a unnecessary entity set without any attribute. Movies Holding Studios Represent Own Page * 4.2.4 选择正确的联系 实体集可以用多种联系连接起来,如果把每种可能的联系加到设计中,会容易造成冗余、更新异常和删除异常。 “right”? More reasonable, more natural, simpler, closer to requirement Page * 4.2.5 选择正确的元素种类 属性,还是实体集? 如果A包含的信息大于其名称本身,则用实体集 如果A对设计的作用只是其名称就可实现,则用属性。 当用属性可以实现的,尽量不要用实体集。 Page * Example: Good Beers Manfs ManfBy name Manfs deserves to be an entity set because of the nonkey attribute addr. Beers deserves to be an entity set because it is the “many” of the many-one relationship ManfBy. name addr Page * Example: Good Beers name There is no need to make the manufacturer an entity set, because we record nothing about manufacturers besides their name. manf Page * Example: Bad Beers Manfs ManfBy name Since the manufacturer is nothing but a name, and is not at the “many” end of any relationship, it should not be an entity set. name Page * 4.3 E/R模型中的约束 4.3.1 E/R模型中的键 4.3.2 E/R模型中键的表示 4.3.3 引用完整性 4.3.4 度约束 Page * 4.3.1 E/R模型中的键 实体集E的键(Key)是由一个或多个属性的集合K,对来自于E的不同实体e1和e2,他们对键K中的属性没有完全相同的值。 如果K是由多个属性组成,那么对于e1和e2虽然它们可以部分相同,但绝不会全部相同。 Page * 4.3.2 E/R模型中键的表示 在E/R图中,一个实体集键的属性用下划线标出。 Page * 简单说,引用完整性要求被“引用”的实体必须存在。 扩展E/R图中的箭头标记,使用圆箭头来表示引用完整性。 实现过程中保证引用完整性的措施: 禁止被引用实体的删除操作; 被引用实体删除,则同时删除所有引用它的实体 新增实体时,它所引用的实体必须存在 引用目标变化时,新的引用实体必须存在 4.3.3 引用完整性 Page * 引用完整性在ER图中的表示 假设R是实体集E到F的联系,可用圆箭头指向F表示不仅是多对一或一对一,而且要求与E实体对应的F实体必须存在(注意不可空)。 P88 例4.19。圆箭头分别表示:每部电影必须被一个已经存在的电影公司所拥有;每个经理必须经营一家已经存在的电影公司。 注意尖箭头表示电影公司可以在特定阶段没有经理(圆则必有)。 教材从另一角度分析:如果删除箭头所指实体集中的某个实体,则(从逻辑关系上分析)联系另一方是否也应

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档