第2章关系数据库数据库属性等PPT讲稿.ppt

上传人:石*** 文档编号:43303595 上传时间:2022-09-17 格式:PPT 页数:36 大小:2.20MB
返回 下载 相关 举报
第2章关系数据库数据库属性等PPT讲稿.ppt_第1页
第1页 / 共36页
第2章关系数据库数据库属性等PPT讲稿.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《第2章关系数据库数据库属性等PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章关系数据库数据库属性等PPT讲稿.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2章章 关系数据库数据库关系数据库数据库属性等属性等第1页,共36页,编辑于2022年,星期一2.1 关系数据结构 1二维表 在日常工作中,经常会碰到成绩册、职工表等二维表格,这些二维表的共同特点是由多个行和列组成。每个列有列名,表示了某个方面的属性,每行由多个值组成。例如,见表2.1,学生基本情况表就是一个二维表,体现了某个班级的学生基本情况,定义表名为XS。2.1.1 关系第2页,共36页,编辑于2022年,星期一2.1.1 关系 二维表具有如下特点:每个表具有表名;表由表头和若干行数据两部分构成;表头有若干列,每列都有列名;同一列的值必须取自同一个域。例如,专业只能取自该学校有的专业

2、;每一行的数据代表一个实体的信息。对二维表可以进行如下操作:增加数据。例如,向“学生基本情况表”中增加一个同学的数据(07050103,王俊,男,1989-10-1,计算机应用)。修改数据。例如,改正“学生基本情况表”中的错误数据。删除数据。例如,从“学生基本情况表”中去掉一个学生的数据。查询数据。例如,在“学生基本情况表”中按某些条件查找满足条件的学生。2关系 关系模型的数据结构非常简单,只包含单一数据结构,即关系。从用户角度看,一个关系就是一个规范化的二维表。关系模型就是用关系这种二维表格结构来表示实体及实体之间联系的模型,即关系模型是各个关系框架的集合。一个关系由关系模式和关系实例组成。

3、通常,它们分别对应于二维表的表名、表头和数据。若将表2.1的“学生基本情况表”表示成关系,则如图 2.1 所示。第3页,共36页,编辑于2022年,星期一2.1.1 关系图2.1 二维表的关系表示图 在人们日常理解中,学生是一个抽象的概念,而学生王林是一个具体的学生,是学生中的一员。在数据库领域中把学生称为实体“型”,学生王林则称为一个实体“值”或简称实体。在关系模型中,关系模式描述了一个实体型,而关系实例则是关系模型的“值”,关系实例通常由一组实体组成。以下介绍关系模型中一些常用的术语。关系:以非形式化的描述,一个关系(Relation)就是指一张二维表。例如,“学生基本情况表”就是一个关系

4、。第4页,共36页,编辑于2022年,星期一2.1.1 关系 元组:一个元组(Tuple)指二维表中的一行。例如,(07050101,王林,男,1989-3-2,计算机应用)就是一个元组。属性:一个属性(Attribute)指二维表中的一列,表中每列均有名称,即属性名。例如,“学 生基本情况表”有6列,对应6个属性:学号、姓名、性别、出生日期、专业、班级。码:码(Key)也称为键、关键字、关键码,指其值可唯一确定表中元组的属性或最小属性组合。例如,“学生基本情况表”中的“学号”属性即为码。域:域(Domain)指属性的取值范围。例如,按照学校对学生学号的编排方法,学号具有一定的范围限制,性别只

5、能取(男,女)之一等。分量:分量指元组中的一个属性值。例如,元组(07050101,王林,男,1989-3-2,计算机应用)中的“07050101”即为其分量。关系模式:关系模式是对关系“型”的描述,通常表示为:关系名(属性1,属性2,属性n)。例如,XS(学号,姓名,性别,出生日期,专业),关系名为XS,该关系包括5个属性,分别是:学号、姓名、性别、出生日期、专业。关系模型中,要求关系必须是规范化的,即关系要满足规范条件。规范条件最基本的一条就是要求关系的每个分量必须是原子项,是不可再分的数据项,即不允许出现表中表的情形。例如,表2.2的学生情况表中,出生日期是可再分的数据项,因此不符合关系

6、数据库的要求。第5页,共36页,编辑于2022年,星期一2.1.1 关系表2.2 学生情况表学 号姓 名性 别出 生 日 期专 业年月日07050101王林男198932计算机应用07050102程小明男1988115计算机应用07030201赵倪晓女198945通信工程07030202朱庆男198864通信工程07060101李运洪女199016英语07060102张美红女198989英语表2.3将关系与现实世界中的二维表格各自使用的术语进行了对照。表2.3 术语对照表关 系 术 语现实世界术语关系名表名关系模式表头关系二维表元组记录属性列属性名列名属性值列值第6页,共36页,编辑于2022

7、年,星期一2.1.2 关系的形式化描述在关系模型中,数据是以二维表的形式存在的,这个二维表就叫做关系。1域(Domain)定义2.1 域是一组具有相同数据类型的值的集合,又称为值域(用D表示)。例如,整数、实数和字符串的集合都是域。域中所包含的值的个数称为域的基数(用 m 表示)。域表示了关系中属性的取值范围。例如:D1=07050101,07050102,07030201,07030202,07060101,07060102D2=王林,程小明,赵倪晓,朱庆,李运洪,张美红D3=男,女其中,D1,D2,D3 为域名,分别表示学生关系中的学号、姓名和性别的取值范围。这3个域的基数分别是6,6,2

8、。2笛卡儿积(Cartesian Product)定义2.2 给定一组域D1,D2,Dn(它们可以包含相同的元素),D1,D2,Dn 的笛卡儿积为 D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n其中:每一个元素(d1,d2,d3,dn)称为一个 n 元组(n-tuple),简称元组(Tuple)。注意元组中的每个分量di是按序排列的,如(07050101,王林,男)(王林,07050101,男)(男,王林,07050101)。第7页,共36页,编辑于2022年,星期一2.1.2 关系的形式化描述 元组中的每一个值di 叫做一个分量(Component),分量来自相应的域(diDi

9、)。笛卡儿积也是一个集合。若Di(i=1,2,n)为有限集,其基数为mi(i=1,2,n),则笛卡儿积D1D2Dn 的基数 M(即元素(d1,d2,dn)的个数)为所有域的基数的累积,即例如,上述学生关系中姓名、性别两个域的笛卡儿积为:D1D2=(王林,男),(王林,女),(程小明,男),(程小明,女),(赵倪晓,男),(赵倪晓,女),(朱庆,男),(朱庆,女),(李运洪,男),(李运洪,女),(张美红,男),(张美红,女)其中,王林、程小明、赵倪晓、朱庆、李运洪、张美红和男、女都是分量,(王林,男),(王林,女)等是元组。该笛卡儿积的基数M=m1m2=62=12,即D1D2的元组个数为12。

10、第8页,共36页,编辑于2022年,星期一2.1.2 关系的形式化描述笛卡儿积也可用二维表的形式表示。例如,上述D1D2可表示为表2.4。表2.4 D1,D2的笛卡儿积D1D2王 林男王 林女程小明男程小明女赵倪晓男赵倪晓女朱 庆男朱 庆女李运洪男李运洪女张美红男张美红女可见,笛卡儿积实际是一个二维表,表的任意一行就是一个元组,表中的每一列来自同一个域,如表2.4中第一个分量来自D1,第二个分量来自D2。3关系(Relation)定义2.3 笛卡儿积D1D2Dn的任一子集称为域D1,D2,Dn上的关系。关系可用R(D1,D2,Dn)的形式表示,其中R为关系名,n是关系的度(Degree),也称

11、目。通常,笛卡儿积D1D2Dn的许多子集是没有实际意义的,只有其中的某些子集才有实际意义。表2.4 D1,D2的笛卡儿积D1D2王 林男王 林女程小明男程小明女赵倪晓男赵倪晓女朱 庆男朱 庆女李运洪男李运洪女张美红男张美红女 例如,表2.4所示的D1D2笛卡儿积中的许多元组都是没有实际意义的,因为一个学生的性别只有一种。因此表2.4中的一个子集才是有意义的,见表2.5,表示了学生的性别,将其取名为R1。第9页,共36页,编辑于2022年,星期一2.1.2 关系的形式化描述下面是对定义2.3的几点说明。关系中元组个数是关系的基数。如关系R1的基数为6。关系是一个二维表,表的任意一行对应一个元组,

12、表的每一列来自同一域。由于域可以相同,为了加以区别,必须为每列起一个名字,称为属性。n元关系有n个属性,属性的名字唯一。在数学上,关系是笛卡儿积的任意子集,但在数据库系统中,关系是笛卡儿积中所取的有意义的有限子集。表2.5 R1关系D1D2王 林男程小明男赵倪晓女朱 庆男李运洪女张美红女第10页,共36页,编辑于2022年,星期一2.1.3 关系的性质关系具有以下6条性质:列是同质的(Homogeneous),即每列中的分量必须是同一类型的数据;不同的列可以出自同一个域,但不同的属性必须赋予不同的属性名;列的顺序可以任意交换。交换时,应连同属性名一起交换;任意两个元组不能完全相同;关系中元组的

13、顺序可任意,即可任意交换两行的次序;分量必须取原子值,即要求每个分量都是不可再分的数据项。第11页,共36页,编辑于2022年,星期一2.1.4 关系模式在第1章已提到,在数据库中要区分“型”和“值”。关系数据库中,关系模式是“型”,关系是“值”。定义2.4 关系的描述称为关系模式(Relation Schema)。关系模式可形式化地表示为R(U,D,dom,F)其中,R为关系名;U为组成关系的属性名集合;D为属性组U中属性所来自的域;dom为属性与域之间的映象集合;F为属性间依赖关系的集合。由定义2.4可看出,关系模式是关系的框架,是对关系结构的描述。它指出了关系由哪些属性构成,属性所来自的

14、域以及属性之间的依赖关系等。关于属性间的依赖关系将在第5章讨论,本章中关系模式仅涉及关系名R、属性集合U、域D、属性到域的映像dom这4个部分,即R(U,D,dom)。关系模式通常可简记为:R(U)或R(A1,A2,An)。其中R为关系名,A1,A2,An为属性名(i=1,2,n)。而域名、属性到域的映像则常以属性的类型、数据长度来说明。例如,在学生成绩数据库(XSCJ)中,有学生(XS)、课程(KC)、学生选课(XS_KC)三个关系,其关系模式分别为:XS(学号,姓名,性别,出生日期,专业,总学分,班干否,备注)KC(课程号,课程性质,课程名,开课学期,总学时,学分)XS_KC(学号,课程号

15、,成绩)关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。关系是关系模式在某一时刻的状态或内容,关系的各种操作将不断地更新数据库中的数据。第12页,共36页,编辑于2022年,星期一2.1.5 关系数据库关系模型中,实体、实体间的联系都是以关系来表示的。例如,学生成绩数据库中,学生(XS)和课程(KC)关系是用于表示实体的,而学生选课(XS_KC)关系则用于表示“学生”实体与“课程”实体间的联系。定义2.5 在给定的应用领域,所有实体及实体之间联系的关系的集合构成一个关系数据库。例如,在研究学生选修课程的问题域中,学生(XS)、课程(KC)、学生选课(XS_KC)三个关系的集合就构成

16、学生成绩数据库。关系数据库也区分“型”和“值”。关系数据库的型即关系数据库模式,是对关系数据库结构的描述。关系数据库模式包括若干域的定义,以及在这些域上定义的若干关系模式,通常以关系数据库中包含的所有关系模式的集合来表示关系数据库模式。例如,学生成绩数据库模式即为学生(XS)、课程(KC)、学生选课(XS_KC)三个关系模式构成的集合。关系数据库的值是指关系数据库模式中的各关系模式在某一时刻对应的关系的集合。例如,若学生数据库模式中各关系模式在某一时刻对应的关系分别见表2.6、表2.7和表2.8,那么它们就是学生数据库的值。第13页,共36页,编辑于2022年,星期一2.1.5 关系数据库表2

17、.6 XS关系学 号姓 名性 别出 生 日 期专 业总 学 分班 干 否备 注07050101王 林男1989-3-2计算机应用14党员07050102程小明男1988-11-5计算机应用6是07030201赵倪晓女1989-4-5通信工程8是国家二级运动员07030202朱 庆男1988-6-4通信工程507060101李运洪女1990-1-6英语5是钢琴十级07060102张美红女1989-8-9英语5表2.7 KC关系课 程 号课 程 性 质课 程 名 称开 课 学 期总 学 时学 分101公共必修思想道德修养与法律基础1602102公共必修马克思主义基本原理2602103公共必修大学英

18、语11004201基础课程高等数学1903202基础课程计算机基础160+603203基础课程程序设计语言260+603301专业课程阅读与写作1903302专业课程通信原理2903303专业课程软件工程4602第14页,共36页,编辑于2022年,星期一2.1.5 关系数据库表2.8 XS_KC关系学 号课 程 号成 绩070501011018007050101102680705010110365070501012027507050101203820705010210145070501021038807030201101650703020120250070302012037307030202

19、1018607030202302780706010110172070601013018807060102101900706010230165第15页,共36页,编辑于2022年,星期一2.2 关系操作关系模型给出了关系操作应达到的能力说明,但不对关系数据库管理系统如何实现操作能力做具体的语法要求。因此,不同的关系数据库管理系统可以定义和开发不同的语言来实现关系操作。基本的关系操作包括查询和更新两大类,更新操作又包括插入、删除和修改3种。关系操作的特点是集合方式操作,即操作的对象和结果都是关系。关系代数、元组关系演算和域关系演算3种语言都是抽象的查询语言,它们在表达能力上是等价的。这3种语言常用

20、做评估实际数据库管理系统中的查询语言表达能力的标准和依据。实际RDBMS的查询语言除了提供关系代数或关系演算的功能外,往往还提供更多附加功能,包括集函数、算术运算等,因此,实际RDBMS的查询语言功能更强大。第16页,共36页,编辑于2022年,星期一2.3 关系完整性 2.3.1 关系的码2.1.1节中已给出了码(Key)的非形式化定义,本小节将更深入地讨论码的概念。1候选码由2.1.1节给出的定义可知,能唯一标识关系中元组的一个属性或几个属性的最小组合,称为候选码(Candidate Key),也称候选关键字、候选键或码。如学生关系中的“学号”能唯一标识每一个学生,则属性“学号”是学生关系

21、的候选码。下面给出候选码的形式化定义。定义2.6 设关系R(A1,A2,An),其属性为:A1,A2,An,属性集K为R的子集,K=(Ai,Aj,Ak),1i,j,kn。当且仅当满足下列两个条件时,K被称为候选码:唯一性。对关系R的任两个元组,其在属性集K上的值是不同的。最小性。属性集K=(Ai,Aj,Ak)是最小集,即若删除K中的任一属性,K都不满足唯一性。例如,“学生选课”关系包含属性学号、课程号、成绩,其中属性集(学号,课程号)为候选码,删除“学号”或“课程号”任一属性,都无法唯一标识选课记录。第17页,共36页,编辑于2022年,星期一2.3.1 关系的码2主码若一个关系有多个候选码,

22、则从中选择一个作为主码(Primary Key)。例如,假设在“学生”关系中学生的姓名都不重名,那么“学号”和“姓名”都可作为学生关系的候选码,可指定“学号”或“姓名”作为主码。包含在候选码中的各属性称为主属性(Prime Attribute)。非码属性(Non-Prime Attribute):不包含在任何候选码中的属性称为非码属性。在最简单的情况下,一个候选码只包含一个属性,如学生关系中的“学号”,教师关系中的“教师号”。若所有属性的组合是关系的候选码,这种情况称为全码(All-Key)。例如,设有“教师授课”关系,包含3个属性:教师号、课程号和学号。一个教师可讲授多门课程,一门课程可有多

23、个教师讲授,一个学生可以选修多门课程,一门课程可被多个学生选修。在这种情况下,教师号、课程号、学号三者之间是多对多关系,(教师号,课程号,学号)3个属性的组合是“教师授课”关系的候选码,称为全码,教师号、课程号、学号都是主属性。第18页,共36页,编辑于2022年,星期一2.3.1 关系的码3外码定义2.7 如果关系R1的属性或属性组K不是R1的主码,而是另一关系R2的主码,则称K为关系R1的外码(Foreign Key),并称关系R1为参照关系(Referencing Relation),关系R2为被参照关系(Referenced Relation)。例如,在学生选课(学号,课程号,成绩)关

24、系中,“学号”属性与学生关系的主码“学号”相对应,“课程号”属性与课程关系的主码“课程号”相对应。因此,“学号”和“课程号”属性是选课关系的外码。学生关系和课程关系为被参照关系,学生选课关系为参照关系。由外码定义可知,被参照关系的主码和参照关系的外码必须定义在同一个域上。例如,选课关系中“学号”与学生关系的主码“学号”必须定义在同一个域上,“课程号”属性与课程关系的主码“课程号”必须定义在同一个域上。并且参照关系的外码只能取被参照关系的主码所取的值,这点被称为关系的参照完整性。例如,在学生选课(学号,课程号,成绩)关系中,学号只能取在学生关系中出现的学号值。关于数据参照完整性更详细的介绍请见第

25、4章。第19页,共36页,编辑于2022年,星期一2.3.2 完整性约束关系模型的完整性规则是根据现实世界的要求,对关系的某种约束条件。可从不同角度对关系的完整性进行分类。根据完整性约束条件作用的对象,可分为:列约束、元组约束和关系约束。根据完整性定义的特征,可分为:实体完整性、用户定义完整性与参照完整性。在4.2节将具体介绍。例如,在XSCJ数据库中,将XS表作为主表,学号字段为主码;XS_KC为从表,表中的学号字段为外码,从而建立主表和从表之间的联系,即主表和从表之间应满足参照完整性的约束,此时,从表中学号字段的取值必须与主表中对应字段的值一致。第20页,共36页,编辑于2022年,星期一

26、2.4 关系代数关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式。它是用对关系的运算来表达查询的,其运算对象是关系,运算结果也是关系。关系代数用到的运算符主要包括4类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符,其中比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的。这4类运算的含义列于表2.9中。第21页,共36页,编辑于2022年,星期一2.4 关系代数表2.9 关系代数的4类运算符运算符类别记 号含 义集合运算符并差交笛卡儿积专门的关系运算符选择投影连接除法比较运算符大于大于等于等于不等于逻辑运算符非与或第22页,共36页,编辑于2022年,星期一2.

27、4 关系代数关系代数的运算可分为两类:1传统的集合运算传统的集合运算是二目运算,包括并、差、交和笛卡儿积4种运算。传统集合运算除笛卡儿积外,都要求参与运算的两个关系满足“相容性”条件。定义2.8 设两个关系R,S,若R,S满足以下两个条件:具有相同的度n;R中第i个属性和S中第i个属性来自同一个域。则称关系R,S满足“相容性”条件。设R,S为两个满足“相容性”条件的n目关系,t为元组变量,tR表示t是关系R的一个元组。可定义关系的并、差、交运算如下。(1)并(Union)关系R和关系S的并由属于R或属于S的元组组成,即R和S的所有元组合并,删去重复元组,组成一个新关系,其结果仍为一个n目关系。

28、记为RS=t|tRtS对于关系数据库,记录的插入和添加可通过并运算实现。第23页,共36页,编辑于2022年,星期一2.4 关系代数(2)差(Difference)关系R与关系S的差由属于R而不属于S的所有元组组成,即R中删去与S中相同的元组,组成一个新关系,其结果仍为一个n目关系。记为RS=t|tRtS通过差运算,可实现关系数据库记录的删除。(3)交(Intersection)关系R与关系S的交由既属于R又属于S的元组组成(即R与S中相同的元组),其结果仍为一个n目关系。记为RS=t|tRtS两个关系的并和差运算是基本运算(即不能用其他运算表示的运算),而交运算是非基本运算,它可以用差运算来

29、表示RS=R(RS)笛卡儿积对参与运算的两个关系R,S没有“相容性”条件要求。因为参与运算的是关系的元组,因此这里的笛卡儿积实际上指的是广义笛卡儿积。(4)广义笛卡儿积(Extended Cartesian Product)设n目关系R和m目关系S,R与S的广义笛卡儿积是一个(nm)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有 k2 个元组,则关系R和关系S的广义笛卡儿积有k1k2个元组,记作RS=trts|trR tsS第24页,共36页,编辑于2022年,星期一2.4 关系代数关系的广义笛卡儿积可用于两关系的连接操作(连接操作将在下一节介

30、绍)。【例【例2.1】表2.10、表2.11的两个关系R与S为相容关系,表2.12为R与S的并,表2.13为R与S的差,表2.14为R与S的交,表2.15为R与S的广义笛卡儿积。第25页,共36页,编辑于2022年,星期一2.4 关系代数表2.15 关系RSR.AR.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a2b2c2a2b2c2a1b2c2a2b2c2a2b2c2a3b3c3a1b2c2a3b3c3a2b2c22专门的关系运算传统的集合运算只是从行的角度对关系进行,而要灵活地实现关系数据库多样的查询操作,还必须引入专门的关系运算。在介绍专门的关系运算之前,为方便叙述,先

31、引入几个概念。设关系模式为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后剩余的属性组。第26页,共36页,编辑于2022年,星期一2.4 关系代数 R为n目关系,S为m目关系,trR,tsS,trts称为元组的连接(Concatenation),它是一个n+m列的元组,前n个分量为R的一个n元组,后m个

32、分量为S中的一个m元组。给定一个关系R(X,Z),X和Z为属性组,定义当tX=x时,x在R中的像集(Image Set),为Zx=tZ|tR,tX=x,它表示R中的属性组X上值为x的各元组在Z上分量的集合。以下定义选择、投影、连接和除法4个专门的关系代数运算。(1)选择(Selection)选择运算是单目运算,是根据一定的条件在给定的关系R中选取若干个元组,组成一个新关系,记为:F(R)=t|tRF(t)=真其中,为选择运算符,F为选择的条件,它是由运算对象(属性名、常数、简单函数)、算术比较运算符(,1989-1-1性别=男(XS)运算结果见表2.17。表2.17 “1987-1-1”以后出

33、生的男同学学 号姓 名性 别出 生 日 期专 业总 学 分班 干 否备 注07050101王林男1989-3-2计算机应用14党员(2)投影(Projection)投影运算也是单目运算,关系R上的投影是从R中选择出若干属性列,组成新的关系,即对关系在垂直方向进行的运算,从左到右按照指定的若干属性及顺序取出相应列,删去重复元组。记为:A(R)=tA|tR其中,A为R中的属性列,为投影运算符。第29页,共36页,编辑于2022年,星期一2.4 关系代数从其定义可看出,投影运算是从列的角度进行的运算。【例【例2.4】查询学生的学号、姓名及专业。学号,姓名,专业(XS)或1,2,5(XS)(其中,1,

34、2,5分别为学号、姓名及专业的属性列号)运算结果见表2.18。表2.18 学生学号、姓名和专业学 号姓 名专 业07050101王林计算机应用07050102程小明计算机应用07030201赵倪晓通信工程07030202朱庆通信工程07060101李运洪英语07060102张美红英语第30页,共36页,编辑于2022年,星期一2.4 关系代数(3)连接(Join)连接运算是二目运算,是从两个关系的笛卡儿积中选取满足连接条件的元组,组成新的关系。设有两个关系R(A1,A2,An)及S(B1,B2,Bm),连接属性集X包含于A1,A2,An,Y包含于B1,B2,Bm,X与Y中属性列数目相等,且对应

35、属性有共同的域。关系R和S在连接属性X和Y上的连接,就是在RS笛卡儿积中,选取X属性列上的分量与Y属性列上的分量满足“条件”的那些元组组成的新关系。记为:R S=trts|trRtsStrX tsY为真其中,是连接运算符;为算术比较运算符,也称 连接;X Y为连接条件,其中:为“=”时,称为等值连接;为“”时,称为大于连接。【例【例2.5】设有表2.10和2.11的两个关系R与S,则表2.19为R,S的等值连接(R.B=S.B)。表2.19 R与S的等值连接(R.B=S.B)R.AR.BR.CS.AS.BS.Ca2b2c2a1b2c2a2b2c2a2b2c2第31页,共36页,编辑于2022年

36、,星期一2.4 关系代数连接运算为非基本运算,可以用选择运算和广义笛卡儿积运算来表示:R S=XY(RS)在连接运算中,一种最常用的连接是自然连接。所谓自然连接就是在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉。即如果R与S具有相同的属性组Y,则自然连接可记为:RS=trts|trRtsStrY=tsY自然连接是在广义笛卡儿积RS中选出同名属性上符合相等条件的元组,再进行投影,去掉重复的同名属性,组成新的关系。【例【例2.6】设有表2.10和表2.11的两个关系R与S,则表2.20为R,S在属性B上的自然连接。表2.20 R与S在属性B上的自然连接R.AB

37、R.CS.AS.Ca2b2c2a1c2a2b2c2a2c2第32页,共36页,编辑于2022年,星期一2.4 关系代数结合例2.5和例2.6,可看出等值连接与自然连接的区别在于:等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有同名属性才能进行自然连接。等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。(4)除法(Division)除法运算是二目运算,设有关系R(X,Y)与关系S(Y,Z),其中X,Y,Z为属性集合,R中的Y与S中的Y可以有不同的属性名,但对应属性必须出自相同的域。关系R除以关系S所得的商是一

38、个新关系P(X),P是R中满足下列条件的元组在X上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记为:RS=trX|trRy(S)Yx其中,Yx为x在R中的象集,x=trX。除法运算为非基本运算,可以表示为:RS=x(R)x(x(R)S R)【例【例2.7】已知关系R和S分别见表2.21、表2.22,则RS见表2.23所示。第33页,共36页,编辑于2022年,星期一2.4 关系代数除法运算同时从行和列的角度进行运算,适合于包含“全部”之类的短语的查询。【例【例2.8】查询选修了全部公共必修课程的学生学号。学号(学号,课程号(XS_KC)课程号(课程性质=“公共必修”(KC)运算

39、结果见表2.24。表2.24 运算结果学号07050101本节介绍了8种关系代数运算,其中并、差、笛卡儿积、选择和投影是基本运算,交、连接和除法都可以用5种基本运算来表达。关系代数中,运算经过有限次复合之后形成的式子称为关系代数表达式。表2.24 运算结果学号07050101第34页,共36页,编辑于2022年,星期一2.4 关系代数【例【例2.9】查询选修了“程序设计语言”课程的学生学号、姓名和成绩。学号,姓名,成绩(XS(课程号,成绩(课程号=程序设计语言(KC)XS_KC)运算结果见表2.25。表2.25 运算结果学 号姓 名成 绩07050101王 林8207030201赵倪晓73第35页,共36页,编辑于2022年,星期一习题1试述关系模型的3个组成部分。2试述关系数据库的特点。3定义并理解下列术语,说明它们之间的联系与区别:域、笛卡儿积、关系、元组、属性 主码、候选码、外码 关系模式、关系、关系数据库4试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?5现有“出版社”和“作者”两个实体集,实体之间是多对多的联系,请自己设计适当的属性,画出E-R图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。第36页,共36页,编辑于2022年,星期一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁