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

下载本文档

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

文档简介

会计学1关系数据库基础修改第2章关系数据库基础学习目标:了解关系模型的基本概念;熟悉关系数据结构、完整性约束条件;掌握关系代数的各种运算操作;结合实际、综合应用关系代数操作第1页/共86页教学内容2.1关系模型的基本概念2.2关系代数第2页/共86页2.1.1关系模型概述

关系模型是数据库系统中最重要的一种模型。它由数据结构、关系操作和完整性约束三部分组成。 最早提出关系模型的是美国IBM公司的E.F.Codd(埃德加·科德)博士1970年提出关系数据模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式1974年提出了关系的BC范式第3页/共86页2.1.1关系模型概述

1.数据结构。

单一的数据结构----关系.现实世界的实体以及实体间的各种联系均用关系来表示

数据的逻辑结构----二维表.从用户角度,关系模型中数据的逻辑结构是一张二维表。第4页/共86页

2.关系操作。

关系操作采用集合操作方式,即操作的对象和结果都是集合。这种方式也称为一次一集合的方式。

非关系数据模型的数据操作方式则为一次一记录的方式。

关系模型中常用的关系操作:查询操作:选择、投影、连接、除、并、交、差。更新操作:增加、删除、修改。

表达关系操作的关系数据语言:

(1)关系代数语言。(用对关系的运算来表达查询要求的方式。)(2)关系演算。(用谓词来表达查询要求的方式。)(3)介于关系代数和关系演算之间的语言SQL。第5页/共86页3.完整性约束。实体完整性通常由关系系统自动支持参照完整性通常由关系系统自动支持用户定义的完整性反映应用领域需要遵循的约束条件,体现了具体领域中的语义约束用户定义后由系统支持第6页/共86页2.1.2

关系数据结构关系模型建立在集合代数的基础上关系数据结构的基本概念关系关系模式关系数据库第7页/共86页2.1.2

关系数据结构一、关系1.域(Domain)定义是一组具有相同数据类型的值的集合。域一般用大写字母D表示,如D1,D2,…,Dn等。其中域中数据的个数叫域的基数。举例:整数实数指定长度的字符串集合介于某个取值范围的整数{‘男’,‘女’}介于某个取值范围的日期第8页/共86页2.1.2

关系数据结构2.笛卡尔积(CartesianProduct)定义:

给定一组域D1,D2,…,Dn,这些域中可以存在相同的域。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}说明:所有域的所有取值的一个组合不能重复第9页/共86页2.1.2

关系数据结构

笛卡尔积可表示为一个二维表。举例:【例2-1-2】设D1={a,b},D2={c,d,e},D3={f,g}则D1×D2×D3={(a,c,f),(a,c,g),(a,d,f),(a,d,g),(a,e,f),(a,e,g),(b,c,f),(b,c,g),(b,d,f),(b,d,g),(b,e,f),(b,e,g)}。第10页/共86页2.1.2

关系数据结构结果用二维表格表示如表2-3所示D1D2D3acfacgadfadgaefaegbcfbcgbdfbdgbefbeg表2-3用二维表格表示D1×D2×D3第11页/共86页元组(Tuple)笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组,即行。例:(a,c,f)分量(Component)元素(d1,d2,…,dn)中的每一个值叫作一个分量,即列。第12页/共86页2.笛卡尔积(CartesianProduct)基数

如果Di(i=1,,…,n)为有限集,其基数为mi(i=1,2,…,n),

则D1×D2×…×Dn的基数=m1×m2×…×mn,即笛卡尔积的基数等于所有域的基数累乘。在例2-1-3中:

D1的基数m1=2,

D2的基数m1=2,

D3的基数m3=3D1×D2×D3的基数=m1×m2×m3=2×2×3=12。第13页/共86页2.1.2

关系数据结构

【例2-1-3】

D1(表示导师的集合)={张清玫、刘逸

}D2(表示专业的集合)={计算机专业、信息专业}D3(表示学生的集合)={李勇、刘晨、王敏}D1×D2×D3的笛卡尔集为:第14页/共86页

2.1.2

关系数据结构第15页/共86页3.关系(Relation)假设:导师与专业:1:1导师与研究生:1:n第16页/共86页2.1.2

关系数据结构定义:D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,用R(D1,D2,…,Dn)表示。这里R表示关系的名字,n是关系的目或度(Degree)。说明:关系中的每个元素是关系中的元组,通常用t表示。当n=1时,称该关系为单元关系。当n=2时,称该关系为二元关系。第17页/共86页2.1.2

关系数据结构可见关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。N目关系必有n个属性,属性的名称要唯一。若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。若一个关系有多个候选码,则选定其中一个为主码(Primarykey)。主码的诸属性称为主属性(Primeattribute)。不包含在任何侯选码中的属性称为非码属性(Non-keyattribute)。在最简单的情况下,侯选码只包含一个属性。在最极端的情况下,关系模式的所有属性组是这个关系模式的侯选码,称为全码(All-key)。第18页/共86页2.1.2

关系数据结构举例:【例2-1-3】学生选课数据库中有三个关系:学生(学号,姓名,性别,年龄,籍贯,班级,系别)课程(课号,课名)成绩(学号,课号,成绩)其中带下划线的部分给出了每个关系的候选码(或称主码)。第19页/共86页2.1.2

关系数据结构4.关系的性质关系是用集合代数的笛卡儿积定义的,是元组的集合,因此关系具有以下性质:列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域;不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名;列的顺序无所谓,即列的次序可以任意交换;任意两个元组不能完全相同;行的顺序无所谓,即行的次序可以任意交换;所有属性值都是原子的,即每一个分量都必须是不可分的数据项,不允许属性又是一个二维关系;第20页/共86页2.1.2

关系数据结构举例:下面的工资关系(如表2-4)不符合关系的规范化要求,在数据库中是不被允许的,因为表示工资的属性不是一个原子分量。姓名工资基本工资职贴奖金李立500120600周涛800200500表2-4工资关系第21页/共86页2.1.2

关系数据结构5.关系模式定义:关系的描述称为关系模式(RelationSchema)。一个关系模式应当是一个五元组。它可以形式化地表示为:R(U,D,dom,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。说明:关系模式通常可以简记为:R(A1,A2,…,An)。其中R为关系名,A1,A2,…,An为属性名。而域名及属性向域的映象常常直接说明为属性的类型、长度。举例:【例2-1-5】一个表示学生的关系可以简记为:

学生(学号,姓名,性别,年龄,籍贯,班级,系别)第22页/共86页2.1.2

关系数据结构6.关系数据库

在一个给定的现实世界领域中,相应于所有实体及实体之间联系的关系的集合构成一个关系数据库。关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。第23页/共86页2.1.2

关系数据结构

总结:关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,可以从上下文中加以区别。第24页/共86页2.1.3关系的完整性关系的完整性概述实体完整性参照完整性用户定义的完整性第25页/共86页2.1.3关系的完整性的概述

数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束。在关系模型中,数据的约束条件通过三类完整性约束条件来描述,它们是:实体完整性参照完整性用户定义的完整性

为了维护数据库中的数据完整性,在对关系数据库执行插入、删除和修改等操作时,必须遵守这三类完整性规则。第26页/共86页1.

实体完整性(EntityIntegrity)实体完整性规则

若属性A是基本关系R的主属性,则属性A不能取空值。

例:学生(学号,姓名,性别,年龄,籍贯,班级,系别)

学号作为学生关系的主属性,则学号不能取空值例:选课(学号,课号,成绩)

学号和课号一起作为选课关系的主属性,则学号和课号都不能取空值。

在关系数据库系统中,用户在建立关系模式时,应定义该模式的实体完整性规则。设置某些属性为主键,在这些属性中不能设置取空值,以保证关系数据库系统中的任何一个关系都满足实体完整性约束条件。

第27页/共86页1.

实体完整性(EntityIntegrity)实体完整性规则的说明

关系模型是用关系来描述实体及实体间的关系,所以在数据库中一个关系对应现实世界中的一个实体集,关系中的每一个元组对应一个实体。现实世界中的每一个实体都是可以区分的,在关系中用主键唯一地标识一个实体(元组)。若一个实体(元组)的主键值为空(所谓空值是“不知道”或“不确定”的值),说明存在某个未知的实体,这和实体的概念相矛盾。

第28页/共86页2.参照完整性(1).关系间的引用在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。

例3:学生实体、专业实体 学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)主码学生关系引用了专业关系的主码“专业号”。学生关系中的“专业号”值必须是确实存在的专业的专业号

,即专业关系中有该专业的记录。第29页/共86页(2).外键(ForeignKey)外键的定义

设F是基本关系R的一个或一组属性,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外键(外码)基本关系R称为参照关系(ReferencingRelation)基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)第30页/共86页(2).外键(ForeignKey)例:学生(学号,姓名,性别,专业号,年龄);

专业(专业号,专业名)

“专业号”属性是学生关系的外码专业关系是被参照关系,学生关系为参照关系例:学生(学号,年龄,性别);

课程(课号,课名);

选修(学号,课号,成绩)。

“学号”和“课程号”是选修关系的外码。学生关系和课程关系均为被参照关系。选修关系为参照关系。第31页/共86页3.参照完整性(Referentialintegrity)参照完整性规则

若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上。外码并不一定要与相应的主码同名,当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别。第32页/共86页3.参照完整性(Referentialintegrity)例:学生关系中每个元组的“专业号”属性只取两类值:空值,表示尚未给该学生分配专业非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配一个不存在的专业例:选修(学号,课程号,成绩)

“学号”和“课程号”可能的取值:选修关系中的主属性,不能取空值只能取相应被参照关系中已经存在的主码值第33页/共86页4.用户定义的完整性用户自定义的完慗性

关系数据库系统还允许用户定义某一具体数据库所涉及的数据必须满足的约束条件。这种约束条件是对数据在语义范畴的描述,由具体应用环境来决定,这就是用户定义的完整性。例如:限定学生关系中学生的年龄在13~35之间针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能第34页/共86页4.用户定义的完整性例:课程(课程号,课程名,学分)“课程号”属性必须取唯一值非主属性“课程名”也不能取空值“学分”属性只能取值{1,2,3,4}第35页/共86页练习1用二维表数据来表示实体之间联系的模型叫做________

A)网状模型

B)层次模型

C)关系模型

D)实体联系模型C第36页/共86页练习2关于关系模式码的叙述中,哪一项是不正确的

A当候选码多于一个时,选定其中一个作为主码

B主码可以是单个属性,也可以是属性组

C不包含在主码中的属性称为非主属性

D若一个关系模式中的所有属性构成码,则称为全码C第37页/共86页练习3主键约束用来强制数据的

完整性。

A)域B)实体

C)参照D)ABC都可以B第38页/共86页练习4如果把学生看为实体,某个学生的姓名叫“张三”,则张三应看成是()

A)记录型

B)记录值

C)属性型

D)属性值D第39页/共86页练习5设有关系SC(SNO,CNO,GRADE),主码是(SNO,CNO).遵照实体完整性规则A)只有SNO不能取空值B)只有CNO不能取空值C)只有GRADE不能取空值D)SNO与CNO都不能取空值D第40页/共86页练习6在下面的两个关系中、职工号和部门号分别为职工关系和部门关系的主键(或称主码)。职工(职工号、职工名、部门号、职务、工资)

部门(部门号、部门名、部门人数、工资总额)

在这两个关系的属性中,只有一个属性是外键(或称外来键、外码、外来码)。它是________。

A)职工关系的“职工号”

B)职工关系的“部门号”

C)部门关系的“部门号”

D)部门关系的“部门名”B第41页/共86页练习7设有关系模式R(A,B,C)和S(E,A,F),若R.A是R的主码,S.A是S的外码,则S.A的值或者等于R中某个元组的主码值,或者取空(null)。这是

完整性规则参照第42页/共86页强化练习:1.构成E-R图的基本要素是什么?2.请设计一个图书馆数据库,此数据库中对每个借阅者保存的记录包括:读者号,姓名,地址,性别,年龄,单位。对每本书保存有:书号,书名,作者,出版社。对每本被借出的书保存有读者号、借出日期和应还日期。要求:给出该图书馆数据库的E-R图,再将其转换为关系模型。第43页/共86页3.图4-1是某个教务管理数据库的E-R图,请把它们转换为关系模型(图中关系、属性和联系的含义,已在旁边用汉字标出)。强化练习:第44页/共86页4.图4-2是一个销售业务管理的E-R图,请把它转换成关系模型。强化练习:第45页/共86页5.设有一家百货商店,已知信息有:1)每个职工的数据是职工号、姓名、地址和他所在的商品部。2)每一商品部的数据有:它的职工,经理和它经销的商品。3)每种经销的商品数据有:商品名、生产厂家、价格、型号(厂家定的)和内部商品代号(商店规定的)。4)关于每个生产厂家的数据有:厂名、地址、向商店提供的商品价格。请设计该百货商店的概念模型,再将概念模型转换为关系模型。注意某些信息可用属性表示,其他信息可用联系表示。强化练习:第46页/共86页2.2

关系代数1.

概述2.传统的集合运算3.专门的关系运算第47页/共86页2.2.1关系代数概述

关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是利用对关系的运算来表达查询的。任何运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。关系代数的运算对象是关系,运算结果亦为关系。第48页/共86页运算符(续)集合运算符将关系看成元组的集合从关系的“水平”方向即行的角度来进行运算专门的关系运算符不仅涉及行而且涉及列算术比较符辅助专门的关系运算符进行操作逻辑运算符辅助专门的关系运算符进行操作第49页/共86页传统的集合运算符∪-∩×并差交笛卡尔积比较运算符>≥<≤=<>大于大于等于小于小于等于等于不等于运算符含义运算符含义关系代数运算符

2.2.1关系代数概述专门的关系运算符σπ

÷选择投影连接除逻辑运算符∧∨非与或第50页/共86页2.2.1传统的集合运算

设关系R和关系S是相容的,t代表元组变量,现将各种运算分别介绍如下:并(Union)关系R与关系S的并记作:R∪S={t|t∈R∨t∈S}结果关系是由属于R或属于S的元组组成,且结果仍为n目关系,但结果关系要消除重复元组。交(Intersection)关系R与关系S的交记作:R∩S={t|t∈R∧t∈S}结果关系由既属于R又属于S的元组组成,且仍为n目关系。第51页/共86页2.2.1传统的集合运算差(Difference)关系R与关系S的差记作:R-S={t|t∈R∧tS}R和S的差,结果关系由属于R而不属于S的所有元组组成,且仍为n目关系,即在关系R中减去R和S的相同元组,广义笛卡尔积(ExtendedCartesianProduct)两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。记作:R×S={(a1,a2,…am,b1,b2,…bn)|(a1,a2,…am)∈R∧(b1,b2,…bn)∈S}。第52页/共86页1.并(Union)R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域R∪S

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

R∪S={t|t

R∨tS}第53页/共86页2.交(Intersection)R和S具有相同的目n相应的属性取自同一个域R∩S仍为n目关系,由既属于R又属于S的元组组成

R∩S={t|t

R∧tS}

第54页/共86页3.差(Difference)R和S具有相同的目n相应的属性取自同一个域R-S

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

R-S={t|tR∧tS}第55页/共86页4.笛卡尔积CartesianProduct)严格地讲应该是广义的笛卡尔积R:n目关系,k1个元组S:m目关系,k2个元组R×S

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

ts|tr

R∧tsS}第56页/共86页4.笛卡尔积CartesianProduct)第57页/共86页2.2.2专门的关系运算

选择投影连接除第58页/共86页先引入几个记号(1)R,tR,t[Ai]

设关系模式为R(A1,A2,…,An),它的一个关系设为R,tR表示t是R的一个元组,t[Ai]则表示元组t中相应于属性Ai的一个分量。

2.2.2专门的关系运算第59页/共86页(2)trtsR为n目关系,S为m目关系。trR,tsS,trts称为元组的连接。trts是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。(3)象集Zx

给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(ImagesSet)为:

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

它表示R中属性组X上值为x的诸元组在Z上分量的集合。2.2.2专门的关系运算第60页/共86页x1在R中的象集

Zx1

={Z1,Z2,Z3},x2在R中的象集

Zx2

={Z2,Z3},x3在R中的象集

Zx3={Z1,Z3}象集举例

2.2.2专门的关系运算第61页/共86页2.2.2专门的关系运算

Student(a)

学生-课程-选修关系:

学生关系Student、课程关系Course和选修关系SC学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121李勇男20CS200215122刘晨女19IS200215123王敏女18MA200215125张立男19IS课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64Course(b)SC(c)学号Sno课程号Cno成绩Grade200215121192200215121285200215121388200215122290200215122380第62页/共86页2.2.2专门的关系运算选择运算选择又称为限制选择运算符的含义关系R上的选择操作是根据某些条件对关系R做水平分割,即从行的角度选择符合条件的元组。在关系R中选择满足给定条件的诸元组记作:σF(R)={t|t∈R∧F(t)=‘真’}F:选择条件,是一个逻辑表达式,取逻辑值“真”或“假”,

选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算σ第63页/共86页F:选择条件,是一个逻辑表达式基本形式为:X1θY1

θ:比较运算符(>,≥,<,≤,=或<>)X1,Y1:属性名、常量、简单函数.属性名也可以用它的序号来代替;第64页/共86页1.选择(selection)[例1]查询信息系(IS系)全体学生

σSdept

='IS'

(Student)

σ5='IS'(Student)

结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215125张立男19IS[例2]查询年龄小于20岁的学生

σSage<20(Student)

或σ4<20(Student)

结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215123王敏女18MA200215125张立男19IS第65页/共86页2.投影(Projection)投影运算符的含义从R中选择出若干属性列组成新的关系

πA(R)={t[A]|tR} A:R中的属性列投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)π第66页/共86页2.投影(Projection)[例3]查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影

πSname,Sdept(Student)

或π2,5(Student)SnameSdept李勇CS刘晨IS王敏MA张立IS[例4]查询学生关系Student中都有哪些系

πSdept(Student)

结果:SdeptCSISMA结果:第67页/共86页3.连接(Join)

连接也称为θ连接连接运算的含义

从两个关系的笛卡尔积中选取属性间满足一定条件的元组

RS={|tr

R∧ts

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

连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组

AθBtrts第68页/共86页3.连接(Join)[例5]关系R和关系S

如下所示:一般连接RS的结果如下:C<E

第69页/共86页

3.连接(Join)两类常用连接运算等值连接(equijoin)

什么是等值连接θ为“=”的连接运算称为等值连接

等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:

RS={|tr

R∧tsS∧tr[A]=ts[B]}A=Btrts第70页/共86页等值连接R

S的结果如下:R.B=S.B

第71页/共86页

3.连接(Join)自然连接(Naturaljoin)

自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义R和S具有相同的属性组B

R

S={|trR∧tsS∧tr[B]=ts[B]}trts第72页/共86页3.连接(Join)

自然连接R

S的结果如下:

第73页/共86页3.连接(Join)一般的连接操作是从行的角度进行运算。

自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

AθBRS第74页/共86页4.除(Division)

给定关系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]|trR∧πY(S)Yx}

Yx:x在R中的象集,x=tr[X]第75页/共86页4.除(Division)[例6]设关系R、S分别为下图的(a)和(b),R÷S的结果为图(c)

第76页/共86页分析

设关系R,S,分别为例6中的(a)和(b),R÷S的结果为图(c),关系R中A可以取四个值{a1,a2,a3,a4},其中:a1的象集为{(b1,c2),(b2,c1),(b2,c3)}a2的象集为{(b3,c7),(b2,C3)}a3的象集为{(b4,c6)}a4的象集为{(b2,c3)}S在(B,C)上的投影为{(b1,c2),(b2,c1),(b2,c3)}显然只有a1的象集包含了S在(B,C)属性组上的投影,所以R÷S={a1}。第77页/共86页4.除(Division)除操作是同时从行和列角度进行运算

÷RS第78页/共86页综合举例[例8]查询选修了2号课程的学生的学号。

πSno(σCno='2'(SC))

[例9]查询至少选修了一门其直接先行课为5号课程的学生姓名

πSname(σCpno='5'(CourseSCStudent))或πSname(σCpno='5'(Course)SCπSno,Sname(Student))

[例10]

温馨提示

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

评论

0/150

提交评论