- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3关系数据模型
数据库系统原理 第3讲 关系数据模型 华侨大学计算机系 骆炎民 本章的内容 E/R模型图对于描述数据数据结构来说既简单又合适 E/R模型不宜作为数据操作语言 目前较通用的数据库实现方法——关系模型 关系模型的优点: 数据结构(模型)唯一----关系(二维表) 支持高级编程语言SQL 本章的主要内容: 如何把E/R图转换为关系模型 关系的规范化理论----基于函数依赖优化关系模型 关系数据模型基础 基本概念 关系:二维表。通常可对应实体集,但可能对应更多信息。如实体集的关系运算结果。 属性:关系的最顶行,通常可以对应实体集的属性。但有些属性可以不对应(例如ID)。 关系模式:关系名和属性集合的组合。注意:集合和列表不同,前者无序,后者有序。属性的类型是可选元素。例如:Beers(name, manf) or Beers(name: string, manf: string) Database = collection of relations Database schema = set of all relation schemas in the database 关系数据模型基础(续) 基本概念(续) 元组:关系表中除首行外其他每一行均是一个元组。注意元组中每一个分量都有特定次序。 域:元组的每个分量具有原子性,所以其类型有一定特殊性,如不能是集合、数组等。其取之类型或者范围称之为域。 关系的等价描述:行和列均无序,每一种排列对应该关系的一种等价描述。习题3.1.2。 关系实例:一个给定关系中元组的集合。当前实例即一个用户视图。(模式和实例的区别) Why Relations? Very simple model. Often matches how we think about data. Abstract model that underlies SQL, the most important database language today. 从E/R图到关系设计 从E/R图到关系设计的必要性 关系模型更接近SQL语法背景,便于后期应用程序实现 关系模式和E/R模式一样,相对不变,但关系的实例和E/R实例一样具有可变性 关系模型便于进行相关运算 简单 从E/R图到关系模式的转换 两条基本规则 把每个实体集转化为具有同一属性集合的关系 用关系替换联系,关系的属性就是联系所连接的实体集的键集合 特例 弱实体集不能直接转化为关系 isa联系和子类要特殊处理 有时需要把两个关系合并为一个,特别是当一个关系是从实体集E转化而成,而另一个关系由E到其他实体集的一个多对一的联系转化而来 实体集到关系的转换 不考虑弱实体集等特殊情况,则转换比较简单,两个例子 教材pp.38例3.1,Movies关系没有给出模式,但给出了实例表(关系本身),Star的模式和实例表都有。 见右图。 Relation: Beers(name, manf) 联系到关系的转换 基本规则 联系R涉及的每一个实体集的键属性或键属性集都是由R转化成的关系模式的一部分 如果联系有属性,则它们也是由R转化成的关系中的属性 如果一个实体集在联系中有多个角色,则键属性也出现多次,转换为关系时为避免重名需重新命名 只要R本身的属性和与其相连的实体集的键属性有同名,就要重命名 联系到关系的转换(续) 几个例子 例3.2和3.3。关系的属性是由联系相关的实体集的键属性组成的。注意pp.39最后一段话,强调year的必要性(虽然从图3-5的实例集看不出来)。 例3.4。注意多个角色时该实体集的键属性也要出现多次,同时要避免重名。 下页实例:endwls1 Relationship - Relation 组合关系 提出背景:有时从实体集和联系转化而来的关系不一定是最优的。 如果存在E到F的多对一联系R,则按照前面讲的转化规则直接转化后关系模式E(由实体集转化)和R(由联系转化)都含有实体集E的键属性,这是E和R合并的基础 关系模式E中还包含实体集E的非键属性,关系模式R中包含F的键属性和联系R中的所有属性,这是E和R合并时要分别保留的内容 但由于是多对一,所以E的键属性就能确定以上属性,所以两个关系的元组合并时不会冗余 E到F的多对一联系R,E和R合并的实例 E到F的非多对一联系R,E和R合并产生冗余的实例 组合关系(续1) E和R的组合 组合后的模式包括E的所有属性、F的键属性和R的所有属性 根据多对一定义,E中实体e可能找不到相连的F的实体,这种情况下用空值 例3.5。 Drinkers(name, addr) and Favorite(drinker, beer) combine to make Drinker1(name, addr, favBeer) 注意其中的Fav
原创力文档


文档评论(0)