数据库课件:第2章 关系模型_第1页
数据库课件:第2章 关系模型_第2页
数据库课件:第2章 关系模型_第3页
数据库课件:第2章 关系模型_第4页
数据库课件:第2章 关系模型_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

第2章关系模型2.1基本概念2.2关系代数2.3关系演算2.1基本概念关系模型是以集合论中的关系(relation)概念为基础发展起来的数据模型,由IBM公司SanJose研究实验室E.F.Codd率先提出早期代表系统SystemR:由IBM研制INGRES:由加州Berkeley分校研制目前主流的关系数据库管理系统软件产品包括:IBMDB2UDB,Oracle,Informix,Sybase,MSSQLServer,MySQLAccess,Foxpro,Foxbase定义2.1:域(domain)是一组值的集合,同一个域中的所有值均应具有相同的数据类型例2-1:D1={袁玲,吴丹,刘杰}D2={男,女}D3={18,19}其中:D1(姓名)、D2(性别)和D3(年龄)为域名,分别表示“人员”关系中姓名、性别和年龄的可取值范围D1的基数m1=3,D2的基数m2=2,D3的基数m3=2域中元素一般无排列次序,如:D2={男,女}={女,男}关系的定义(9/8)定义2.2:域D1,D2,…,Dn上的笛卡儿积是一个集合:

D1×D2×…×Dn={(d1,d2,…dn)|di∈Di,1≤i≤n}

其中允许Di=Dj且i≠j,将该集合中的每一个元素(d1,d2,…dn)称为一个元组(tuple),元组中的每一个值di称为一个分量(component),有n个分量的元组称为n元组关系的定义关系的定义则D1、D2和D3的笛卡尔积可以表示成一张二维表,如表2-1所示。

D1D2D3袁玲男18袁玲男19袁玲女18袁玲女19吴丹男18吴丹男19吴丹女18吴丹女19刘杰男18刘杰男19刘杰女18刘杰女19该笛卡尔积的基数为3×2×2=12,即共有12个元组,(袁玲、男、18)和(吴丹、女、19)就是元组,“袁玲”、“女”、“吴丹”、“19”就是分量。有时一个元组也被称为一条记录

例2-2:已知三个域:D1={袁玲,吴丹,刘杰}D2={男,女}D3={18,19}定义2.3:D1×D2×…×Dn上的任意一个子集均是定义在域D1,D2,…Dn上的一个关系(relation),记为R由n个域构成的关系通常称为n元关系,关系中的每个元素即是这个关系的元组

关系的定义由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(Attribute)定义2.4:为关系的每个列所起的名字称为关系的属性,一般可表示为A,B,C…n目关系必有n个属性,表的任意一列对应一个属性,属性的名称称为“属性名”,具体元组的属性取值称为“属性值”

关系的定义定义2.5:如果一个关系中的某个属性或属性集能够唯一的确定一个元组,则称该属性(集)是这个关系上的超键(super

key,SK);如果将超键中的任一属性去掉后剩余的属性集不能唯一标识一个元组,则称该属性集是关系上的候选键(candidate

key,CK);通常从候选键中选择一个使用,这个候选键称为关系的主键(primary

key,PK)

关系的定义一般情况下,如不加特别说明,键即指主键。如果关系R1中的某个属性集是另外一个关系R2的候选键,那么该属性集对于关系R1而言是它的外键(foreignkey,FK)

关系的定义定义2.6:关系模式(relation

schema)是对关系的型的描述,可以表示为:R(U,D,DOM,I,F)其中,U是R的属性集合{A1,A2,…,An},D是属性的取值范围,即域的集合{D1,D2,…,Dn},DOM是U到D的映射集合{A1→D1,A2→D2,…,An→Dn},I是完整性约束规则集,F是函数依赖集合习惯上将关系简记为R(A1/D1,A2/D2,…,An/Dn)或者R(A1,A2,…,An)

关系模式关系模式与关系关系可看作是关系模式在某一时刻的状态或内容,也就是说,关系模式是型,关系是值关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据

关系的特征(1)关系中不允许出现相同的元组(2)关系中元组的顺序(即行序)是无关紧要的,在一个关系中可以任意交换两行的次序(3)关系中属性的顺序是无关紧要的,即属性的顺序可以任意交换。交换时应连同属性名一起交换,否则将得到错误的关系(4)同一属性名下的各个属性值必须来自同一个域,是同一类型的数据(5)关系中各个属性必须有不同的名字,不同的属性可来自同一个域,即他们的分量可以取自同一个域(6)关系中每个分量必须是不可分的数据项,或者说所有属性值都是原子的,是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,即不可“表中有表”关系的类型在关系数据库中,关系有以下三种类型:(1)基本表:实际存在的表,对应实际存储数据的逻辑表示(2)查询表:对基表查询得到的结果表(3)视图表:从基本表或其他视图中导出的表返回目录关系数据库在一个给定的应用领域中,所有关系的集合构成一个关系数据库关系数据库的型与值关系数据库的型:关系数据库模式对关系数据库的描述。关系数据库模式包括若干域的定义在这些域上定义的若干关系模式关系数据库的值:关系模式在某一时刻对应的关系的集合,简称为关系数据库关系模型的完整性(integrity)规则是为了保证数据的正确性和相容性而在关系上施加的约束条件

关系的完整性(1)域完整性约束元组分量在某个属性上的取值应在其值域之内;元组是否能在某个属性上取空值null,由该属性的语义决定

关系的完整性(2)实体完整性约束元组在键上的取值不可重复,且不能为null按照键的定义,如果不同的元组在键上取相同值或空值,则将无法区分两个不同的元组

关系的完整性(3)参照完整性约束属性集FK是关系R上的外键,属性集PK是关系S上的主键,FK引用PK,R和S可以是不同的关系,也可以是相同的关系。参照完整性约束要求R上的元组t在FK属性上的取值t[FK]必须是如下两种情况之一:

关系的完整性等于关系S中某个元组在主键PK上的值;取空值null;(4)用户定义的完整性约束用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能

关系的完整性关系模型

关系模型(RelationModel)由一组相互联系的关系组成,是用二维表结构来表示实体与实体间的联系的模型关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成,如图所示:关系完整性约束关系数据库关系数据结构关系操作集合域-笛卡尔积-关系关系模式关系代数关系演算关系逻辑图

关系模型的组成部分

关系模型关系操作集合是指关系模型提供的一组完备的高级关系运算,这些关系运算支持对数据库的各种操作。关系运算通常分成关系代数和关系演算为简化分析,有时候也使用简化的关系模型,如图所示图

简化的关系模型数据定义语言(DDL)数据操纵语言(DML)数据控制语言(DCL)基本表、关系模式提供数据的存放格式提供数据库、表结构的定义、数据完整性提供对数据库、表结构的查询、修改等操作提供对数据库、表结构的授权等安全操作+++关系模型的优点单一的数据结构形式,具有高度的简明性和精确性逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性关系模型使数据库的研究建立在比较坚实的数学基础上关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库为基础的推理系统和知识库系统的研究提供了方便关系数据语言一体化一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。对象单一,都是关系,因此操作符也单一。而非关系型系统,如DBTG,有对记录的操作,有对系的操作非过程化用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成面向集合的存取方式操作对象是一个或多个关系,结果是一个新的关系(一次一关系);非关系系统是一次一记录的方式关系数据语言抽象的查询语言关系代数用对关系的运算来表达查询,需要指明所用操作关系演算用谓词来表达查询,只需描述所需信息的特性元组关系演算谓词变元的基本对象是元组变量域关系演算谓词变元的基本对象是域变量关系数据语言具体系统中的实际语言SQL介于关系代数和关系演算之间,由IBM公司在研制SystemR时提出QUEL基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现QBE基于域关系演算,由IBM公司研制2.2关系代数关系运算是关系数据库的数学基础,分为关系代数和关系演算两大类关系代数中运算对象是关系,运算结果也是关系,运算符包括四类:(1)集合运算符:∪(并),-(差),∩(交),×(广义笛卡尔积)(2)专门的关系运算符:σ(选择),π(投影),∞(连接),÷(除)(3)算术比较符:>(大于),≥(大于等于),<(小于),≤(小于等于),=(等于),≠(不等于)(4)逻辑运算符:∧(与),∨(或),┐(非)关系代数--记号给定关系模式R(A1,A2,…,An),设R是它的一个具体的关系,tR是关系的一个元组分量设tR,则t[Ai]表示元组t中相应于属性Ai的一个分量属性列Ai={Ai1,Ai2,…,Aik}{A1,A2,…,An},称A为属性列A表示{A1,A2,…,An}中去掉A后剩余的属性组t[Ai]=(t[Ai1],t[Ai2],…,t[Aik])选择运算定义在关系R中选择满足给定条件的元组(从行的角度)F(R)={t|tR,F(t)=‘真’}F是选择的条件,tR,F(t)要么为真,要么为假F的形式:由逻辑运算符连接算术表达式而成 逻辑表达式:,, 算术表达式:XY X,Y是属性名、常量、或简单函数 是比较算符,{,,,,,≠}选择运算:例ABC367257723443RA<5(R)

ABC367257443A<5C=7(R)

ABC367257选择运算:例找年龄不小于20的男生AGE≥20∧

SEX=‘male’(S)投影定义从关系R中取若干列组成新的关系(从列的角度)A(R)={t[A]|tR},AR投影的结果中要去掉相同的行cbcfedcbaCBABCbcef

R

B,C(R)投影给出所有学生的姓名和年龄SN,AGE(S)找001号学生所选修的课程号C#(S#=001

(SC))并运算定义所有至少出现在两个关系中之一的元组集合RS={r|rRrS}RS两个关系R和S若进行并运算,则它们必须是相容的:关系R和S必须是同元的,即它们的属性数目必须相同对i,R的第i个属性的域必须和S的第i个属性的域相同并运算ABC367257723443RABC345723SABC367257723443345R∪S并运算示例求选修了001号或002号课程的学生号 方案1:∏S#(C#=001∨

C#=002(SC))

方案2:∏S#(C#=001(SC))∪∏S#(C#=002(SC))差运算定义所有出现在一个关系而不在另一关系中的元组集合RS={r|rR

rS}R和S必须是相容的RS差运算ABC367257723443RABC345723SABC367257443R-SABC367S-R差运算示例求选修了001号而没有选002号课程的学生号∏S#(C#=001(SC))-∏S#(C#=002(SC))交运算定义所有同时出现在两个关系中的元组集合RS={r|rR

rS}交运算可以通过差运算来重写RS=R(RS)=S-(S-R)RS交运算ABC367257723443RABC345723SABC723R∩S交运算示例求同时选修了001号和002号课程的学生号错误的写法:∏S#(C#=001

C#=002(SC))正确的写法:∏S#(C#=001(SC))∩∏S#(C#=002(SC))广义笛卡尔积运算元组的连串(Concatenation)若r=(r1,…

,rn),s=(s1,…,sm),则定义r与s的连串为:定义两个关系R,S,其度分别为n,m,则它们的笛卡尔积是所有这样的元组集合:元组的前n个分量是R中的一个元组,后m个分量是S中的一个元组RS的度为R与S的度之和,RS的元组个数为R和S的元组个数的乘积rs=(r1,…

,rn,s1,…,sm)RS={rs|rR

sS}广义笛卡尔积运算AB12rCD10102010EaabbsAB11112222CD1019201010102010Eaabbaabbrx

s广义笛卡尔积运算A=C(rxs)rxsA=C(rxs)AB11112222CD

1019201010102010EaabbaabbABCDE122102020aab广义笛卡尔积运算示例求数学成绩比王红同学高的学生89数学张军86数学王红93物理张军成绩课程姓名∏S.姓名(

R.成绩S.成绩R.课程=数学S.课程=数学R.姓名=王红

(RS(R))R86数学王红86数学王红86数学王红R.成绩R.课程R.姓名89数学张军86数学王红93物理张军S.成绩S.课程S.姓名连接定义从两个关系的广义笛卡儿积中选取给定属性间满足一定条件的元组

A,B为R和S上度数相等且可比的属性列为算术比较符,为等号时称为等值连接

RS=r[A]S[B](

R×S)ABABRS={rs|rR

sS

r[A]S[B]}连接求数学成绩比王红同学高的学生。987654321CBADE3162ABCDE123311236245662

RSB<D

R

S∏S.姓名((课程=数学姓名=王红(R))(

课程=数学S(R)))R.成绩<S.成绩自然连接定义从两个关系的广义笛卡儿积中选取在相同属性列B上取值相等的元组,并去掉重复的行自然连接与等值连接的不同自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉重复的属性,而等值连接则不必。当R与S无相同属性时,RS=R×SRS={rs[B]|rR

sS

r[B]=S[B]}自然连接AB12412CDaababrB13123DaaabbEs11112aaaabABCDErs自然连接(9/11)示例求001号学生所在系的名称∏DN(S#=001(S)DEPT)987654321CBACD3162

R

SABCD12314562

RS外连接例:列出所有教师的信息,包括姓名、工资、所教授的课程∏P#,PN,SAL,C#,CN((PROF)PCC)500李三P04600700800SAL孙立P03钱广P02赵明P01PNP#化学C03数学C02物理C01CNC#P04C02P02C02P01C01P#C#数学C02500李三P04数学C02700钱广P02物理C01800赵明P01CNC#SALPNP#问题:有关P03号职工的姓名和工资信息没有显示出来外连接为避免自然连接时因失配而发生的信息丢失,可以假定往参与连接的一方表中附加一个取值全为空值的行,它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配,称之为外连接外连接=自然连接+失配的元组外连接的形式:左外连接、右外连接、全外连接左外连接=自然连接+左侧表中失配的元组右外连接=自然连接+右侧表中失配的元组全外连接=自然连接+两侧表中失配的元组左外连接500李三P04600700800SAL孙立P03钱广P02赵明P01PNP#化学C03数学C02物理C01CNC#P04C02P02C02P01C01P#C#数学C02500李三P04数学C02700钱广P02物理C01800赵明P01CNC#SALPNP#所有老师的信息右外连接500李三P04600700800SAL孙立P03钱广P02赵明P01PNP#化学C03数学C02物理C01CNC#P04C02P02C02P01C01P#C#数学C02500李三P04数学C02700钱广P02物理C01800赵明P01CNC#SALPNP#所有课程的信息全外连接500李三P04600700800SAL孙立P03钱广P02赵明P01PNP#化学C03数学C02物理C01CNC#P04C02P02C02P01C01P#C#数学C02500李三P04数学C02700钱广P02物理C01800赵明P01CNC#SALPNP#所有老师和课程的信息ABCa1a2a3b1b2b3c1c2c3BCDb1b3b4c1c3c4d1d3d4RSABCDa1a2a3b1b2b3c1c2c3d1nulld3ABCDa1a3nullb1b3b4c1c3c4d1d3d4ABCDa1a2a3nullb1b2b3b4c1c2c3c4d1nulld3d4R*SR*SR**S外连接R和S的半联接是将其自然联接的结果在R的属性集上投影,可以表示为:RS=πR(RS),SR=πS(RS)半联接不具有交换率RS=R(SR)半联接RABCa1a2a3a4b1b1b2b4c1c1c3c4BCDb1b1b2b4c1c1c2c4d1d2d2d3SABCa1a2a4b1b1b4c1c1c4BCDb1b1b4c1c1c4d1d2d3RSSR半联接除(Divison)象集(ImageSet)关系R(X,Z),X,Z是属性组,x是X上的取值,定义x在R中的象集为Zx={t[Z]|tR

t[X]=x}从R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的分量XZ张军同学所选修的全部课程x=张军Zx姓名课程张军物理王红数学张军数学课程数学物理除(Divison)

方法:逐个考虑选课关系SC中的元组r,求r在姓名SN上的分量x,再求x在选课关系中的象集课程Cx,若Cx包含了所有的课程C,则x是满足条件的一个元组如何得到选修了全部课程的学生?{x|x=r[SN]

rSC

CxC}选修全部课程的学生全部课程x同学所选修的全部课程除(Divison)定义:R(X,Y)S(Y)={x|x=r[R]rRYxS}R(X,Y)S(Y)={t|tX(R)sS(tsR)}RS=X(R)X(X(R)Y(S)R)注意上述3个定义是相互等价的谁能证明?除(Divison)R÷S的计算过程(1)T=ΠX(R)(2)W=(T×S)-R(3)V=ΠX(W)(4)R÷S=T-V除(Divison)例:计算R÷SABCDabcdabefabdebcefedcdedefCDcDef关系R关系S除(Divison)(1)T=ΠX(R)ABabababbceded=ABabbced关系T除(Divison)(2)W=(T×S)-RABCDabcdabefbccdbcefedcdedefABCDabcdabefabdebcefedcdedef关系W除(Divison)(3)V=ΠX(W)ABbc关系V除(Divison)(4)R÷S=T-VABabbcedABbc关系V

-=ABabed关系T除(Divison)ABCDabcdabefabdebcefedcdedefCDcDefABabed除(Divison)ABCDabcdabefabdebcefedcdedefCDcdefABabedABabbcedABCDabcdabefbccdbcefedcdedefR

AB(R)S

AB(R)CD(S)AB(R)CD(S)-RABCDbccdRS=ABabbcedABbc-=除(Divison)例2.1查询同时选修了001和002号课程的学生号

方案1:∏S#,C#(SC)C#=001

C#=002(C)

方案2:∏S#(SCC#=001

C#=002(C))

哪一个正确?除(Divison)物理数学课程=物理王红数学张军数学王红物理张军课程姓名王红张军姓名没有选修全部课程的学生所有学生选修全部课程=数学张军数学王红物理张军课程姓名物理王红数学张军数学王红物理张军课程姓名姓名王红姓名王红张军姓名王红=姓名张军选修了全部课程的学生除(Divison)课程数学物理=姓名课程成绩张军物理93王红数学86张军数学93王红物理92课程数学物理姓名课程张军物理王红数学张军数学王红物理姓名张军王红=姓名成绩张军93选修了全部课程并且成绩都相同的学生选修了全部课程的学生RABCDa1a1a1a2a3a3b1b1b1b2b3b3c1c2c3c2c1c3d1d2d3d2d1d3CDc1c3d1d3ABa1a3b1b3SR÷S除(Divison)关系代数查询实例在关系代数运算中,由5个基本操作经过有限次复合的式子称为关系代数表达式关系代数表达式的运算结果仍是一个关系我们可以用关系代数表达式表示各种数据查询操作

关系数据库模式:Student(S#,Class,Sname,Sex,Age)Course(C#,Cname,Teacher)SC(S#,C#,Grade)关系代数查询实例例2.2查询王老师开设课程的编号及课程名:

πC#,Cname(σTeacher=‘王’(Course))例2.3查询至少选修了一门王老师所开设课程的学生学号:

πS#(SC

πC#(σTeacher=‘王’(Course)))关系代数查询实例关系代数查询实例例2.4查询仅选修了C01号课程的学生号选修C01号课程的学生-仅选C01号课程之外的学生∏S#(C#=C01(SC))-∏S#(SC-C#=C01(SC))S#C#SCOREP03C0288P01C0392S#P01P02S#P01P03S#P02例2.5.李同学未选课程的编号:

πC#(Course)-πC#(σSname=‘李’(StudentSC))例2.6.至少选修了两门课程的学生学号:

π1(σ1=4∧2≠5(SC×SC))例2.7.全部学生均选修了的课程编号及名称:

πC#,Cname(Course(πS#,C#(SC)÷πS#(Student)))关系代数查询实例2.3关系演算关系演算以数理逻辑中的谓词演算为基础按谓词变元分类1.元组关系演算:以元组变量作为谓词变元的基本对象2.域关系演算:以域变量作为谓词变元的基本对象元组关系演算在元组关系演算(TupleRelationalCalculus)中,元组关系演算表达式简称为元组表达式,其一般形式为

{t|P(t)}其中:t是元组变量,表示一个元数固定的元组P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式{t|P(t)}表示满足公式P的所有元组t的集合在元组表达式中,公式由原子公式组成原子公式有以下的三种形式:R(t),t是元组变量,R是关系,R(t)表示t∈R,即t是R的一个元组

s[i]θt[j],s和t都是元组变量,s[i]表示元组s的第i个分量,t[j]表示t的第j个分量,θ是算术比较运算符。s[i]θt[j]表示s的第i个分量和t的第j个分量满足θ比较关系s[i]θc或cθs[i],c是常量,s[i]θc表示元组s的第i个分量和常量c满足θ这样的比较关系元组关系演算元组关系演算在定义关系演算操作时,要用到“自由”(Free)和“约束”(Bound)变量概念在一个公式中,如果元组变量未用存在量词∃或全称量词符号定义,那么称为自由元组变量,否则称为约束元组变量元组关系演算在原子公式的基础上可以通过以下递归定义构成元组关系演算公式:每个原子是一个公式。其中的元组变量是自由变量如果P1和P2是公式,那么┐P1、P1∨P2、P1∧P2和P1P2也都是公式如果P1是公式,那么(s)(P1)和(s)(P1)也都是公式。公式中各种运算符的优先级从高到低依次为:θ,和,┐,∧和∨,在公式外还可以加括号,以改变上述优先顺序公式只能由上述5种形式构成,除此之外构成的都不是公式元组关系演算在元组关系演算公式中,有下列三个等价的转换规则:①P1∧P2等价于┐(┐P1∨┐P2)

P1∨P2等价于┐(┐P1∧┐P2)②(s)(P1(s))等价于┐(s)(┐P1(s))

(s)(P1(s))等价于┐(s)(┐P1(s))③P1P2等价于┐P1∨P2pq┑ppq┑pqTTFTTTFFFFFTTTTFFTTT元组关系演算ABC123456789ABC123346569RSABC346569{t|tSt[A]>2}ABC456789{t|tR┑tS}元组关系演算ABC123346{t|tS

uR(t[C]<u[B])}ABC456789{t|tR

uS(t[C]<u[A])}R.BS.CR.A534837867897{t|vS(uR(u[A]>v[B]t[A]=u[B]t[B]=v[C]t[C]=u[A]))}ABC147258369DE3746RSABC475869ABE114225466R1={t|(u)(R(t)∧S(u)∧t[3]>u[1])}R2={t|(u)(v)(R(u)∧S(v)∧u[2]<v[1]∧t[1]=u[1]∧t[2]=u[2]∧t[3]=v[2])}元组关系演算元组关系演算安全表达式元组关系演算有可能会产生无穷大的关系,或包含无穷验证的表达式这样的表达式是不安全的如{t|┑(tR)},求所有不在R中的元组,如果不加限制,则可能产生无穷大的关系不产生无穷大的关系和无穷验证的表达式称为安全表达式,为了保证运算的安全性而采取的限制措施称为安全约束元组关系演算安全表达式为定义安全约束,首先引入公式P域的概念,用dom(P)表示dom(P)=显式出现在P中的值+在P中出现的关系的元组中出现的值(不必是最小集)如:dom(t|┑(tR))是R中出现的所有值的集合安全表达式如果{t|P(t)}满足下面的三个条件,则{t|P(t)}是安全的:1)如果P(t)为真,则t的每个分量在Dom(P)中2)对于P中每个形如(u)(Q(u))的子表达式,如果u使Q(u)为真,则u的每个分量在Dom(P)中3)对于P中每个形如(u)(Q(u))的子表达式,如果u使Q(u)为假,则u的每个分量在Dom(P)中元组关系演算元组关系演算ABA1B1A1B2A2B3dom(┑(t

R))={{A1,A2},{B1,B2,B3}}ABA1B3A2B1A2B2R{t|┑(tR)}

例2.6:查询“离散数学”课程的编号及任课教师R={t|(u)(Course(u)∧u[2]=’离散数学’∧t[1]=u[1]∧t[2]=u[3])}例2.7:查询选修了’数据结构’的学生学号及姓名R={t|(u)(v)(w)(Student(u)∧SC(v)∧Course(w)∧u[1]=v[1]∧v[2]=w[1]∧w[2]=’数据结构’∧t[1]=u[1]∧t[2]=u[3])}元组关系演算元组关系演算例2.8:查询选修了全部课程的学生号{t|uC(sSC

(s[CNO

温馨提示

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

最新文档

评论

0/150

提交评论