




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第2章章 关系数据库关系数据库 2本章重要概念本章重要概念(1)基本概念)基本概念关系模型,关键码(主键和外键),关系关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,的定义和性质,三类完整性规则,(2)关系代数)关系代数五个基本操作,四个组合操作五个基本操作,四个组合操作. (3) 理论知识理论知识 关系模型设计理论,关系数据库设计过程。关系模型设计理论,关系数据库设计过程。3本章概要本章概要 本章先介绍关系模型的基本概念;然后介绍关本章先介绍关系模型的基本概念;然后介绍关系运算的三种理论:关系代数、关系演算;最系运算的三种理论:关系代数、关系演算;最后介绍后介绍关系模型
2、设计理论,关系数据库设计过关系模型设计理论,关系数据库设计过程程。4关系模型和关系运算理论关系模型和关系运算理论 3.1 3.1 关系模型的基本概念关系模型的基本概念 3.2 3.2 关系代数关系代数 3.3 3.3 关系模型设计理论关系模型设计理论3.4 3.4 关系数据库设计过程关系数据库设计过程返回53.1 3.1 关系模型的基本概念关系模型的基本概念 3.1.1 3.1.1 基本术语基本术语 3.1.2 3.1.2 关系的定义和性质关系的定义和性质 3.1.3 3.1.3 关系模型的三类完整性规则关系模型的三类完整性规则 3.1.4 3.1.4 关系模型的三级体系结构关系模型的三级体系
3、结构 3.1.5 3.1.5 关系模型的形式定义和优点关系模型的形式定义和优点 3.1.6 3.1.6 关系查询语言和关系运算关系查询语言和关系运算 返回63.1.1 基本术语基本术语(1) 定义定义3.1 用二维表格表示实体集,用关键码进行用二维表格表示实体集,用关键码进行数据导航的数据模型称为关系模型(数据导航的数据模型称为关系模型(relational Model)。这里数据导航)。这里数据导航(data navigation)是指从是指从已知数据查找未知数据的过程和方法。已知数据查找未知数据的过程和方法。 图图3.1 3.1 职工登记表职工登记表 73.1.1 基本术语基本术语(2)
4、在关系模型中,字段称为属性,字段值称为在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。在图属性值,记录类型称为关系模式。在图3.2中,中,关系模式名是关系模式名是R。记录称为元组(。记录称为元组(tuple),元),元组的集合称为关系(组的集合称为关系(relation)或实例)或实例(instance)。一般用大写字母)。一般用大写字母A、B、C、 表示单个属性,用大写字母表示单个属性,用大写字母 、X、Y、Z表表示属性集,用小写字母表示属性值,有时也习示属性集,用小写字母表示属性值,有时也习惯称呼关系为表或表格,元组为行惯称呼关系为表或表格,元组为行(row),属,属性
5、为列性为列(column)。 关系中属性个数称为关系中属性个数称为“元数元数”(arity),元组),元组个数为个数为“基数基数”(cardinality)。 83.1.1 基本术语基本术语(3) 关系元数为关系元数为5 5,基数为,基数为4 4。 一般术语一般术语关系模型术语关系模型术语字段、数据项字段、数据项属性属性记录类型记录类型关系模式关系模式记录记录1 1元组元组1 1记录记录2 2元组元组2 2记录记录3 3元组元组3 3记录记录4 4元组元组4 4字段值字段值属性值属性值图图3.2 3.2 关系模型的术语关系模型的术语 文文件件关关系系93.1.1 基本术语基本术语(4) 关键码
6、关键码(key,简称键简称键)由一个或多个属性组成。由一个或多个属性组成。在实际使用中,有下列几种键。在实际使用中,有下列几种键。 (1)超键()超键(Super Key) (2)候选键()候选键(Candidate Key) (3)主键)主键(Primary Key) 在图在图3.1中,(工号,姓名)是模式的一个超键,中,(工号,姓名)是模式的一个超键,但不是候选键,但不是候选键,而(工号)是候选键。在而(工号)是候选键。在实际使用中,如果选择(工号)作为删除或查实际使用中,如果选择(工号)作为删除或查找元组的标志,那么称(工号)是主键。找元组的标志,那么称(工号)是主键。 (4)外键()外
7、键(Foreign Key)返回103.1.2 3.1.2 关系的定义和性质关系的定义和性质 定义定义3.2 3.2 关系是一个属性数目相同的元组的关系是一个属性数目相同的元组的 集合。集合。 在关系模型中,对关系作了下列规范性限制:在关系模型中,对关系作了下列规范性限制:(1 1)关系中每一个属性值都是不可分解的;)关系中每一个属性值都是不可分解的;(2 2)关系中不允许出现重复元组(即不允许出现)关系中不允许出现重复元组(即不允许出现 相同的元组);相同的元组);(3 3)由于关系是一个集合,因此不考虑元组间)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;的顺序,即没有行序;(4
8、 4)元组中的属性在理论上也是无序的,)元组中的属性在理论上也是无序的, 但使用时按习惯考虑列的顺序。但使用时按习惯考虑列的顺序。返回113.1.3 关系模型的完整性规则关系模型的完整性规则(1) 实体完整性规则(实体完整性规则(entity integrity rule) 要求关系中元组在组成主键的属性上要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值不能有空值。如果出现空值,那么主键值就起不了惟一标识元组的作用。就起不了惟一标识元组的作用。123.1.3 关系模型的完整性规则关系模型的完整性规则 (2) 参照完整性规则(参照完整性规则(reference integri
9、ty rule) 定义定义3.3 参照完整性规则的形式定义如下:参照完整性规则的形式定义如下: 如果属性集如果属性集K是关系模式是关系模式R1的主键,的主键,K也是关系也是关系模式模式R2的外键,那么在的外键,那么在R2的关系中,的关系中,K的取值只允许的取值只允许两种可能,或者为空值,或者等于两种可能,或者为空值,或者等于R1关系中某个主键关系中某个主键值。值。 这条规则的实质是这条规则的实质是“不允许引用不存在的实体不允许引用不存在的实体”。 在上述形式定义中,关系模式在上述形式定义中,关系模式R1的关系称为的关系称为“参照关参照关系系”,关系模式,关系模式R2的关系称为的关系称为“依赖关
10、系依赖关系”。“主表主表”和和“副表副表”,“父表父表”和和“子表子表”。 133.1.3 关系模型的完整性规则关系模型的完整性规则 (3) 例例3.1 3.1 下面各种情况说明了参照完整性规则在关系中如何实现下面各种情况说明了参照完整性规则在关系中如何实现的。的。 在关系数据库中有下列两个关系模式:在关系数据库中有下列两个关系模式: S S(S#S#,SNAMESNAME,AGEAGE,SEXSEX)SCSC(S#S#,C#C#,GRADEGRADE) 这里带这里带 线者为主键,线者为主键, 带带 线者为外键。据规则要求关线者为外键。据规则要求关系系SCSC中的中的S#S#值应该在关系值应该
11、在关系S S中出现。如果关系中出现。如果关系SCSC中有一个元组中有一个元组(S7,C4,80S7,C4,80),而学号),而学号S7S7却在关系却在关系S S中找不到,那么我们就认中找不到,那么我们就认为在关系为在关系SCSC中引用了一个不存在的学生实体,这就违反了参照中引用了一个不存在的学生实体,这就违反了参照完整性规则。完整性规则。 另外,在关系另外,在关系SCSC中中S# S# 不仅是外键,也是主键的一部分,因此不仅是外键,也是主键的一部分,因此这里这里S# S# 值不允许空。值不允许空。143.1.3 关系模型的完整性规则关系模型的完整性规则 (4) 设工厂数据库中有两个关系模式:设
12、工厂数据库中有两个关系模式:DEPT(D#,DNAME)EMP(E#,ENAME,SALARY,D# ) 车间模式车间模式DEPT的属性为车间编号、车间名,职工模的属性为车间编号、车间名,职工模式式EMP的属性为工号、姓名、工资、所在车间的编的属性为工号、姓名、工资、所在车间的编号。每个模式的主键与外键已标出。在号。每个模式的主键与外键已标出。在EMP中,由中,由于于D# 不在主键中,因此不在主键中,因此D# 值允许空。值允许空。153.1.3 关系模型的完整性规则关系模型的完整性规则 (5) 设课程之间有先修、后继连系。模式如下:设课程之间有先修、后继连系。模式如下:R(C#,CNAME,P
13、C#) 其属性表示课程号、课程名、先修课的课程号。其属性表示课程号、课程名、先修课的课程号。如果规定,每门课程的直接先修课只有一门,那如果规定,每门课程的直接先修课只有一门,那么模式么模式R的主键是的主键是C#,外键是,外键是PC#.。这里参照完。这里参照完整性在一个模式中实现。即每门课程的直接先修整性在一个模式中实现。即每门课程的直接先修课必须在关系中出现课必须在关系中出现。 163.1.3 关系模型的完整性规则关系模型的完整性规则 (6) 用户定义的完整性规则用户定义的完整性规则 在建立关系模式时,对属性定义了数据类型,即在建立关系模式时,对属性定义了数据类型,即使这样可能还满足不了用户的
14、需求。此时,用户使这样可能还满足不了用户的需求。此时,用户可以针对具体的数据约束,设置完整性规则,由可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方法处理它们,系统来检验实施,以使用统一的方法处理它们,不再由应用程序承担这项工作。不再由应用程序承担这项工作。 例如学生的年龄定义为两位整数,范围还太大,例如学生的年龄定义为两位整数,范围还太大,我们可以写如下规则把年龄限制在我们可以写如下规则把年龄限制在1530岁之间:岁之间:CHECK(AGE BETWEEN 15 AND 30) 返回173.1.5 关系模型的三级体系结构关系模型的三级体系结构 - 关系模式关系模式 在
15、关系模型中,记录类型称为关系模式,而在关系模型中,记录类型称为关系模式,而关系模式的集合就是数据库的概念模式。在系统关系模式的集合就是数据库的概念模式。在系统实现时,关系模式和属性的命名一般都用英文单实现时,关系模式和属性的命名一般都用英文单词。譬如图词。譬如图3.53.5的的ERER图转换成的关系模式集可用图转换成的关系模式集可用图图3.63.6表示。而图表示。而图3.73.7是这个关系模型的三个具体是这个关系模型的三个具体关系。关系。图图3.6 3.6 关系模式集关系模式集 学生关系模式学生关系模式S(S#S(S#,SNAMESNAME,AGEAGE,SEX)SEX)选课关系模式选课关系模
16、式SC(S#SC(S#,C#C#,GRADE)GRADE)课程关系模式课程关系模式C(C#C(C#,CNAMECNAME,TEACHER)TEACHER)183.1.5 关系模型的三级体系结构关系模型的三级体系结构 -子模式子模式 子模式是用户所用到的那部分数据的描子模式是用户所用到的那部分数据的描述。除此之外,还应指出数据与关系模述。除此之外,还应指出数据与关系模式中相应数据的连系。例如,用户需要式中相应数据的连系。例如,用户需要用到子模式用到子模式G G(图(图3.83.8)。)。成绩子模式成绩子模式 G(S#G(S#,SNAMESNAME,C#C#,GRADEGRADE) ) 193.1
17、.5 关系模型的三级体系结构关系模型的三级体系结构 -存储模式存储模式 图图3.10 3.10 关系关系S S和和SCSC的环结构的环结构 在有些在有些DBMSDBMS中,关系存储是作为文件看待的,每个元中,关系存储是作为文件看待的,每个元组就是一个记录。由于关系模式有键,因此存储一个关组就是一个记录。由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现。如果关系的元组数目系可用散列方法或索引方法实现。如果关系的元组数目较少(较少(100100个以内),那么也可以用个以内),那么也可以用“堆文件堆文件”方式实现方式实现(即没有特定的次序)。此外,还可对任意的属性集建(即没有特定的次序)
18、。此外,还可对任意的属性集建立辅助索引。立辅助索引。 返回203.1.6 关系模型的形式定义关系模型的形式定义 关系模型有三个重要组成部分:数据结构,数据操关系模型有三个重要组成部分:数据结构,数据操纵,数据完整性规则。纵,数据完整性规则。(1 1)数据结构:数据库中全部数据及其相互连系都被)数据结构:数据库中全部数据及其相互连系都被组织成组织成“关系关系”(二维表格)的形式。关系模型基(二维表格)的形式。关系模型基本的数据结构是关系。本的数据结构是关系。(2 2)数据操纵:关系模型提供一组完备的高级关系运)数据操纵:关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。关系运算分成关
19、算,以支持对数据库的各种操作。关系运算分成关系代数、关系演算和关系逻辑等三类。系代数、关系演算和关系逻辑等三类。(3 3)数据完整性规则:数据库中数据必须满足实体完)数据完整性规则:数据库中数据必须满足实体完整性,参照完整性和用户定义的完整性等三类完整整性,参照完整性和用户定义的完整性等三类完整性规则。性规则。 213.1.6 关系模型的优点关系模型的优点 与其它数据模型相比,关系模型突出的优点如下:与其它数据模型相比,关系模型突出的优点如下:(1 1)关系模型提供单一的数据结构形式,具有高度)关系模型提供单一的数据结构形式,具有高度的简明性和精确性。的简明性和精确性。(2 2)关系模型的逻辑
20、结构和相应的操作完全独立于)关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性。数据存储方式,具有高度的数据独立性。(3 3)关系模型使数据库的研究建立在比较坚实的数)关系模型使数据库的研究建立在比较坚实的数学基础上。学基础上。(4 4)关系数据库语言与一阶谓词逻辑的固有内在连)关系数据库语言与一阶谓词逻辑的固有内在连系,为以关系数据库为基础的推理系统和知识库系系,为以关系数据库为基础的推理系统和知识库系统的研究提供了方便。统的研究提供了方便。返回223.1.7 关系查询语言和关系运算关系查询语言和关系运算 关系数据库的数据操纵语言(关系数据库的数据操纵语言(DML)的
21、语句分成)的语句分成查询语句和更新语句两大类。查询语句用于描述查询语句和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询的理论称行插入、删除、修改等操作。关于查询的理论称为为“关系运算理论关系运算理论”。 关系查询语言根据其理论基础的不同分成三类:关系查询语言根据其理论基础的不同分成三类:(1)关系代数语言。关系代数语言。(2)关系演算语言。)关系演算语言。(3)关系逻辑语言。)关系逻辑语言。 返回23关系代数关系代数 基本概念和符号基本概念和符号 传统的集合运算传统的集合运算 专门的关系运算
22、专门的关系运算 基本运算及变换基本运算及变换 关系代数应用实例关系代数应用实例 重要内容分析重要内容分析24关系代数的基本概念关系代数的基本概念 关系代数是一种抽象的查询语言,它用对关系的运算来表达查询,即,运算对象是关系,关系代数的运算结果也是关系。与一般的运算一样,运算对象、运算符和运算结果也是关系代数的三个要素。 关系代数的运算可以分为两大类 传统的集合运算 专门的关系运算 25几个概念和专门的符号几个概念和专门的符号 元组的分量 元组的连串 元组中属性的映像集26元组的分量元组的分量 设有关系模式R(A1,A2,An) rR表示r是R的一个元组 r.Ai或rAi表示r这个元组中相应于属
23、性Ai的一个分量 例如,假设R是仓库关系, r=(WH1,北京,370)是仓库关系的一个元组,则rR ,r.仓库号或r仓库号为WH1。 27元组的连串元组的连串 设R为m元关系,S为n元关系,并且 r=(r1,r2,rm)R s=(s1,s2,sn)S则 称为元组的连串。这是一个(m+n)元组,前m个分量为R中的一个m元组,后n个分量为S中的一个n元组。 ),(2121nmsssrrrrs28元组中属性的映像集元组中属性的映像集 设有关系模式R(X,Y),其中X、Y可以是单个属性,也可以是属性集,定义当X取值为x时,x在R中的映象集为: .|.xXrRrYrYx29 设有如右上表所示的订购单关
24、系,把它命名为设有如右上表所示的订购单关系,把它命名为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=30传统的集合运算传统的集合运算 集合的并运算 集合的交运算 集合的差运算 集合的广义笛卡尔积运算31并运算并运算 定义 所有至少出现在两个关系中之一的元组集合R Sn两个关系R和S若进行并
25、运算,则它们必须是相容的:n关系R和S必须是同元的,即它们的属性数目必须相同n对i,R的第i个属性的域必须和S的第i个属性的域相同32并运算并运算ABC367257723443RABC345723SABC367257723443345RS 33差运算差运算 定义 所有出现在一个关系而不在另一关系中的元组集合 R和S必须是相容的R S34差运算差运算ABC367257723443RABC345723SABC367257443RS ABC367SR 35交运算交运算 定义 所有同时出现在两个关系中的元组集合 交运算可以通过差运算来重写RS = R (R S)R S36交运算交运算ABC367257
26、723443RABC345723SABC723RS 37集合的并、交、差运算示意集合的并、交、差运算示意38集合的广义笛卡尔积运算集合的广义笛卡尔积运算设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积RS是一个m+n元关系、有kl个元组。广义笛卡儿积可以记作: 39广义笛卡尔积运算广义笛卡尔积运算AB12rCD10102010EaabbsAB11112222CD 1019201010102010Eaabbaabbr x s40专门的关系运算专门的关系运算 选择运算选择运算(Select)(Select) 投影运算投影运算(Project)(Projec
27、t) 连接运算连接运算(Join)(Join) 除运算除运算(Division(Division)41选择运算选择运算 选择运算是从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。选择运算表示为:|)(FRrrRF 其中R是关系名,是选择运算符,F是逻辑表达式。42F的形式:由连接而成逻辑表达式:,算术表达式:X YX,Y是属性名、常量、或简单函数是比较算符, , , , , , 示例 学生数据库S中找年龄不小于20的男学生AGE20 SEX=male(S)选择运算选择运算43选择运算选择运算ABC367257723443RA5(R) ABC36725744
28、3A5 C=7(R) ABC36725744选择运算举例:选择运算举例:职工号职工号=E3(订购单订购单)订购单关系 从订购单关系中选择职工从订购单关系中选择职工号为号为“E3”的元组构成新的关系的元组构成新的关系45投影运算投影运算1)选择指定的属性,形成一个可能含有重复行的表格;2)删除重复行,形成新的关系。 投影运算对指定的关系进行投影操作,根据该关系分两步产生一个新关系:46投影运算表示为投影运算表示为RARtAtRA, )( 其中R是关系名,是投影运算符,A是被投影的属性或属性集。cbcfedcbaCBABCbcef R RB , C(R)47投影投影 示例学生表,选课表给出所有学生
29、的姓名和年龄SN, AGE(S)找001号学生所选修的课程号C#( S#=001 (SC)求选修了001号或002号课程的学生号S#(C# = 001 C# = 002(SC)48投影投影 示例学生表,选课表求选修了001号而没有选002号课程的学生号S#(C# = 001 (SC) S#(C# = 002(SC)求同时选修了001号和002号课程的学生号错误的写法:S#(C# = 001 C# = 002(SC)正确的写法:S#(C# = 001 (SC)S#(C# = 002(SC)49投影运算举例:投影运算举例:订购单关系 选取职工号和供应商号两列构成新的关系职工号,供应商号(订购单)5
30、0选择和投影运算举例:选择和投影运算举例: 从订购单关系中,选取出职工号为E3的所经手的订购单号和与之相关的供应商号。订购单关系供应商号,订购单号供应商号,订购单号(职工号职工号=E3(订购单订购单)51 连接运算连接运算 定义 从两个关系的广义笛卡儿积中选取给定属性间满足一定条件的元组 A,B为R和S上度数相等且可比的属性列 为算术比较符,为等号时称为等值连接R S = rA sB( RS)A B52 连接连接 求数学成绩比王红同学高的学生姓名。987654321CBADE3162ABCDE123311236245662 R S R S B D R R S SS.姓名(课程=数学 姓名=王红
31、(R) ( 课程=数学S(R)R.成绩S.成绩53自然连接自然连接 定义 从两个关系的广义笛卡儿积中选取在相同属性列B上取值相等的元组,并去掉重复的行。 自然连接与等值连接的不同 自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉重复的属性,而等值连接则不必。 当R与S无相同属性时,R S RS54AB12412C DaababrB13123DaaabbEs11112aaaabA B C D Er s自然连接自然连接55 示例求001号学生所在系的名称DN(S# = 001(S) DEPT)987654321CBACD3162 R R S SABCD12314562 R SR S自然连
32、接自然连接56自然连接做了三件事:自然连接做了三件事: 计算广义笛卡尔积RS ; 选择满足条件rAi=sBj的所有元组; 去掉重复的属性。57自然连接的例子58综合运算实例仓库号城市面积WH1北京370WH2上海500WH3广州200WH5合肥130 根据以上关系求出在上海工作的职工的工资值都有哪些?职工职工(仓库)上海城市1R职工12RR)(工资23RR关系代数语句为:关系代数语句为:仓库仓库仓库号职工号工资WH2E11220WH1E31210WH2E41250WH3E61230WH1E7125059查询过程示意选择运算选择运算自然连接运算自然连接运算投影投影运算运算60注意 自然连接和等值
33、连接很相象,但它们不同,自然连接要去掉重复的属性,而等值连接却不需要去掉重复的属性。61 象集(Image Set) 关系R(X , Z), X, Z是属性组,x是X上的取值,定义x在R中的象集为Zx = tZ | t R tX= x 从R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的分量X Z张军同学所选修张军同学所选修的全部课程的全部课程x=张军张军Z Zx姓名姓名课程课程张军张军物理物理王红王红数学数学张军张军数学数学课程课程数学数学物理物理62除运算除运算 做法:逐个考虑选课关系SC中的元组r,求r在姓名SN上的分量x,再求x在选课关系中的象集课程Cx,若Cx包含了所有的课程C
34、,则x是满足条件的一个元组如何得到选修了全部课程的学生?如何得到选修了全部课程的学生? x | x=rSN rSC CxC 选修全部课选修全部课程的学生程的学生全部课程全部课程x同学所选修同学所选修的全部课程的全部课程63除运算除运算 除定义lR(X , Y) S(Y) = x | x=rX rR Yx y(S)lR(X , Y) S(Y) = trX| trR Yx y(S)R S是R中满足下列条件的元组在X属性列上的投影:元组在X上的分量值x的象集Yx包含S在Y上投影的集合。64除运算除运算物理数学课程物理王红数学张军数学王红物理张军课程姓名王红张军姓名没有选修全部没有选修全部课程的学生课
35、程的学生所有学生选修所有学生选修全部课程全部课程数学张军数学王红物理张军课程姓名物理王红数学张军数学王红物理张军课程姓名姓名王红姓名王红张军姓名王红姓名张军选修了全部课选修了全部课程的学生程的学生65除运算除运算ABCDabcdabefabdebcefedcdedefCDcdefABabedABabbcedABCDabcdabefbccdbcefedcdedefR AB (R)S AB AB (R) CD (S) AB (R) CD (S)-R ABCDbccdR S=ABabbcedABbc-=66除运算除运算 示例 求同时选修了001和002号课程的学生号 方案1:S#,C#(SC) C#
36、 = 001 C# = 002 (C) 方案2:S#(SC C# = 001 C# = 002 (C) 哪一个正确?67除运算除运算课程数学物理姓名课程成绩张军物理93王红数学86张军数学93王红物理92课程数学物理姓名课程张军物理王红数学张军数学王红物理姓名张军王红姓名成绩张军93选修了全部课选修了全部课程并且成绩都程并且成绩都相同的学生相同的学生选修了全部选修了全部课程的学生课程的学生68除运算的例子 它的含义是:至少向WH1、WH3、WH5供货的供应商号。69基本运算及变换 在关系代数运算中集合的在关系代数运算中集合的并运算、差并运算、差运算运算、笛卡尔积运算笛卡尔积运算以及以及选择运算
37、选择运算和和投影投影运算运算是是5种基本运算,另三种运算(集合的种基本运算,另三种运算(集合的交运算交运算以及以及连接运算连接运算和和除运算除运算)可以用)可以用5种种基本运算来表达,引进它们并不增加语言基本运算来表达,引进它们并不增加语言的能力,但是可以简化表达。的能力,但是可以简化表达。70两个关系的交运算可以表示为 R S = R - (R - S )RS71两个关系的自然连接运算可以表示为)(SRSRjiBsArX两个关系的连接运算可以表示为)(SRSRjijiBsArBA72两个关系的除运算可以表示为 )()(RSRRSRXXXXRS73关系代数的五个基本操作关系代数的五个基本操作
38、(例例)例有两个关系例有两个关系R R和和S S,试求,试求 RSRS, R RS S, B=bB=b(R R),), C C,A A(R R),即),即3 3,1 1(R R) R RS S,此处,此处R R和和S S的属性名相同,就应在属性名前注上相应的关系名。的属性名相同,就应在属性名前注上相应的关系名。(a a)关系)关系R R (b b)关系)关系S S74关系代数的五个基本操作关系代数的五个基本操作 (例例) RS RS RS C,A(R) B=b(R) 关系关系R R 关系关系S S75BAOS1SNAMESNORP3MISC4OSC2MISC4LIS4LIS4DBC1OSC2L
39、IS4BAOS1CNAMECNOP3OSC2ANS3SNAMESNORP2OSC2GUS2MISC4DBC1GUS2LIS4OSC2MISC4BAOS1ANS3CNAMECNOP2OSC3BAOS1GUS2OSC2BAOS1BAOS1OSC2DBC1BAOS1SNAMESNORP1CNAMECNOP1CNAMECNOSNAMESNOR除法操作的例子除法操作的例子76关系代数运算的应用实例关系代数运算的应用实例 在关系代数运算中,把由五个基本操作经过在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这有限次复合的式子称为关系代数表达式。这种表达式的运算结果仍是一个关系。我
40、们可种表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示各种数据查询操作。以用关系代数表达式表示各种数据查询操作。 例例3.7 3.7 设教学数据库中有三个关系:设教学数据库中有三个关系:学生关系学生关系 S S(S#S#,SNAMESNAME,AGEAGE,SEXSEX)选课关系选课关系 SCSC(S#S#,C#C#,GRADEGRADE)课程关系课程关系 C C(C#C#,CNAMECNAME,TEACHERTEACHER) 77 S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) 检索学习课程号为检索学习课程号为C2C2的学生学号与成绩。的学生学号与成绩。 S
41、#S#,GRADEGRADE(C#=C2C#=C2(SCSC)表达式中也可以不写属性名,而写上属性的序号:表达式中也可以不写属性名,而写上属性的序号:1 1,3 3(2=C22=C2(SCSC) 检索学习课程号为检索学习课程号为C2C2的学生学号与姓名。的学生学号与姓名。 S#S#,SNAMESNAME(C#=C2C#=C2(S SSCSC)由于这个查询涉及到两个关系由于这个查询涉及到两个关系S S与与SCSC,因此,因此先要对这两个关系进行自然联接操作,然后再执行选先要对这两个关系进行自然联接操作,然后再执行选择和投影操作。择和投影操作。78S(S#,SNAME,AGE,SEX)SC(S#,
42、C#,GRADE)C(C#,CNAME,TEACHER) 检索选修课程名为检索选修课程名为MATHSMATHS的学生学号与姓名。的学生学号与姓名。 S#S#,SNAMESNAME(CNAME=MATHSCNAME=MATHS(S SSCSCC C) 检索选修课程号为检索选修课程号为C2C2或或C4C4的学生学号。的学生学号。 S#S#(C#=C2C#=C4C#=C2C#=C4(SCSC) 检索至少选修课程号为检索至少选修课程号为C2C2和和C4C4的学生学号。的学生学号。 1 1(1=42=C25=C41=42=C25=C4(SCSCSCSC)这里(这里(SCSCSCSC)表示关系)表示关系SCSC自身相乘的笛卡尔积自身相乘的笛卡尔积操作。操作。79 S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) 检索不学检索不学C2C2课的学生姓名与年龄。课的学生姓名与年龄。SNAMESNAME,AGEAGE(S)(S)SNAMESNAME,AGEAGE(C#=C2C#=C2(S(SSC)SC) 这里要用到集合差操作。先求出全体学生的这里要用到集合差操作。先求出全体学生的姓名和年龄,再求出学了姓名和年龄,再求出学了C2C2课的学生的姓名课的学生的姓名和年龄,最后执行两个集合的差操作。和年龄,最后执行两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行业领先的合伙合同范本大全
- 教师职业劳动合同范本
- 中英双语涉外公司保密合同范本
- 2025年企业品牌管理战略协议书
- 2025年基础设施建设合同履约性指导
- 度种子销售合同协议
- 房屋租赁合同简易转让协议
- 软件分销合作协议合同范本
- 治疗项目合作合同:行业趋势分析
- 农产品(苹果)购销合同
- 服装仓库管理制度及流程
- 《餐饮渠道开发方案》课件
- 架子工安全教育培训试题(附答案)
- 一中师德考核评估制度
- 春节习俗中的传统茶文化与茶艺
- 医疗文书病历书写规范培训教学课件
- 分布式网络处理方案
- CNAS-CL02-A001:2023 医学实验室质量和能力认可准则的应用要求
- 土壤侵蚀分类分级标准SL190一2007
- 【《幼儿园安全教育研究文献综述》3300字】
- 网店运营管理(第二版)课件 1-网店运营基本原理
评论
0/150
提交评论