- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参考资料–关系模型与关系代数
第3章 关系数据库 3.1 关系模型及其定义 3.1.1 关系数据结构 3.1.2 关系操作概述 3.1.3 关系的完整性 3.2 关系代数 3.2.1 传统的集合运算 3.2.2 专门的关系运算 3.2.3 用关系代数表示检索的例子 3.1 关系模型及其定义 3.1.1 关系数据结构 1. 关系的数学定义 1) 域的定义:域是一组具有相同数据类型的值的集合。 2) 笛卡儿积(Cartesian Product)的定义:给定一组域D1,D2,…,Dn,这些域中可以有相同的部分,则笛卡儿积为: D1×D2×…×Dn ={(d1,d2,…dn)|di ∈Di,i=1,2,…,n}. 其中:每一个元素(d1,d2,…,dn )称为一个n元组,简称元组。元素中的每一个值di称作一个分量)。 例如给出三个域: D1 = 姓名 = {王平,李丽,张晓刚}; D2 = 性别 = {男,女}; D3 = 年龄 = {19,20}. 则D1,D2,D3的笛卡儿积为D1×D2×D3 1. 关系的数学定义 3) 关系(Relation)的定义:D1 ×D2 ×…×Dn的子集称作在域D1,D2,…,Dn上的关系,表示为: R(D1,D2,…,Dn).这里:R表示关系的名字,n是关系的目或度。 2. 关系中的基本名词 1) 元组:关系表中的每一横行称作一个元组,组成元组的元素为分量。2) 属性:关系中的每一列称为一个属性。3) 候选码、主码、全码:若关系的候选码中只包含一个属性,则称它为单属性码;若候选码是由多个属性构成的,则称为它为多属性码。若关系中只有一个候选码,且这个候选码中包括全部属性,则这种候选码为全码。4) 主属性和非主属性:关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。 3. 数据库中关系的类型 1) 基本表:关系数据库中实际存在的表,是实际存储数据的逻辑表示。2) 视图表:视图表是由基本表或其他视图表导出的表。3) 查询表:查询表是指查询结果表或查询中生成的临时表。4. 数据库中基本关系的性质1) 同一属性的数据具有同质性。2) 同一关系的属性名具有不能重复性。3) 关系中的列位置具有顺序无关性。4) 关系具有元组无冗余性。5) 关系中的元组位置具有顺序无关性。6) 关系中每一个分量都必须是不可分的数据项。 5. 关系模式的定义形式化地表示为:R(U,D,Dom,F)其中:R为关系名,它是关系的形式化表示;U为组成该关系的属性集合;D为属性组U中属性所来自的域;Dom为属性向域的映象的集合;F为属性间数据的依赖关系集合。关系模式通常可以简单记为:R(U)或 R(A1,A2,…,An).其中:R为关系名,A1,A2,…,An为属性名。 6. 关系数据库在某一应用领域中,所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。 3.1.2 关系操作概述 1. 关系操作的基本内容 关系操作包括数据查询、数据维护和数据控制三大功能:数据查询指数据检索、统计、排序、分组以及用户对信息的需求等功能;数据维护指数据增加、删除、修改等数据自身更新的功能;数据控制是为了保证数据的安全性和完整性而采用的数据存取控制及并发控制等功能。 关系操作的数据查询和数据维护功能使用关系代数中的选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)以及广义笛卡儿积( Extended Cartesian Product)8种操作。 2. 关系操作的特点 (1)关系操作语言操作一体化 具有数据定义、查询、更新和控制一体化的特点,既可以作为宿主语言嵌入到主语言中,又可以作为独立语言交互使用。 (2) 关系操作的方式是一次一集合方式 其他系统的操作是一次一记录方式,而关系操作的方式则是一次一集合方式。关系操作数据结构单一的特点,能够使其利用集合运算和关系规范化等数学理论进行优化和处理操作,但关系操作与其他系统配合时需要解决处理方式的矛盾。 (3) 关系操作语言是高度非过程化的语言 具有强大的表达能力。用户使用关系语言时,只需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。 3. 关系操作语言的种类 (1)
文档评论(0)