数据库系统简明教程ch2-RDBMS_第1页
数据库系统简明教程ch2-RDBMS_第2页
数据库系统简明教程ch2-RDBMS_第3页
数据库系统简明教程ch2-RDBMS_第4页
数据库系统简明教程ch2-RDBMS_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第二章关系模型和关系运算理论关系数据库系统大事记

1970年6月,E.F.Code在《CommunicationoftheACM》上发表题为“ARelationalModelofDataforLargeSharedDataBanks”一文,首次明确而清晰地为数据库系统提出了一种崭新的模型,即关系模型。随后他又连续发表了多篇论文,奠定了关系数据库的理论基础。1973年IBM研究中心启动关系数据库实验系统System

R

项目,并于70年代末在IBM370系列机上获得成功。1977年,美国加州大学柏克利分校开始研制INGRES关系数据库实验系统,于1985获得成功。三十多年来涌现出许多关系数据库管理系统(RDBMS),著名的有:DB2,Oracle,Informix,Sybase,SQLServer,PostGreSQL等。2.1关系模型概述关系模型的数据结构--关系(二维表)关系数据结构的特点:实体和联系都用关系这种单一的数据结构来实现。表2-1学生表(S)S#SnameSsexSageSdept03830141朱一江男20计算机03830142张健保男19信电03830143陈科男18计算机03830144徐燕女19管理

┆┆┆2.1.1关系模型概述并(Union)交(Intersection)差(Difference)广义笛卡尔积选择(Select)投影(Project)连接(Join)除(Divide)插入(Insert)删除(Delete)修改(Update)关系模型的数据结构--关系(二维表)关系的操纵:关系操作的特点:

操作对象和操作结果都是集合。2.1关系模型概述关系语言关系代数元组演算域演算SQL关系语言特点:关系语言是一种高度非过程化的语言关系语言是完备的关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价2.1.2关系的形式化定义关系的定义域(Domain):一组具有相同数据类型的值的集合。如整数、字符串等。笛卡尔积(CartesianProduct):给定一组域D1,D2,…,Dn(可相同),D1,D2,…,Dn上的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di=1,2,…,n}(d1,d2,…,dn)称为一个元组(Tuple)di叫作元组(d1,d2,…,dn)的第i个分量(component)关系(Relation):D1×D2×…×Dn的一个子集叫做域D1,D2,…,Dn上的关系。定义在n个域上的关系称为n元关系。2.1.2关系的形式化定义给定域name={王小明,李莉},sex={男、女},则name×sex={(王小明,男),(王小明,女),(李莉,男)(李莉,女)}。笛卡尔积的结果中有许多元组是无意义的,可以认为其中有意义的元组构成关系,为实际的二维表。SnameSsex王小明男李莉女属性名记录属性、字段2.1.2关系的形式化定义几个概念:候选码(CandidateKey):能唯一标识元组的最小属性(组)。主码(PrimaryKey):多个候选码中选定一个作主码。主属性(PrimeAttribute):候选码中的诸属性。非主属性(Non-KeyAttribute):不出现在任何候选码中的属性。2.1.2关系的形式化定义关系的型与值关系(表)的型:关系的结构(字段名、字段个数、域等)关系(表)的值:关系中具体的元组,也称关系的实例(Instance)。关系模式(RelationSchema)即关系的型的定义数据依赖属性到域上的映射关系关系的域属性集R(U,D,dom(),F)关系名关系模式通常简记为:R(U)2.1.3关系的完整性约束关系的完整性约束是对关系的正确性限定,通常是与关系所表达的实际数据约束相对应。关系的完整性分为实体完整性、参照完整性和用户定义完整性。实体完整性规则(EntityIntegrity)

若属性A是基本关系R的主属性,则属性A不能取空值。关系模型必须遵守实体完整性规则的原因

(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。 (2)现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以主码作为唯一性标识。 (3)空值就是“不知道”或“无意义”的值。主属性取空值,就说明存在某个不可标识的实体,这与第(2)矛盾。2.1.3关系的完整性约束几个概念设F是基本关系R的一个或一组属性但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。基本关系R称为参照关系(ReferencingRelation),基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。例:S(sno,sname,sex,age,sdep)被参照关系

C(cno,cname,credit,Pno)参照关系,被参照关系

SC(sno,cno,grade)参照关系说明关系R和S不一定是不同的关系目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名,当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别2.1.3关系的完整性约束参照完整性规则(ReferentialIntegrity)

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。例:课程关系C(cno,cname,credit,Pno)中的Pno表示先修课程的课程号,应该取下面两类值:(1)空值(NULL),表示该课程没有先修课(2)非空值,这时该值必须课程表中已有的课程的课程号,而不能是一个不存在的课程在CS表中,Sno只能取S表中存在的学号,Cno也只能取已存在的课程号,但两者都不能取空值。2.1.3关系的完整性约束用户定义完整性(User-definedIntegrity)用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。如性别只能取“男”、“女”值,成绩必须在0~100分之间。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。通常由RDBMS的Check约束提供这类检查。2.3关系代数关系代数(RelationalAlgebra):以集合为基础,定义一组运算,由已知关系经过一列运算,得到需要的查询结果。关系代数是过程化的查询语言。关系代数继承传统的集合运算:并(∪)、交(∩)、差(-)、广义笛卡尔积(×)。其中并、交、差要求参与运算的两个关系要有相同的结构。将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行2.3关系代数关系上的传统集合运算并:R∪S={t|t

R∨t

S}差:R–

S={t|tR∧tS}交:R∩S={t|t

R∧t

S}R∩S=R–(R–S)广义笛卡尔积:R×S(其中R为k1行n列,S为k2行m列)列:(n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1×k2个元组R×S={tr

ts|tr

R∧tsS}2.3关系代数传统的集合运算举例c1b2a2c2b3a1c2b2a1CBASc1b2a2c2b2a1c1b1a1CBARCBAR∪Sc1b2a2c2b2a1c1b1a1c1b1a1CBAR-Sa1a3a22.3关系代数c1b2a2c2b2a1c1b1a1CBARc1b2a2c2b3a1c2b2a1CBASR.AR.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1a1b3c2a1b3c2a1b3c2a2b2c1a2b2c1a2b2c1R×S2.3关系代数专门的关系运算选择(σ)含义:在关系R中选择满足给定条件的诸元组

σF(R)={t|tR∧F(t)='真'}其中:F:选择条件,是一个逻辑表达式,基本形式为:[(]

X1θY1[)][φ[(]X2θY2[)]]…θ:比较运算符(>,≥,<,≤,=或<>)X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替;φ:逻辑运算符(∧或∨)[]:表示任选项…:表示上述格式可以重复下去2.3关系代数选择运算的直观意义:σ学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95002刘晨女19IS95003王敏女18MAσSsex

=‘女'(S)2.3关系代数投影(π)含意:从R中选择出若干属性列组成新的关系

πA(R)={t[A]|tR} A:R中的属性列的集合投影操作主要是从列的角度进行运算投影运算的直观意义:π注:但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)2.3关系代数投影举例学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19ISπ

Sno,Sname

(S)学号Sno姓名Sname95001李勇95002刘晨95003王敏95004张立2.3关系代数例:学生表Student如下(1)查询信息系(IS系)全体学生

σSdept

='IS'(Student)

或σ5='IS'(Student)(2)查询年龄小于20岁的学生

σSage<20(Student)

或σ4<20(Student)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS2.3关系代数(3)查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影

πSname,Sdept(Student)

或π2,5(Student) (4)查询学生关系Student中都有哪些系

πSdept(Student)或π5(Student)例:学生表Student如下学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS2.3关系代数连接()

AθBtr

ts

RS={|tr

R∧ts

S∧tr[A]θts[B]}含义: 从两个关系的笛卡尔积中选取属性间满足一定条件的元组。A和B:分别为R和S上度数相等且可比的属性组θ:比较运算符

连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。带有比较运算符θ的连接运算称为θ连接。2.3关系代数连接操作是从行和列的角度进行运算

AθBRS自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。2.3关系代数例:R

SC<EABCa1b15a1b26a2b38a2b412R:BEb13b27b310b32b52S:10b38b3a210b36b2a17b26b2a110b35b1a17b25b1a1ES.BCR.BAθ连接解题思路:确定结果中的属性列确定参与比较的属性列逐一取R中的元组分别和S中与其符合比较关系的元组进行拼接。2.3关系代数两类常用连接运算等值连接(equi-join)什么是等值连接θ为“=”的连接运算称为等值连接

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

ts

A=B

RS={|tr

R∧ts

S∧tr[A]=ts[B]}

2.3关系代数ABCa1b15a1b26a2b38a2b412R:BEb13b27b310b32b52S:AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32等值连接解题思路:确定结果中的属性列确定参与运算的关系的公共属性列(同名属性区分)逐一取R中的元组分别和S中与其公共属性组取值相同的元组拼接。R

SB=B例:2.3关系代数自然连接(Naturaljoin)

什么是自然连接自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是同名的属性(组)在结果中把重复的属性列去掉自然连接的含义

R和S具有相同的属性组Btr

ts

R

S={–

ts[B]|tr

R∧ts

S∧tr[B]=ts[B]}

2.3关系代数例:ABCa1b15a1b26a2b38a2b412R:BEb13b27b310b32b52S:R

SABCEa1b153a1b267a2b3810a2b382自然连接解题思路:确定结果中的属性列确定参与运算的关系的公共属性列(同名属性取其一)逐一取R中的元组分别和S中与其公共属性组取值相同的元组拼接。2.3关系代数SnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19ISS:SdeptDnameCS计算机系IS信息系MS数据系D:

S

DSnoSnameSsexSageSdeptDname95001李勇男20CS计算机系95002刘晨女19IS信息系95003王敏女18MA数据系95004张立男19IS信息系意义:将两个有关联的表合成为一张有意义的表。2.3关系代数象集Z:给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(ImagesSet)为:Zx={t[Z]|tR,t[X]=x},它表示R中属性组X上值为x的诸元组在属性组Z上分量的集合。例:DCBb1c2d1d1d2c1c3b2b2SZB=b2d2c3d1c1DC2.4关系代数除(Division)

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集(在没有特别指定属性组Y的情况下,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]2.4关系代数除操作是同时从行和列角度进行运算÷RS2.4关系代数例:c1b2a1c3b2a2c6b6a4c3b2a1c6b4a3c7b3a2c2b1a1CBARDCBb1c2d1d1d2c1c3b2b2SR÷SAa12.4关系代数关系代数中所用到的各类符号:

关系代数表达式:由关系的运算经过有限次的复合后形成的式子。>≥<≤=≠集合运算符关系运算符σπ×÷比较符逻辑运算符∧∨∪-∩×2.4关系代数1902男钱七8052002女赵六8042001男王五8032001男李四8021901女张三801sagesdepssexsnamesnoSc488c480390c480282c380285c280178c380192801gradecnosnoSC关系代数综合举例:(本小节的所有查询均用到以下关系实例)关系模式:S(sno,sname,ssex,sdep,sage)C(cno,cname,credit,cpno)SC(sno,cno,grade)Pascalc4编译原理c3数据结构c2数据库c1creditcnamecno3.5443Ccpnoc2c4c62.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(SC)σcno=‘c2’πsno,grade()(1)查询选修了C2课程的学生学号和成绩。c488c480390c480282c380285c280178c380192801gradecnosnoSC2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(1)查询选修了C2课程的学生学号和成绩。SSC)(σcno=‘c2’)(πsno,sname(3)查询选修了数据库课程的学生学号、姓名和成绩。(2)查询选修了C2课程的学生学号和姓名。SCSCσcname=‘数据库’()Πsno,sname,grade()(SC)σcno=‘c2’πsno,grade()c488c480390c480282c380285c280178c380192801gradecnosnoSCσcno=‘c2’πsno,grade1902男钱七8052002女赵六8042001男王五8032001男李四8021901女张三801sagesdepssexsnamesnoSSnoSnameSsexSdepSageCnograde801张三女0119c492801张三女0119c378801张三女0119c285802李四男0120c382802李四男0120c490803王五男0120c488…………………2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(5)查询选修了C2和C4课程的学生学号。πsno(σcno=‘c2’∧cno=‘c4’(SC))c488c480390c480282c380285c280178c380192801gradecnosnoSC 原因:没有哪一条记录会在一个属性列上取两个不同的值!(4)查询选修了C2或C4课程的学生学号。σcno=‘c2’∨cno=‘c4’(SC)πsno()2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(4)查询选修了C2或C4课程的学生学号。(5)查询选修了C2和C4课程的学生学号。πsno(σcno=‘c2’∧cno=‘c4’(SC))σcno=‘c2’∨cno=‘c4’(SC)πsno()c488c480390c480282c380285c280178c380192801gradecnosnoSCSc1.snoSoSc1.gradeeSc2.snoSoSc2.gradee801c492801c492801c492801c378801c492801c285801c378801c492801c378801c378801c378801c285801c285801c492801c285801c378801c285801c285802c382802c382802c382802c490802c490802c382802c490802c490803c488803c488σ1=4(SC×SC)包含相同的信息π1(σ1=4∧2=‘c2’∧5=‘c4’

(SC×SC))2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(6)查询不学C2课的学生学号。(SC)σcno≠‘c2’πsno()πsno(S)-

πsno(σcno=‘c2’(SC))c488c480390c480282c380285c280178c380192801gradecnosnoSC

原因:如果该学生选c2课外还选了别的课,则非c2课的记录是符合条件的,此时会将该记录的学号置入结果集。

解决方法:先求出所有选c2课的学生,再从全体学生集合中减去这些学生。2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(7)查询c5课的先修课的先修课(课程号)。Pascalc4编译原理c3数据结构c2数据库c1creditcnamecno4443Ccpnoc2c4c6cno1cname1credit1cpno1c1数据库3.5c2c2数据结构4c4c3编译原理4c6c4Pascal3cno2cname2credit2cpno2c2数据结构4c4c4Pascal3c6操作系统5c7σ4=5(SC×SC)π1,8(σ4=5(SC×SC))2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(8)查询选修全部课程的学生学号。PascalC4编译原理c3数据结构c2数据库c1creditcnamecno4442Cc488c480390c480282c380285c280178c380192801gradecnosnoSC应满足什么关系?2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(8)查询选修全部课程的学生学号。PascalC4编译原理c3数据结构c2数据库c1creditcnamecno4442Cc488c480390c480282c380285c280178c380192801gradecnosnoSC÷运算的运算思路:确定XYZ属性组确定关系R、SYπsno,cno(SC)÷πcno(C)XZ2.4关系代数关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)(9)查询选修学号为“802”的学生所选全部课程的学生学号和姓名。c488c480390c480282c380285c280178c380192801gradecnosnoSCc488c480390c480282c380285c280178c380192801gradecnosnoSC÷πcno(σsno=‘802’(SC))πsno,cno(SC)÷πsno,csname(S)()2.4关系代数关系代数总结关系代数是在关系上定义一组运算,由已知关系经过有限次地运算可以得到目标关系(查询)。传统的集合运算:并(Union)交(Intersection)差(Difference)广义笛卡尔积 (ExtendedCartesianProduct)专门的关系运算:选择(Select)投影(Project)连接(Join)除(Divide)关系代数表达式应该建立在关系模式上,而不是某一特定的关系实例上满足。2.4关系代数关系代数的五个基本运算:(完备的、全功能的) ∪、-、×、σ、π关系代数的四个组合运算:(由基本运算复合而成)

∩:R∩S=R–(R–S)

AθBtr

tsθ:

RS={|tr

R∧ts

S∧tr[A]θts[B]}

AθB

RS=σ(R

×S)注:R为r元关系。iθ(r+j)tr

ts:

R

S={–

ts[B]|tr

R∧ts

S∧tr[B]=ts[B]}

÷:R÷S={tr

[X]|tr

R∧πY(S)

Yx∧x=tr[X]}

R÷S=πX(R)-πX((πX(R)×πY(S))-R)

R

S

=

πi1,…,im

(σ(R×S))R.Aj1,=S.Aj1,∧…∧R.Ajk=S.Ajk2.4关系代数水平方向的运算:∪、∩、-、σ垂直方向的运算:

π

混合运算:

×、、、÷关系代数表达式:由关系的运算经过有限次的复合后形成的式子。第二章关系数据库练习已知关系R、W、D如下所示:PQTY2bcd9aef2bef9ade7gef7gcdR:TYBcdmcdndfnW:TYcdefD:给出下列关系的运算结果:1)R1=πY,T(R)2)R2=σP>5∧T=‘e’(R)3)R3=RW4)R4=π2,1,6(σ3-5(R×D))5)R5=R÷D2.5关系演算

关系演算就是用谓词来描述关系的构成(查询的结果)。按照谓词变元的不同分为元组关系演算和域关系演算,分别简称为元组演算和域演算。元组演算{t|Φ(t)}

称为元组演算表达式。 其中:t称为元组变量,

Φ(t)称为元组演算公式,简称公式。原子公式:(1).R(t)

R是关系名,t是元组变量。 表示:t是R中的元组。(2).t[i]θu[j]

t,u为元组变量,θ为比较运算符。 表示:元组t的第i个分量与元组u的第j个分量之满足比较关系θ。(3).t[i]θc

或cθt[i] 其中c为常量。2.5关系演算元组演算公式(Φ(t))的归纳定义:原子公式是公式;Φ1,

Φ2

是公式,则┐Φ1,Φ1∧Φ2,Φ1∨Φ2

,Φ1→Φ2

是公式;Φ是公式,则∃t(Φ),∀t(Φ)是公式;当且仅当有限次地运用以上规则构成的式子称为元组演算公式。例:987654321CBAR:965643321CBAS:R1={t|S(t)∧t[1]>2}965643CBA2.5关系演算987654321CBAR:965643321CBAS:R2={t|R(t)∧┐S(t)}ABC456789R3={t|S(t)∧∃u(R(u)∧t[3]<u[2])}ABC123346R3={t|R(t)∧∀u(S(u)→t[3]>u[1])}ABC4567892.5关系演算R5={t|∃u∃v(R(u)∧S(v)∧u[1]>v[2]∧t[1]=u[2]∧t[2]=v[3]∧t[3]=u[1])}798768738435R.AS.CR.B987654321CBAR:965643321CBAS:解题步骤:1.确定结果集的结构表,2.根据元组演算公式中的限定条件构造元组填入表中。2.5关系演算元组演算的等价规则:P1∧P2⇔┐(┐P1∨┐P2)P1∨P2⇔┐(┐P1∧┐P2)∀x(P(x))⇔┐∃x(┐P(x))∃x(P(x))⇔┐∀x(┐P(x))P1→P2⇔┐P1∨P22.5关系演算1902男钱七8052002女赵六8042001男王五8032001男李四8021901女张三801sagesdepssexsnamesnoSc488c480390c480282c380285c280178c380192801gradecnosnoSC元组演算综合举例:(本小节的所有查询均用到以下关系)关系模式:S(sno,sname,ssex,sdep,sage)C(cno,cname,credit,cpno)SC(sno,cno,grade)Pascalc4编译原理c3数据结构c2数据库c1creditcnamecno3.5443Ccpnoc2c4c62.5关系演算查询选修了C2课程的学生学号和成绩。关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)c488c480390c480282c380285c280178c380192801gradecnosnoSC{t|}∧u[2]=‘c2’∃u(SC(u))∧t[1]=u[1]∧t[2]=u[3](2)查询选修了C2课程的学生学号和姓名。{t|∃u∃v(S(u)∧SC(v)

)}

∧t[1]=u[1]∧t[2]=u[2]∧u[1]=v[1]∧v[2]=‘c2’2.5关系演算(3)查询选修了数据库课程的学生学号、姓名和成绩。关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade) {t|∃u∃v∃w(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1] ∧w[2]=“数据库“∧t[1]=u[1]∧t[2]=u[2]∧t[3]=v[3])}(4)查询选修了C2或C4课程的学生学号。 {t|∃u(SC(u)∧(u[2]=‘c2‘∨u[2]=‘c4’)∧

t[1]=u[1])}2.5关系演算(5)查询选修了C2和C4课程的学生学号。关系模式:

S(sno,sname,ssex,sdep,sage)

C(cno,cname,credit,cpno)

SC(sno,cno,grade)c488c480390c480282c380285c280178c380192801gradecnosnoSCuv{t|∃u∃v(SC(u)∧SC(v)∧u[1]=v[1]∧u[2]=‘c2‘∧v[2]=‘c4’∧

t[1]=u[1])}(6)查询不学C2课的学生学号。{t|∃u∀v(S(u)∧SC(v)∧(u[1]=v[1])→v[2]≠‘c2‘)∧

t[1]=u[1])}{t|

温馨提示

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

评论

0/150

提交评论