- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 关系数据模型 主要解决问题: 关系数据模型是什么? 如何将E/R模型转变为关系数据模型? 如何使关系模型满足一定规范形式(范式)? 3.1 关系模型的基础 关系(relation): 由若干列和行组成的一个二维表,称为一个关系,即一个表table。 表示数据结构和数据集合的一种简单方式。 一个关系有一个名称。 3.1.1 属性(attribute) 属性: 一个关系中某一列的名称,描述一列数据的含义。如Movies中的length。 一个属性有一个名称。 一个关系中的多个属性不能重名。 3.1.2 模式(schema) 关系模式(relational schema): 一个关系的名称及其一组属性的集合,称为一个“关系模式”。 表示为:关系名(属性1, 属性2, …, 属性n) 例如:movies (title, year, length, fileType) 一个数据库包含一个或多个关系模式。 一组关系模式的集合,称为一个“关系数据库模式”,或“数据库模式”。 一个关系模式中的各属性排列有次序吗? 没有。 但方便起见,一个关系设有一个“缺省次序”。 3.1.3 元组(tuple) 元组: 一个关系中除了属性标题之外的一行数据。 一个关系中可能没有元组。 一个元组(行)在每个属性(列)上有一个交叉,即一个分量(component)。 元组的表示: 按照关系模式,用逗号分割每个分量。 例:(Star Wars, 1977, 124, color ) 注意:不表示属性名称,按照关系模式中属性的次序表示各分量的值。 3.1.4 域(domain) 域: 关系模型要求每个元组的每个分量有原子性。 一个域是一种基本数据类型,如integer, char(n)/string, date, time等,或常量。 一个关系中每个属性都属于某个域,即一种基本数据类型。 原子性atomic : 没有内部结构,不能再分解的基本数据类型。 原子性往往相对而言,与软件需求相关。 3.1.5 关系的等价表示 一个关系有多种等价表示: 改变关系中属性的排列次序,即改变列次序,不改变关系的含义。注意,各分量对应各列。 改变关系中元组的排列次序,即改变行次序,不改变关系的含义。 3.1.6 关系的实例 关系的模式与元组之间的关系: 关系模式相对静态;而关系中的元组是动态的。 元组的增、删、改必须按关系模式进行。 实例(instance): 关系中的元组的集合即为该关系的一个实例。 关系的实例随时间变化,“当前实例”指的是在当前时刻,某关系中的元组。 3.2 从E/R图到关系设计 如何把E/R模型转换为关系设计? 内容: 实体集到关系的转换 E/R联系到关系的转换 弱实体集的处理 3.2.1 实体集到关系的转换 非弱实体集转换为关系设计 : 建立相同名称的关系,且具有相同属性。 3.2.2 E/R联系到关系的转换 多元联系转换为关系设计: 先转换为二元联系,再按下面方法转换。 二元联系转换为关系设计(根据多重性来处理): E1到E2的多对多联系R:R表示为一个关系,其属性是E1和E2的键属性,加上自身属性。 E1到E2的多对1联系R:R可表示为一个关系,但不是必须。 E1到E2的1对1联系R:R可表示为一个关系,但通常不表示为关系。而采用以下两种方式:? l 在E1关系中增加E2关系的键,E2作为被参照关系。 l 在E2关系中增加E1关系的键,E1作为被参照关系。 1对1联系可能被合并为一个关系。 Stars-in (title, year, starName) 两边的键属性,加上自身属性 属性可以改名,使之更清晰。 Owns (title, year, studioName) 3.2.3 处理弱实体集 弱实体集转换为关系设计 : 弱实体集E表示为一个关系,包含自身属性和F关系的键属性。 关系R不能表示为一个关系。 3.2.3 处理弱实体集 Studios (name, address) Crews (studioName, number) 联系Unit-of不能成为一个关系 3.2.3 处理弱实体集 3.4 函数依赖 用形式化方法研究一个关系中各属性之间的语义关系。 内容: 函数依赖的定义 关系的键 超键 从E/R图中发掘键 3.4 函数依赖 依赖(dependency)是数据库一个成熟的理论,涉及如何构建一个良好的关系数据库模式,以及当一个模式存在缺陷时应该如何改进。 函数依赖(functional dependency FD)是关系中‘键’概念的泛化,使用函数依赖这一概念定义关系模式的规范形式。 规范化(n
文档评论(0)