关系数据库理论基础_第1页
关系数据库理论基础_第2页
关系数据库理论基础_第3页
关系数据库理论基础_第4页
关系数据库理论基础_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

关系数据库理论基础第一页,共九十九页,2022年,8月28日2第二章关系数据库基础2.1关系模型2.2关系的完整性2.3关系代数2.4小结第二页,共九十九页,2022年,8月28日3了解关系的数学定义、关系数据语言掌握关系的完整性理解关系模型的运算理论掌握关系代数的五个基本操作,四个组合操作掌握关系代数表达式了解关系代数表达式的优化【要求】第二章关系数据库基础第三页,共九十九页,2022年,8月28日42.1关系模型数据结构2.1关系模型2.1.1关系模型概述2.1.2关系数据结构定义与术语2.1.3关系基本性质2.1.4关系模型的优点第四页,共九十九页,2022年,8月28日52.1.1关系模型概述系统而严格地提出关系模型的是美国IBM公司SanJose研究室的1970年提出关系数据模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式1974年提出了关系的BC范式第五页,共九十九页,2022年,8月28日6

△关系模型组成

关系操作集合关系完整性约束2.1.1关系模型概述用关系模型作为数据组织方式的数据库称为关系数据库关系数据库应用数学方法处理数据库中的数据80年代后,关系数据库系统成为最重要、最流行的数据库系统典型的关系数据库管理系统:ORACLE、SYBASE、SQLSERVER、DB2等关系数据结构第六页,共九十九页,2022年,8月28日71、域(Domain)

2、笛卡尔积(CartesianProduct)

3、关系(Relation)2.1.2关系数据结构定义与术语第七页,共九十九页,2022年,8月28日81、域(Domain)域是一组具有相同数据类型的值的集合。例:整数、实数介于某个取值范围的整数指定长度的字符串集合学生性别的域是{男,女}D1={男,女}学生成绩的集合是0~100的整数集合。D2=(0,1,2,…100}介于某个取值范围的日期2.1.2关系数据结构定义与术语(续)第八页,共九十九页,2022年,8月28日92、笛卡尔积(CartesianProduct)1)笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。

D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}所有域的所有取值的一个组合不能重复笛卡尔积可表示为一个二维表。表中的每列对应一个域。2.1.2关系数据结构定义与术语(续)第九页,共九十九页,2022年,8月28日10例1:D1导师域

D2专业域

D3研究生域D1D2D3张清玫计算机李勇刘逸信息刘晨王敏D1xD2D3D1xD2xD3张清玫计算机李勇张清玫计算机李勇刘逸计算机x刘晨=刘逸计算机李勇张清玫信息王敏张清玫信息李勇刘逸信息刘逸信息李勇张清玫计算机刘晨刘逸计算机刘晨张清玫信息刘晨刘逸信息刘晨张清玫计算机王敏刘逸计算机王敏张清玫信息王敏刘逸信息王敏2.1.2关系数据结构定义与术语(续)第十页,共九十九页,2022年,8月28日112)元组(Tuple):笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple),简称元组。二维表中的每行对应一个元组,3)分量(Component)笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量。2.1.2关系的数学定义与术语(续)第十一页,共九十九页,2022年,8月28日124)基数(Cardinalnumber):元组的个数若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:在上例中,基数:2×2×3=12,即D1×D2×D3共有2×2×3=12个元组5)笛卡尔积的表示方法笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。2.1.2关系数据结构定义与术语(续)第十二页,共九十九页,2022年,8月28日131)定义:D1×D2×…×Dn的子集称为在域D1,D2,…Dn上的关系。记为:R(D1,D2,…Dn)D1XD2XD3张清玫计算机李勇刘逸计算机李勇张清玫信息李勇刘逸信息李勇张清玫计算机刘晨刘逸计算机刘晨张清玫信息刘晨刘逸信息刘晨张清玫计算机王敏刘逸计算机王敏张清玫信息王敏刘逸信息王敏R:关系名n:关系的目或度(Degree)3、关系2.1.2关系数据结构定义与术语(续)注意:关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的,在笛卡尔积中取出有实际意义的元组来构造关系。第十三页,共九十九页,2022年,8月28日14举例:2.1.2关系数据结构定义与术语(续)关系的表示:二维表,表的每行对应一个元组,表的每列对应一个域。关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。n目关系必有n个属性。第十四页,共九十九页,2022年,8月28日15候选码(Candidatekey)能惟一标识一个元组,且又不含有多余属性的属性集.在最简单的情况下,候选码只包含一个属性。全码(All-key)在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码。主码(Primarykey)若一个关系有多个候选码,则选定其中一个为主码候选码的诸属性称为主属性(Primeattribute),反之为非主属性(Non-keyattribute)2)码2.1.2关系数据结构定义与术语(续)第十五页,共九十九页,2022年,8月28日162.1.3关系基本性质1、列是同质的(Homogeneous)每一列中的分量是同一类型的数据,来自同一个域2、不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名3、行、列的顺序无所谓:可以任意交换4、任意两个元组不能完全相同由笛卡尔积的性质决定(关系中用主码标识元组)5、分量必须取原子值:每一个分量必须是不可分的数据项。这是规范条件中最基本的一条第十六页,共九十九页,2022年,8月28日17举例:若属性A1,A2分别在域D1,D2中取值(D1={1,2,3},D2={a,b}),问:R1,R2,R3是否为关系?R1是关系R2

,R3

不是关系2.1.3关系基本性质(续)第十七页,共九十九页,2022年,8月28日182.1.4关系模型的优点关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系表示可表示多对多网状关系利用公共属性连接语言表达简练第十八页,共九十九页,2022年,8月28日192.2、关系完整性2.2.1关系的完整性2.2.2实体完整性2.2.3参照完整性2.2.4用户定义的完整性第十九页,共九十九页,2022年,8月28日202.2.1关系的完整性关系模型的数据完整性规则是对关系的某种约束条件保证数据库的数据与现实世界的一致性。即:防止数据库中出现不符合语义的数据。完整性约束是关系数据库模型的重要组成部分。由系统提供定义和检验这类完整性的机制(非应用程序),并且提供对违反约束的处理过程。第二十页,共九十九页,2022年,8月28日212.2.1关系的完整性(续)

关系模型中三类完整性约束:实体完整性参照完整性用户定义的完整性实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,由关系系统自动支持。第二十一页,共九十九页,2022年,8月28日222.2.2实体完整性(EntityIntegrity)实体完整性规则:

(1)主码惟一标识一元组△用主码实现关系定义中“表中任意两行(元组)不能相同的约束。(2)主码不能取空值△空值:“不知道”或“无意义”的值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体。“学号+课程号”为主码,则两个属性都不能取空值。2.2.2实体完整性(EntityIntegrity)——对主码的约束第二十二页,共九十九页,2022年,8月28日23关系模型必须遵守实体完整性规则的原因:(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。(2)现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。关系模型中以主码作为唯一性标识。2.2.2实体完整性(续)第二十三页,共九十九页,2022年,8月28日242.2.3参照完整性(ReferentialIntegrity)1、关系间的引用2、外码3、参照完整性规则第二十四页,共九十九页,2022年,8月28日25

1、关系间的引用

在关系模型中实体及实体间的联系都是用关系来描述的。参照关系被参照关系2.2.3参照完整性(续)第二十五页,共九十九页,2022年,8月28日26例:学生、课程、学生与课程之间的多对多联系

参照关系被参照关系被参照关系2.2.3参照完整性(续)第二十六页,共九十九页,2022年,8月28日27若一个关系R中包含有另一个关系S的主码所对应的属性组F,则称F为关系R的外码。关系模型中关系(表)之间的联系:反映现实世界中事物之间的联系,通过一个表的主码和另一个表的外码来实现2、外码2.2.3参照完整性(续)第二十七页,共九十九页,2022年,8月28日283、参照完整性规则——对外码的约束2.2.3参照完整性(续)

设:F是关系R的一个或一组属性,但不是关系R的码。如果F与关系S的主码Ks相对应,则F是关系R的外码,关系R称为参照关系(ReferencingRelation),关系S称为被参照关系(ReferencedRelation)或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。第二十八页,共九十九页,2022年,8月28日29

学生关系中每个元组的“班号”属性只取下面两类值:(1)空值:表示尚未给该学生分配班级(2)非空值:这时该值必须取被引用关系的主码值。即班级关系中某个元组的“班号”值,表示该学生不可能分配到一个不存在的专业中。(3)外码是否为空值视具体情况而定。在关系模式中,若外码是该模式的主码中的成分(主属性)时,不允许为空值。如:成绩关系中的“学号”学生:班级:成绩:2.2.3参照完整性(续)第二十九页,共九十九页,2022年,8月28日30如:学生(学号,姓名,性别,专业号,年龄,班长),班长为外码“班长”属性值可以取两类值:(1)空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;(2)非空值,这时该值必须是本关系中某个元组的学号值。特别提示:参照关系R和被参照S不一定是不同的关系,主码和外码也可以是不同的属性名2.2.3参照完整性(续)第三十页,共九十九页,2022年,8月28日312.2.4用户定义的完整性一种与应用密切相关的数据完整性约束,如某个属性的值必须唯一某个属性的取值必须在某个范围内某些属性值之间应该满足一定的函数关系等

类似以上的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求而提出的例:课程(课程号,课程名,学分)“课程名”属性必须取唯一值非主属性“课程名”也不能取空值“学分”属性只能取值{1,2,3,4}第三十一页,共九十九页,2022年,8月28日322.3关系数据操作

2.3.1常用的关系操作

2.2.2关系操作的特点

2.2.3关系操作语言(DML)第三十二页,共九十九页,2022年,8月28日33查询的表达能力是其中最主要的部分查询:查询关系表内的数据选择、投影、连接、除、并、交、差数据更新:插入、删除、修改2.3.1常用的关系操作第三十三页,共九十九页,2022年,8月28日34关系操作的对象和结果都是集合。非关系数据模型的数据操作方式:一次一记录文件系统的数据操作方式2.3.2关系操作的特点第三十四页,共九十九页,2022年,8月28日35对关系模型中数据操作的语言称为关系操作语言。数据库管理系统提供的用户接口,用户操作数据库的手段。

关系代数语言

用对关系的运算来表达查询要求。典型代表:ISBL关系演算语言:用谓词来表达查询要求元组关系演算语言谓词变元的基本对象是元组变量。典型代表:APLHA,QUEL域关系演算语言谓词变元的基本对象是域变量。典型代表:QBE具有关系代数和关系演算双重特点的语言典型代表:SQL2.3.3关系操作语言(DML)第三十五页,共九十九页,2022年,8月28日362.4关系代数2.4.1关系运算体系2.4.2传统的集合运算2.4.3专门的关系运算2.4.4关系代数表达式2.4.5综合举例2.4.6

关系运算的安全限制及关系代数的优化

第三十六页,共九十九页,2022年,8月28日372.4.1概述2.4.1关系运算体系1、关系运算体系2、关系代数运算的三要素3、关系代数运算的分类及运算符4、表示记号第三十七页,共九十九页,2022年,8月28日381、关系运算体系

以关系为运算对象的一组运算符及其对应运算规则合称为关系运算体系。

△对关系数据模型的任何操作都可以表示成为一个关系运算表达式。2.4.1关系运算体系(续)第三十八页,共九十九页,2022年,8月28日392、关系代数运算的三要素运算对象:关系运算结果:关系运算符:四类集合运算符:将关系看成元组的集合专门的关系运算符:不仅涉及行而且涉及列算术比较符:辅助专门的关系运算符进行操作逻辑运算符:辅助专门的关系运算符进行操作2.4.1关系运算体系(续)第三十九页,共九十九页,2022年,8月28日40集合运算符∪-∩×并差交广义笛卡尔积比较运算符>≥<≤=≠大于大于等于小于小于等于等于不等于运算符含义运算符含义专门的关系运算符σπ

÷选择投影连接除逻辑运算符∧∨非与或3、关系代数运算的分类及运算符2.4.1关系运算体系(续)第四十页,共九十九页,2022年,8月28日41R:关系,关系模式为R(A1,A2,…,An)t:元组,tR:表示t是R的一个元组

t[Ai]:表示元组t中相应于属性Ai的一个分量4、表示记号

2.4.1关系运算体系(续)第四十一页,共九十九页,2022年,8月28日422.4.2传统的集合运算1、并2、交3、差4、广义笛卡尔积第四十二页,共九十九页,2022年,8月28日43关系R和S具有相同的元(即两个关系都有n个属性)相应的属性取自同一个域。即:关系R第i个属性与另一关系S的第i个属性具有相同的域(属性名可以不同)则称R、S具有相容可并性。(1≤i≤n)集合运算的相容可并性

2.4.2传统的集合运算第四十三页,共九十九页,2022年,8月28日441、并(Union)相容可并的两个关系R,S的合并,是由属于R或属于S(或属于两者)的所有元组t(不计重复元组)组成的一个新的关系。新关系具有和R相同的属性名集合。R∪S

为n元关系,由属于R或属于S的元组组成

R∪S={t|t

R∨tS}2.4.2传统的集合运算(续)第四十四页,共九十九页,2022年,8月28日45ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a2b2c1a1b3c2ABCa1b2c2a1b3c2a2b2c1RSR∪S

例:2.4.2传统的集合运算(续)第四十五页,共九十九页,2022年,8月28日462、差(Difference)相容可并

的两个关系R,S的差,是由属于R而不属于S的所有元组t组成的一个新的关系。新关系具有和R相同的属性名集合。R-S

为n元关系,由属于R而不属于S的所有元组组成

R-S={t|tR∧tS}2.4.2传统的集合运算(续)第四十六页,共九十九页,2022年,8月28日47ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S

例:2.4.2传统的集合运算(续)第四十七页,共九十九页,2022年,8月28日483、交(Intersection)相容可并的两个关系R,S的相交,是由既属于R又属于S的所有元组t组成的一个新的关系。新关系具有和R相同的属性名集合。R∩S仍为n元关系,由既属于R又属于S的元组组成

R∩S={t|t

R∧tS} R∩S=R–(R-S)2.4.2传统的集合运算(续)第四十八页,共九十九页,2022年,8月28日49ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S

例:2.4.2传统的集合运算(续)第四十九页,共九十九页,2022年,8月28日504、广义笛卡尔积

(ExtendedCartesianProduct)R:n元关系,k1个元组S:m元关系,k2个元组R×S

列:(n+m)列的元组的集合前n列是关系R的一个元组,后m列是关系S的一个元组行:k1×k2个元组R×S={tr

ts|tr

R∧tsS}当两个关系中没有相同属性名时,新关系前n个属性取R的属性名,后m个属性取S的属性名。有相同属性名时,属性名前冠以关系名。2.4.2传统的集合运算(续)第五十页,共九十九页,2022年,8月28日51ABCa1b1c1a1b2c2a2b2c1R.AR.BCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABa1b2a1b3a2b2RSR×S=

S.AS.Ba1b2a1b3a2b2a1b2a1b3a2b2a1b2a1b3a2b2例:2.4.2传统的集合运算(续)第五十一页,共九十九页,2022年,8月28日52

例:2.4.2传统的集合运算(续)第五十二页,共九十九页,2022年,8月28日53R1R2R3R1∪R2R1-R2R2-R1R1∩R2例:2.4.2传统的集合运算(续)第五十三页,共九十九页,2022年,8月28日54例:R1R2R3R1xR2:R2xR3:2.4.2传统的集合运算(续)第五十四页,共九十九页,2022年,8月28日55处理一个关系R和其自身的乘积时,需为关系R引入一个别名。R:ABd1d2RxR:R1.AR1.BR2.AR2.Bd1d1d2d1d1d2d2d22.4.2传统的集合运算(续)第五十五页,共九十九页,2022年,8月28日562.4.3专门的关系运算1、选择2、投影3、连接4、除第五十六页,共九十九页,2022年,8月28日571、选择(Selection)

从现有关系中选择满足给定条件的诸元组组成新的关系。

σF(R)={t|tR∧F(t)='真'}F:选择条件,是一个逻辑表达式,运算对象是常量或元组的属性,(可用属性名或列号来表示)选择运算是从行的角度进行的运算σ2.4.3专门的关系运算(续)第五十七页,共九十九页,2022年,8月28日58[例1]查询信息系(IS系)全体学生

σSdept

='IS'(S)或σ[5]=‘IS’(S)结果:[例2]查询年龄小于20岁的学生

σSage<20(S)或σ[4]<20(S)

结果:

2.4.3专门的关系运算(续)第五十八页,共九十九页,2022年,8月28日592、投影(Projection)1)投影运算符的含义从R中选择出若干属性列组成新的关系

πA(R)={t[A]|tR} A:R中的属性列,可重新排序2)投影操作主要是从列的角度进行运算投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)。π2.4.3专门的关系运算(续)第五十九页,共九十九页,2022年,8月28日60

例3:

π3,1(R)=[t

[A3,A1]|

t∈R]投影后,必须删除重复的行(元组)可用属性名或列号来表示2.4.3专门的关系运算(续)第六十页,共九十九页,2022年,8月28日61例4:求学生关系S在Sno,Sname,Sdept属性列上的投影πSnn,Sname,Sdept(S)或π1,2,5(S)结果:2.4.3专门的关系运算(续)第六十一页,共九十九页,2022年,8月28日62

例5:检索性别为女,系号为IS的学生学号、姓名

π1,2

(σ[3]=‘女’∧[5]=‘IS′(R))—

先选择后投影例6:查询学生关系S中都有哪些系?

πSdept(S)

2.4.3专门的关系运算(续)第六十二页,共九十九页,2022年,8月28日633、连接(Join)1)连接运算的含义连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足一定条件(比较关系)的元组。2)表达式

RS={|tr

R∧ts

S∧tr[A]θts[B]}A和B:分别为R和S上元数相等且可比的属性组θ:比较运算符

AθBtrts2.4.3专门的关系运算(续)第六十三页,共九十九页,2022年,8月28日643)一般的连接操作是从行的角度进行运算

AθBRS2.4.3专门的关系运算(续)第六十四页,共九十九页,2022年,8月28日654)两类常用连接运算等值连接(equijoin)θ为“=”的连接运算称为等值连接等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:RS={|tr

R∧tsS∧tr[A]=ts[B]}A=Btrts2.4.3专门的关系运算(续)第六十五页,共九十九页,2022年,8月28日66ABCABD6542466216589849486262.4.3专门的关系运算(续)例:第六十六页,共九十九页,2022年,8月28日67自然连接(Naturaljoin)自然连接的含义自然连接是一种特殊的等值连接,同时从行和列的角度进行运算两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉R和S具有相同的属性组B

R

S={|trR∧tsS∧tr[B]=ts[B]}trts2.4.3专门的关系运算(续)第六十七页,共九十九页,2022年,8月28日68设关系R和S,两关系中有公共属性B1、B2…Bn自然连接运算分为三步:1)计算R×S2)选择操作:在(R×S)中选取满足R.B1=S.B1∧…∧R.Bn=S.Bn的元组3)投影操作:去掉S.B1、S.B2…S.Bn(保留R.B1…R.Bn)自然连结为组合操作:2.4.3专门的关系运算(续)第六十八页,共九十九页,2022年,8月28日69R1R2例:

1:R1xR22:σF

(R1xR2)3:πR.A,R.B,R.C(σF

(R1xR2))2.4.3专门的关系运算(续)第六十九页,共九十九页,2022年,8月28日70R:S:R

S

C<E例:

等值连接R

SR.B=S.B

自然连接R

S

等值连接R

SR..C=S.E

2.4.3专门的关系运算(续)第七十页,共九十九页,2022年,8月28日71习题:

R:W:D:求:1)R1=∏Y,T

(R)2)R2=σP>5∧T=e(R)

3)R5=∏[2],[1],[6],

σ[3]=[5](R×D))

4)R3=RW5)R4=WD

第七十一页,共九十九页,2022年,8月28日72

自然连接是构造新关系的有效方法,是关系代数中常用的一种运算,在关系数据库理论中起着重要作用。

S:SC:SCS

利用两个关系表中相同属性进行自然连接,可将两个关系建立联系2.4.3专门的关系运算(续)第七十二页,共九十九页,2022年,8月28日732.4.3专门的关系运算(续4.除法(Division)象集Z(ImagesSet)给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集为:

Zx={t[Z]|tR,t[X]=x}

它表示R中属性组X上值为x的诸元组在Z上分量的集合第七十三页,共九十九页,2022年,8月28日74设订购单关系R,X为职工号,Y为属性集{供应商号,订购单号,订购日期},则当X取值为E3时的象集

{(S7,OR67,2002/06/23),(S4,OR79,2002/07/29),(S6,OR90,2002/07/13),(S3,OR91,2002/10/27)}

Yx=象集的例子第七十四页,共九十九页,2022年,8月28日75给定关系R(X,Y

)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R÷S得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合

R÷S={tr[X]|tr

R∧πY(S)

Yx}

Yx:x在R中的象集,x=tr[X]4、除法(续)第七十五页,共九十九页,2022年,8月28日76理解除法运算由R中R(X,Y)是被除关系S(Y)是除关系商关系T=R÷S,T中只有X属性组某些X属性值构成,其中的任一X值所对应的一组Y值都包含除关系S。除运算常用于至少…查询或运算除操作是同时从行和列角度进行运算第七十六页,共九十九页,2022年,8月28日77ABA1B2A2B1A2B3A3B3RBB1B3S计算T=R÷SR的A可以取三个值{A1,A2,A3}A1的象集{(B2)}A2的象集{(B1),(B3)}A3的象集{(B3)}S:{(B1),(B3)}只有A2的象集包含了S所以:R÷S={(A2)}

AA24、除法(续)第七十七页,共九十九页,2022年,8月28日78R的A可以取四个值{a1,a2,a3,a4}a1的象集{(b1,c2),(b2,c3),(b2,c1)}a2的象集{(b3,c7),(b2,c3)}a3的象集{(b4,c6)}a4的象集{(b6,c6)}S:

{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)属性组上的投影所以:R÷S={a1}BCb1c2b2c1b2c3ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1Aa1R÷SRS4、除法(续)第七十八页,共九十九页,2022年,8月28日79除运算的例子它的含义是:至少向WH1、WH3、WH5供货的供应商号。问题:结果关系的结构?第七十九页,共九十九页,2022年,8月28日80

关系代数表达式关系代数运算中,把五种基本操作经有限次复合后形成的式子称为关系代数表达式,运算结果仍为关系。可以用关系代数表示各种数据查询操作2.4.4关系代数表达式第八十页,共九十九页,2022年,8月28日81利用投影、选择和自然联结可以任意地分解和构造关系。(信息学院:学号、姓名、性别、班号、班主任、学院)B:S:Sσ[5]=′信息‘(P)

π1,2,3,5,6,7(P)

B)))(Sσ[5]=′信息‘(π1,2,3,5,6,7

P=

B

2.4.4关系代数表达式第八十一页,共九十九页,2022年,8月28日82例:设教学数据库中有三个关系:学生关系S(Sno,Sname,Ssex,Sage,Sdept)学习关系SC(Sno,Cno,Grade)课程关系(Cno,Cname,Cpno,Ccredit)S:SC:C:2.4.5关系代数表达式应用实例(续)第八十二页,共九十九页,2022年,8月28日83

1、查询计算机系年龄小于20岁的所有学生的学号、姓名、年龄表示对学生关系S进行查询操作,操作对象是关系S中的属性Sno,Same,sage。查询条件中所需的属性也在关系S中2.4.5关系代数表达式应用实例(续)R1=∏Sno,Same,Sage(σSdept=‘IS’∧Sage<20(S))第八十三页,共九十九页,2022年,8月28日84

2、检索选修课程号为C02的学生学号对选修关系SC进行查询操作,操作对象是关系SC中的属性Sno。查询条件中所需的属性也在关系SC中2.4.5关系代数表达式应用实例(续)R2=∏Sno

(σCno=’C02’(SC))第八十四页,共九十九页,2022年,8月28日853、查询选修C01或C03课程的学生学号R3=∏Sno,(σCno=’C01’∨Cno=’C01’(

SC))2.4.5关系代数表达式应用实例(续)第八十五页,共九十九页,2022年,8月28日86

4、查询修课程号为C02的学生学号及姓名

查询对象是学生关系S中的属性S·Sno,S·Same。查询条件中所涉及的属性Cno在选修关系SC中。本查询涉及两个关系表。R4=∏Sno,Same(σCno=’C02’(

(SSC)))

2.4.5关系代数表达式应用实例(续)第八十六页,共九十九页,2022年,8月28日87

5、查询选修了“数据结构”的学生学号R5=∏Sno(σCnane=’数据结构’(SCC))

2.4.5关系代数表达式应用实例(续)第八十七页,共九十九页,2022年,8月28日88

6、查询选修了“数据结构”的学号和学生姓名查询对象是学生关系S中的属性S.Sno,S.Same。查询条件中所需的属性Cname在课程关系C中,但S和C两个

温馨提示

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

评论

0/150

提交评论