数据库第2章关系数据库.ppt_第1页
数据库第2章关系数据库.ppt_第2页
数据库第2章关系数据库.ppt_第3页
数据库第2章关系数据库.ppt_第4页
数据库第2章关系数据库.ppt_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 关系数据库,2.1 关系数据结构,2.2 关系操作,2.3 关系完整性,2.4 关系代数,2.1 关系数据结构,1二维表 在日常工作中,经常会碰到成绩册、职工表等二维表格,这些二维表的共同特点是由多个行和列组成。每个列有列名,表示了某个方面的属性,每行由多个值组成。例如,见表2.1,学生基本情况表就是一个二维表,体现了某个班级的学生基本情况,定义表名为XS。,2.1.1 关系,2.1.1 关系,二维表具有如下特点: 每个表具有表名; 表由表头和若干行数据两部分构成; 表头有若干列,每列都有列名; 同一列的值必须取自同一个域。例如,专业只能取自该学校有的专业; 每一行的数据代表一个实体的信息。,2.1.1 关系,对二维表可以进行如下操作: 增加数据。例如,向“学生基本情况表”中增加一个同学的数据(07050103,王俊,男,1989-10-1,计算机应用)。 修改数据。例如,改正“学生基本情况表”中的错误数据。 删除数据。例如,从“学生基本情况表”中去掉一个学生的数据。 查询数据。例如,在“学生基本情况表”中按某些条件查找满足条件的学生。,2关系 关系模型就是用二维表格结构来表示实体及实体之间联系的模型。 二维表指含有限个不重复行的表格 关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,所以关系模型是“关系框架”的集合。 关系模型是各个关系的框架的集合,即关系模型是一些表格的格式,其中包括关系名、属性名、关键字等。 关系模型与层次模型、网状模型不同,它是建立在严格的数学概念之上的。,2.1.1 关系,在关系模型中,实体是用关系来表示的,如: 学生(学号,姓名,性别,年龄,系别) 课程(课程号,课程名,课时) 实体间的关系也是用关系来表示的,如: 学生和课程之间的关系 选课关系(学号,课程号,成绩),例如,教学数据库中教师与课程的关系模型如图所示。 教师关系 课程关系C 授课关系SC 教师课程数据库的关系模型,从各个关系的框架中,我们可以很容易看出哪两个关系之间有联系。例如: 教师关系和授课关系有公共的属性“教师号”,则表明这两个关系有联系。 而课程关系和授课关系有公共的属性“课程号”,则表明这两个关系也有联系。 至于元组之间的联系,则与具体的数据有关。只有在公共属性上具有相同属性值的元组之间才有联系。,由上例可以看出,在一个关系中可以存放两类信息: 一类是描述实体本身的信息 一类是描述实体(关系)之间的联系的信息 所以,在建立关系模型时,只要把所有的实体及其属性用关系框架来表示,同时把实体之间的关系也用关系框架来表示,就可以得到一个关系模型。 如上例中的教师课程数据库的关系模型就是这样建立的。,2.1.1 关系,2关系 关系模型的数据结构非常简单,只包含单一数据结构,即关系。从用户角度看,一个关系就是一个规范化的二维表。关系模型就是用关系这种二维表格结构来表示实体及实体之间联系的模型,即关系模型是各个关系框架的集合。 一个关系由关系模式和关系实例组成。通常,它们分别对应于二维表的表名、表头和数据。若将表2.1的“学生基本情况表”表示成关系,则如图 2.1 所示。,教学数据库的关系模型及其实例,包含五个关系:教师关系T、学生关系S、课程关系C、选课关系SC和授课关系TC,分别对应五张表。 下面以其为例,介绍关系模型中所涉及的一些基本概念。,T(教师表),TN(CN=数据库(CNO,CN(C)*TC*TNO,TN(T),S(学生表),学号,C(课程表),SC(选课表) TC(授课表),关系的定义 在关系模型中,数据是以二维表的形式存在的,这个二维表就叫做关系。 关系理论是以集合代数理论为基础的,因此,我们可以用集合代数给出二维表的“关系”定义。 为了从集合论的角度给出关系的定义,我们先引入域和笛卡尔积的概念。,2.1.1 关系,图2.1 二维表的关系表示图,在人们日常理解中,学生是一个抽象的概念,而学生王林是一个具体的学生,是学生中的一员。在数据库领域中把学生称为实体“型”,学生王林则称为一个实体“值”或简称实体。在关系模型中,关系模式描述了一个实体型,而关系实例则是关系模型的“值”,关系实例通常由一组实体组成。,2.1.1 关系, 元组:一个元组(Tuple)指二维表中的一行。例如,(07050101,王林,男,1989-3-2,计算机应用)就是一个元组。 属性:一个属性(Attribute)指二维表中的一列,表中每列均有名称,即属性名。例如,“学 生基本情况表”有6列,对应6个属性:学号、姓名、性别、出生日期、专业、班级。 码:码(Key)也称为键、关键字、关键码,指其值可唯一确定表中元组的属性或最小属性组合。例如,“学生基本情况表”中的“学号”属性即为码。 域:域(Domain)指属性的取值范围。例如,按照学校对学生学号的编排方法,学号具有一定的范围限制,性别只能取(男,女)之一等。,2.1.1 关系, 分量:分量指元组中的一个属性值。例如,元组(07050101,王林,男,1989-3-2,计算机应用)中的“07050101”即为其分量。 关系模式:关系模式是对关系“型”的描述,通常表示为:关系名(属性1,属性2,属性n)。例如,XS(学号,姓名,性别,出生日期,专业),关系名为XS,该关系包括5个属性,分别是:学号、姓名、性别、出生日期、专业。,2.1.1 关系,关系模型中,要求关系必须是规范化的,即关系要满足规范条件。规范条件最基本的一条就是要求关系的每个分量必须是原子项,是不可再分的数据项,即不允许出现表中表的情形。 例如,表2.2的学生情况表中,出生日期是可再分的数据项,因此不符合关系数据库的要求。,表2.2 学生情况表,2.1.1 关系,表2.3将关系与现实世界中的二维表格各自使用的术语进行了对照。,表2.3 术语对照表,2.1.2 关系的形式化描述,在关系模型中,数据是以二维表的形式存在的,这个二维表就叫做关系。 1域(Domain) 定义2.1 域是一组具有相同数据类型的值的集合,又称为值域(用D表示)。 例如,整数、实数和字符串的集合都是域。,2.1.2 关系的形式化描述,域中所包含的值的个数称为域的基数(用 m 表示)。域表示了关系中属性的取值范围。例如: D1=07050101,07050102 ,07030201,07030202,07060101,07060102 D2=王林,程小明,赵倪晓,朱庆,李运洪,张美红 D3=男,女 其中,D1,D2,D3 为域名,分别表示学生关系中的学号、姓名和性别的取值范围。这3个域的基数分别是6,6,2。,笛卡尔积(Cartesian Product),给定一组域D1,D2,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,Dn的笛卡尔积为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n。 由定义可以看出,笛卡尔积也是一个集合(n属性)。,例中有两个域 D1=学生=李力,王平,刘伟 D2=课程=软件工程,操作系统,数据库,=(李力,软件工程),(李力,操作系统,(李力,数据库), (王平,软件工程),(王平,操作系统,(王平,数据库), (刘伟,软件工程),(刘伟,操作系统,(刘伟,数据库),D1D2共有9个元组; 9个元组构成一张表格:,由上例可以看出,笛卡尔积实际是一个二维表,表的框架由域构成,表的任意一行就是一个元组,表中的每一列来自同一域,如第一个分量来自D1,第二个分量来自D2,其中: 1. 元素中的每一个di叫做一个分量(Component),来自相应的域(diDi) 2. 每一个元素(d1,d2,d3,dn)叫做一个n元组(n-tuple),简称元组(Tuple)。但元组不是di的集合,元组的每个分量(di)是按序排列的。如: (1,2,3)(2,3,1)(1,3,2); 而集合中的元素是没有排序次序的,如(1,2,3)=(2,3,1)=(1,3,2)。,D1,D2,Dn的笛卡尔积为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n。,3. 若Di(i=1,2,n)为有限集,Di中的集合元素个数称为Di的基数,用mi(i=1,2,n)表示,则笛卡尔积D1D2Dn的基数M(即元素(d1,d2,dn)的个数)为所有域的基数的累乘之积,即 M=,关系(Relation) 笛卡尔积D1D2Dn的任一子集称为定义在域D1,D2,Dn上的n元关系(Relation) 可用R(D1,D2Dn)表示,如上例D1D2笛卡尔积的子集可以构成学生选课关系T1,如右表:,几点说明: 1. R为关系名,n称为关系的目,元或度(Degree)。 当n=1时,称为单元关系。 当n=2时,称为二元关系。 当n=n时,称为n元关系。 如上例为二元关系,关系名为T。,结论:关系是一个二维表,表的每行对应一个元组,表的列对应属性,则上例中的关系写作:选课(学生,课程),描写大学生的关系可写作: 学生(学生姓名,籍贯,年龄,性别),2. 可以把关系看成一个二维表。其中, (1)表的框架由域Di(i=1,2,n)构成; (2)表的任意一行对应一个元组; (3)表的每一列来自同一域; (4)域可以相同,为了加以区别,每列起一个名字,称为属性,n目关系有n个属性,属性的名字唯一,属性的取值范围Di(i=1,2,n)称为值域 (5)具有相同关系框架的关系成为同类关系,关系的性质 (1)关系中不允许出现相同的元组。 (2)关系中元组的顺序(即行序)是无关紧要的,在一个关系中可以任意交换两行的次序。,(3)关系中属性的顺序是无关紧要的,即列的顺序可以任意交换。,而作如下交换时,不交换属性名,只交换属性列中的值,则得到不同的关系,,(4)关系中各个属性必须有不同的名字,不同的属性可来自同一个域,即它们的分量可以取自同一个域。 例如,有如下表中关系,职业与兼职是两个不同的属性,但它们取自同一个域职业教师,工人,辅导员。,(5)关系中每一分量必须是不可分的数据项,或者说所有属性值都是原子的,即是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,即不可“表中有表”。满足此条件的关系称为规范化关系,否则称为非规范化关系。 例如,在左表中,籍贯含有省、市县两项,出现了“表中有表”的现象,则为非规范化关系,而把籍贯分成省、市县两列,将其规范化,如右表所示。,在关系模型中,关系可进一步定义为: 定义在域D1,D2,Dn(不要求完全相异)上的关系由关系头(Heading)和关系体(Body)组成。 关系头:由属性名A1,A2,An的集合组成,每个属性Ai正好对应一个域Di(i=1,2,n),关系头,也称关系框架,相对固定,是关系的数据结构的描述。 关系体:是指关系结构中的内容或者数据,并非固定不变,它随元组的建立、删除或修改而变化。,关系的描述称为关系模式 一个关系模式应当是一个五元组,它可以形式化地表示为:R(U,D,DOM,F)。 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性间域的映象集合,F为属性间数据的依赖关系集合 一般表示为:关系名(属性1,属性2,属性n),关系模式:对关系的描述,关系和关系模式的区别,关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。 数据模式实质为使用数据模型对问题的模拟 如:学生(学号,姓名,性别,年龄,系别) 值(实例)反映数据库在某时刻的状态 如: (938402,张山,男,18,计算机),关系数据库,关系数据库模式即为关系数据库的型,是对关系数据库的描述,对应于关系模式的集合。 关系数据库的值也称为关系数据库,是关系的集合,是指关系数据库模式中的各关系模式在某一时刻对应的关系的集合。 关系数据库模式与关系数据库通常统称为关系数据库。,例如,若学生数据库模式中各关系模式在某一时刻对应的关系分别见表2.6、表2.7和表2.8,那么它们就是学生数据库的值。,关系的键(码) 能唯一标识关系中元组的属性或属性集,则称该属性或属性集为候选键(Candidate Key),也称候选关键字或候选码。如: “学生关系”中的学号能唯一标识每一个学生,则属性学号是学生关系的候选键。 在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选键。,超码是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中惟一的标识一个实体。 候选码:候选码即最小超码。 主码:若一个关系有多个候选码,则选定其中一个为主码。主码的属性称为主属性。,2.1.5 关系数据库,表2.6 XS关系,2.1.5 关系数据库,表2.7 KC关系,2.1.5 关系数据库,表2.8 XS_KC关系,2.2 关系操作,关系模型给出了关系操作应达到的能力说明,但不对关系数据库管理系统如何实现操作能力做具体的语法要求。因此,不同的关系数据库管理系统可以定义和开发不同的语言来实现关系操作。 基本的关系操作包括查询和更新两大类,更新操作又包括插入、删除和修改3种。关系操作的特点是集合方式操作,即操作的对象和结果都是关系。 关系代数、元组关系演算和域关系演算3种语言都是抽象的查询语言,它们在表达能力上是等价的。这3种语言常用做评估实际数据库管理系统中的查询语言表达能力的标准和依据。实际RDBMS的查询语言除了提供关系代数或关系演算的功能外,往往还提供更多附加功能,包括集函数、算术运算等,因此,实际RDBMS的查询语言功能更强大。,关系模型组成,关系模型由三部分组成: 数据结构 按二维表形式表示的,由行和列组成。 关系操作 关系的完整性。,1. 实体完整性(Entity Integrity) 实体完整性是指主关系键的值不能为空或部分为空。 关系模型中的一个元组对应一个实体,一个关系则对应一个实体集。 例如,一条学生记录对应着一个学生,学生关系对应着学生的集合。,现实世界中的实体是可区分的,即它们具有某种唯一性标识。与此相对应,关系模型中以主关系键来唯一标识元组。 例如,学生关系中的属性“学号”可以唯一标识一个元组,也可以唯一标识学生实体。,如果主关系键中的值为空或部分为空,即主属性为空,则不符合关系键的定义条件,不能唯一标识元组及与其相对应的实体。这就说明存在不可区分的实体,从而与现实世界中的实体是可以区分的事实相矛盾。因此主关系键的值不能为空或部分为空。 例如,学生关系中的主关系键“学号”不能为空;选课关系中的主关系键“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空。,2.参照完整性(Referential integrity) 参照完整性即是有关关系之间能否正确进行联系的规则 外码是两个表能否正确进行联系的关键。 定义24外码的定义:设F是基本关系R的一个或一组属性,但不是关系R的主码,另有关系S,关系S的主码为Ks,若F与Ks相对应,则称F是基本关系R的外码。,如果关系R的外部关系键(外码)F与关系S的主关系键Ks相符,则F的每个值或者等于S中主关系键Ks的某一个值,或者取空值。,例:系别关系中的属性“系别”是学生关系外部关系键。 学生: 系别关系: 如图所示,学生关系中某个学生(如s1或s2)“系别”的取值,必须在参照的系别关系中主关系键“系别”的值中能够找到,否则表示把该学生分配到一个不存在的部门中,显然不符合语义。 如果某个学生(如s11)“系别”取空值,则表示该学生尚未分配到任何一个系。否则,它只能取专业关系中某个元组的专业号值。,S(学生关系) D(系别关系) 学生表和系别表,例:学生选课由以下三个关系表示: 学生(学号,姓名,家庭地址,出生日期,班级) 课程(课程号,课程名,课程描述) 选课(学号,课程号,成绩) 在选课关系中,如果按照参照完整性规则,选课关系中的外部关系键“学号”和“课程号”可以取空值或者取被参照关系中已经存在的值。但由于“学号”和“课程号”是选课关系中主属性,根据实体完整性规则,两个属性都不能为空。所以选课关系中的外部关系键“学号”和“课程号”中能取被参照关系中已经存在的值。,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性。任何关系数据库系统都应该支持这两类完整性。 除此之外,不同的关系数据库系统由于应用环境的不同,往往还需要一些特殊的约束条件,这就是用户定义完整性。,3. 用户定义完整性(User-defined Integrity) 用户定义完整性是针对某一具体关系数据库的约束条件。 它反映某一具体应用所涉及的数据必须满足的语义要求。 例如,属性值根据实际需要,要具备一些约束条件,如选课关系中成绩不能为负数;某些数据的输入格式要有一些限制等关系模型应该提供定义和检验这类完整性的机制,以便用统一的、系统的方法处理它们,而不要由应用程序承担这一功能。,关系运算,关系代数是对关系进行集合代数运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。 传统的集合运算:把关系看成元组的集合,以元组作为集合中元素来进行运算,其运算是从关系的“水平”方向即行的角度进行的。 如并、交、差、笛传尔积等运算 专门的关系运算:不仅涉及行运算,也涉及列运算 如选择、投影、连接、除。,关系代数运算符,关系代数的运算对象是关系,运算结果也是关系,关系代数用到的运算符主要包括四类,见表2.9: 集合运算符:(并),-(差),(交),X(广义笛卡尔积); 专门的关系运算符:(选择),(投影),(连接),*(自然连接),(除); 算术比较运算符:(大于),(大于等于),(小于),(小于等于),=(等于),(不等于); 逻辑运算符:(与),(或),(非),传统的集合运算,对两个关系的集合运算传统的集合运算是二目运算,是在两个关系中进行的。 但是并不是任意的两个关系都能进行这种集合运算,而是要在两个满足一定条件的关系中进行运算。那么,对关系有什么要求呢?下面先看一个定义。,定义2.8: 设给定两个关系R、S,若满足: () 具有相同的度(目)n; () R中第i个属性和S中第i个属性必须来自同一个域。则说关系R、S是相容的。 除笛卡尔积外,要求参加运算的关系必须满足上述的相容性定义。,1. 并(Union) 关系R和关系S的并由属于R或属于S的元组组成,即R和S的所有元组合并,删去重复元组,组成一个新关系,其结果仍为n目关系。记作: RS=t|tRtS 对于关系数据库,记录的插入和添加可通过并运算实现。,2. 差(Difference) 关系R与关系S的差由属于R而不属于S的所有元组组成,即R中删去与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: R-S=t|tRtS 通过差运算,可实现关系数据库记录的删除。,3. 交(Intersection) 关系R与关系S的交由既属于R又属于S的元组组成,即R与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: RS=t|tR tS 如果两个关系没有相同的元组,那么它们的交为空。 两个关系的并和差运算为基本运算(即不能用其他运算表达的运算),而交运算为非基本运算,交运算可以用差运算来表示: RS=R-(R-S),4. 广义笛卡尔积(Extended Cartesian Product) 两个分别为n目和m目关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1*k2个元组,记作 RS=trts| trR,tsS 关系的广义笛卡尔积可用于两关系的连接操作(连接操作将在一节中介绍)。,【例】 如图 (a)、(b)所示的两个关系R与S为相容关系,(c)为R与S 的并,(d)为R与S的交,(e)为R与S的差,(f)为R与S的广义笛卡尔积。 R S (a) (b),RS R-S (c) (d) RS (e),RS,(f) 传统的集合运算,由于传统的集合运算,只是从行的角度进行,而要灵活地实现关系数据库多样的查询操作,必须引入专门的关系运算。,专门的关系运算,在介绍专门的关系运算之前,为方便叙述,先引入几个概念。 设关系模式为R(A1,A2,An),它的一个关系为R,tR表示t是R的一个元组,tAi则表示元组t相对于属性Ai的分量。 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或域列,tA=tAi1,tAi2,tAik表示元组t在属性列A上各分量构成的子集; 则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。, R为n目关系,S为m目关系,trR,tsS, tr ts称为元组的连接(Concatenation),它是一个n+m列的元组,前n个分量为R的一个n元组,后m个分量为S中的一个m元组。 给定一个关系R(X,Z),X和Z为属性组,定义当tX=x时,x在R中的像集(Image Set),为Zx= tZ|tR,tX=x,它表示R中的属性组X上值为x的各元组在Z上分量的集合。,T(教师表),以下例题均是以教学数据库所示的五个关系为例进行运算。,S(学生表),C(课程表),SC(选课表) TC(授课表),1. 选取(Selection) 选取运算是单目运算,是根据一定的条件在给定的关系R中选取若干个元组,组成一个新关系,记作: F(R)=t|tRF(t)为真 其中,为选取运算符,F为选取的条件,它由运算对象(属性名、常数、简单函数)、算术比较运算符( ,=,)和逻辑运算符( )连接起来的逻辑表达式,结果为逻辑值“真”或“假”。 选取运算实际上是从关系R中选取使逻辑表达式为真的元组,是从行的角度进行的运算。,例:查询计算机系的全体学生。 DEPT=计算机 (S)或 5=计算机 (S)(其中5为DEPT的属性序号) 结果右图所示。,例: 查询工资高于1000元的男教师。 (SAL1000) (SEX=男) (T) 结果如图所示。 注意:字符型数据的值应该使用单引号括起来,例如,计算机,男。,2. 投影(Projection) 投影运算也是单目运算,关系R上的投影是从R中选择出若干属性列,组成新的关系,即对关系在垂直方向进行的运算,从左到右按照指定的若干属性及顺序取出相应列,删去重复元组。记作: A(R)=tA|tR 其中A为R中的属性列,为投影运算符。 从其定义可看出,投影运算是从列的角度进行的运算,这正是选取运算和投影运算的区别所在。选取运算是从关系的水平方向上进行运算的,而投影运算则是从关系的垂直方向上进行的。,例: 查询教师的姓名,教师编号及其职称。 TN,TNO,PROF(T)或 2,1,5(T) (其中2,1,5分别为TN、TNO和PROF的属性序号) 结果右图所示 上例表明, 投影运算可以改变 关系的属性次序,例: 查询教师关系中有哪些系。 DEPT(T) 结果如右图所示 由该例可以看出,投影后取消了某些属性列后,就可能出现重复行,应该取消这些完全相同的行。所以投影之后,不但减少了属性,元组也可能减少,新关系与原关系不相容。,例: 查询讲授C5课程的教师号。 TNO(CNO=C5(TC) 结果如右图所示。 本例中选取运算和投影运算相结合,先在授课表中选取满足条件的元组,再于TNO属性上进行投影。,3. 连接(Join) 连接运算是二目运算,是从两个关系的笛卡尔积中选取满足连接条件的元组,组成新的关系。,设关系R(A1,A2,An)及S(B1,B2,Bm),连接属性集X包含于A1,A2,An,及Y包含于B1,B2,Bm,X与Y中属性列数目相等,且相对应属性有共同的域。若Z=A1,A2An/X (/X:去掉X之外的属性) 及W=B1,B2Bm/Y,则 R及S可表示为R(Z,X),S(W,Y) 关系R和S在连接属性X和Y上的连接,就是以RS笛卡尔积中,选取X属性列上的分量与Y属性列上的分量满足给定比较条件的那些元组,也就是在RS上选取在连接属性X,Y上满足条件的子集,组成新的关系。新关系的度为n+m。,记作: RS=t rts |trRtsStrXtsY为真 XY 其中,是连接运算符,为算术比较运算符,也称连接; XY为连接条件; 为“=”时,称为等值连接; 为“”时,称为大于连接。 连接运算为非基本运算,可以用选取运算和广义笛卡尔积运算来表示: RS=xy(RS),在连接运算中,一种最常用的连接是自然连接。 所谓自然连接就是在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉。即如果R与S具有相同的属性组Y,则自然连接可记作: R*S=t rts |trRtsStrY=tsY 自然连接是在广义笛卡尔积RS中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。,例: 如图(a)、(b)所示的两个关系R与S,(c)为R和S的大于连接(CD),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。 R S (a) (b),大于连接(CD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论