《第2章关系运算理论PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章关系运算理论PPT讲稿.ppt(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章关系运算理论章关系运算理论第1页,共58页,编辑于2022年,星期一l用二维表格表示实体集,用关键码进行数据导航的数用二维表格表示实体集,用关键码进行数据导航的数据模型称为据模型称为关系模型关系模型。l关系模型是关系模型是1970年由年由E.F.Codd提出的,在关系模型基础提出的,在关系模型基础上发展的关系数据库系统已成为当今应用最广泛的数据库上发展的关系数据库系统已成为当今应用最广泛的数据库系统。系统。l与层次模型、网状模型相比,关系模型有两个显著特点:与层次模型、网状模型相比,关系模型有两个显著特点:数据结构简单,即用二维表格表示实体及实体集间的联数据结构简单,即用二维表格表示实
2、体及实体集间的联系;系;有关系运算理论和关系模式设计理论等扎实的理论基有关系运算理论和关系模式设计理论等扎实的理论基础。础。第2页,共58页,编辑于2022年,星期一2.1关系的数学定义关系的数学定义2.1.1关系的基本术语关系的基本术语1.关系模型的基本术语关系模型的基本术语学生信息表学号学号姓名姓名性别性别籍贯籍贯系系001张三男北京数学002李四女上海物理003王五男长沙计算机第3页,共58页,编辑于2022年,星期一二维表格对应的关系模式术语如下二维表格对应的关系模式术语如下l属性:字段或数据项称为属性,也称为列。属性:字段或数据项称为属性,也称为列。l属性值:字段值称为属性值。属性值
3、:字段值称为属性值。l关系模式:记录类型或表结构称为关系模式,关系模式:记录类型或表结构称为关系模式,即表头或表框架。关系模式是对关系的描述,即表头或表框架。关系模式是对关系的描述,一般表示为:一般表示为:l关系名(属性关系名(属性1,属性,属性2,属性,属性n)l元组:记录称为元组,也称为行。元组:记录称为元组,也称为行。第4页,共58页,编辑于2022年,星期一l关系:元组的集合称为关系,一个关系对应关系:元组的集合称为关系,一个关系对应通常说的一个二维表。通常说的一个二维表。l值域:属性的取值范围称为属性的值域。值域:属性的取值范围称为属性的值域。l分量:元组中的一个属性值。分量:元组中
4、的一个属性值。l基数:元组的个数称为基数,即记录数。基数:元组的个数称为基数,即记录数。l元数:属性的个数称为元数,即列数。元数:属性的个数称为元数,即列数。第5页,共58页,编辑于2022年,星期一2.关键字(关键字(Key,关键码、键、码),关键码、键、码)l超键:若关系中的某一属性组的值能唯一地标识一个元组,则超键:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为超键。称该属性组为超键。l候选键:不含有多余属性的超键称为候选键。候选键:不含有多余属性的超键称为候选键。l主键:若一个关系有多个候选键,则选定其中一个为主键。主键:若一个关系有多个候选键,则选定其中一个为主键。例例
5、学生关系:学生(学生关系:学生(学号学号,姓名,年龄),姓名,年龄)学生选课关系:选修(学生选课关系:选修(学号,课程号学号,课程号,成绩),成绩)l主属性:包含在任何一个候选键中的属性称为主属性。主属性:包含在任何一个候选键中的属性称为主属性。l非主属性:不包含在任何一个候选键中的属性称为非主属性。非主属性:不包含在任何一个候选键中的属性称为非主属性。第6页,共58页,编辑于2022年,星期一3.关系的类型关系的类型l关系可以有三种类型:关系可以有三种类型:基本表(基本关系)基本表(基本关系)-实际存在的表,它实际存在的表,它是实际存储数据的逻辑表示。是实际存储数据的逻辑表示。查询表查询表-
6、是查询结果对应的表。是查询结果对应的表。视图视图-由基本表或其他视图表导出的表,由基本表或其他视图表导出的表,是虚表(不对应实际存储的数据)。是虚表(不对应实际存储的数据)。第7页,共58页,编辑于2022年,星期一4.关系的性质关系的性质l在关系数据库中,关系是一种规范化了的二维表格。在关系数据库中,关系是一种规范化了的二维表格。l基本关系具有以下六条性质:基本关系具有以下六条性质:列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。不同的列可以出自同一个域,称其中的每一列为一个属性,不不同的列可以出自同一个域,称其中的每一
7、列为一个属性,不同的属性要给予不同的属性名。同的属性要给予不同的属性名。列的顺序无所谓。列的顺序无所谓。任意两个元组不能相同。任意两个元组不能相同。行的顺序无所谓。行的顺序无所谓。分量必须取原子量,即每一个分量都必须是不可分的数据项。分量必须取原子量,即每一个分量都必须是不可分的数据项。第8页,共58页,编辑于2022年,星期一2.1.2关系的数学定义关系的数学定义第9页,共58页,编辑于2022年,星期一1.域(域(Domain)l域是一组具有相同数据类型的值的集合。域是一组具有相同数据类型的值的集合。l如:如:1,3,5,99100以内的奇数以内的奇数男男,女女两种性别的集合两种性别的集合
8、第10页,共58页,编辑于2022年,星期一2.笛卡尔积笛卡尔积l给定一组域给定一组域D1,D2,Dn,这些域中可以,这些域中可以有相同的,有相同的,D1,D2,Dn的笛卡尔积为:的笛卡尔积为:l其中每一个元素(其中每一个元素(d1,d2,dn)叫做一个)叫做一个n元组,简称元组。元组,简称元组。l元组中的每一个值元组中的每一个值di叫做一个分量。叫做一个分量。第11页,共58页,编辑于2022年,星期一例:例:l设设D11,3,D24,6ln个域的笛卡尔积对应一张二维表个域的笛卡尔积对应一张二维表D D1 1D D2 21 14 41 16 63 34 43 36 6第12页,共58页,编辑
9、于2022年,星期一3.关系关系lD1D2Dn的子集叫作在域的子集叫作在域D1,D2,Dn上的关系。上的关系。l表示为表示为lR表示关系的名字,表示关系的名字,n是关系的目或度。是关系的目或度。第13页,共58页,编辑于2022年,星期一例:例:lD1王,赵王,赵D2计算机,电子计算机,电子D D1 1D D2 2王王王王计算机计算机计算机计算机王王王王电子电子电子电子赵赵赵赵计算机计算机计算机计算机赵赵赵赵电子电子电子电子D1D2笛卡尔积的二维表第14页,共58页,编辑于2022年,星期一l通常一个学生只能选择一个专业,则通常一个学生只能选择一个专业,则D1D2的子集 D D1 1D D2
10、2王王王王计算机计算机计算机计算机赵赵赵赵电子电子电子电子该关系给出了学生所学专业的情况。在关系数据库中,为了消除域的次序对关系的影响(域可以相同),根据域的不同含义对其命名,称为属性名。第15页,共58页,编辑于2022年,星期一2.2关系数据库关系数据库2.2.1关系模型关系模型l关系模型由关系数据结构、关系操作集合和关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系完整性约束三部分组成。第16页,共58页,编辑于2022年,星期一1.关系模型的数据结构非常单一关系模型的数据结构非常单一l在关系模型中,现实世界的在关系模型中,现实世界的实体实体以及以及实体间实体间的各种联
11、系的各种联系均用均用关系关系表示,在用户看来,关表示,在用户看来,关系模型中数据的逻辑结构是一张系模型中数据的逻辑结构是一张二维表二维表。第17页,共58页,编辑于2022年,星期一2.关系操作关系操作l关系模型给出了关系操作的能力。关系模型给出了关系操作的能力。l关系模型中常用的关系操作包括选择、投影、关系模型中常用的关系操作包括选择、投影、连接、除、并、交、差等查询操作,和增加、连接、除、并、交、差等查询操作,和增加、删除、修改操作两大部分。查询的表达能力删除、修改操作两大部分。查询的表达能力是其中最主要的部分。是其中最主要的部分。l关系操作的特点是关系操作的特点是集合集合操作方式,即操作
12、方式,即操作对操作对象和结果都是集合象和结果都是集合。第18页,共58页,编辑于2022年,星期一3.关系的三类完整性约束关系的三类完整性约束l关系模型允许定义三类完整性约束:关系模型允许定义三类完整性约束:实体完实体完整性整性、参照完整性参照完整性和和用户定义的完整性用户定义的完整性。其。其中实体完整性和参照完整性是关系模型必须中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自满足的完整性约束条件,应该由关系系统自动支持。用户定义的完整性是应用领域需要动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义遵循的约束条件,体现了具体领域中的语义约
13、束。约束。第19页,共58页,编辑于2022年,星期一实体完整性实体完整性l若属性若属性A是基本关系是基本关系R的主属性,则属性的主属性,则属性A不能取空值。不能取空值。l实体完整性规则规定基本关系的所有主属性都不能取空值,而实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。不仅是主码整体不能取空值。l实体完整性规则说明:实体完整性规则说明:实体完整性规则是针对基本关系而言的,一个基本表通常对应实体完整性规则是针对基本关系而言的,一个基本表通常对应现实世界的一个实体集。现实世界的一个实体集。现实世界中的实体是可区分的,即他们具有某种唯一的标识,相应现实世界中的实体
14、是可区分的,即他们具有某种唯一的标识,相应地关系模型中以主码作为唯一标识。地关系模型中以主码作为唯一标识。主码中的属性即主属性不能取空值,所谓空值就是主码中的属性即主属性不能取空值,所谓空值就是不知道不知道或或无意义无意义的值。如果主属性取空值,就说明存在某个不可标的值。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体。识的实体,即存在不可区分的实体。第20页,共58页,编辑于2022年,星期一参照完整性参照完整性l现实世界中的实体之间往往存在某种联系,在关系模型中实现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。体及实体间的联系都是
15、用关系来描述的。l例:学生实体和专业实体可以用下面的关系表示。例:学生实体和专业实体可以用下面的关系表示。R学生(学生(学号学号,姓名,性别,姓名,性别,专业号专业号)S专业(专业(专业号专业号,专业名),专业名)Fl定义:设定义:设F是基本关系是基本关系R的一个或一组属性,但不是关系的一个或一组属性,但不是关系R的码,如果的码,如果F与基本关系与基本关系S的主码的主码Ks相对应,则称相对应,则称F是是基本关系基本关系R的外码。的外码。l参照完整性规则就是定义外码与主码之间的引用规则。参照完整性规则就是定义外码与主码之间的引用规则。第21页,共58页,编辑于2022年,星期一参照完整性规则参照
16、完整性规则l若属性(或属性组)若属性(或属性组)F是基本关系是基本关系R的外码,它与基本关的外码,它与基本关系系S的主码的主码Ks相对应,则对于相对应,则对于R中的每个元组在中的每个元组在F上的值必上的值必须为:须为:或者取空值(或者取空值(F的每个属性值均为空值)。的每个属性值均为空值)。或者等于或者等于S中某个元组的主码值。中某个元组的主码值。l空值,表示尚未给该学生分配专业。空值,表示尚未给该学生分配专业。l非空值,这时该值必须是专业关系中某个元组的非空值,这时该值必须是专业关系中某个元组的专业专业号号值,表示该学生不可能分配到一个不存在的专业中。值,表示该学生不可能分配到一个不存在的专
17、业中。第22页,共58页,编辑于2022年,星期一用户定义的完整性用户定义的完整性l任何关系数据库系统都应该支持实体完整性和参照完整任何关系数据库系统都应该支持实体完整性和参照完整性规则。除此之外,不同的关系数据库系统根据其应用性规则。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。义的完整性就是针对某一具体关系数据库的约束条件。它反映了某一具体应用所涉及的数据必须满足的语义要它反映了某一具体应用所涉及的数据必须满足的语义要求。求。l关系模型应提供定义和检验这
18、类完整性的机制,以便用统一关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不是由应用程序承担这一功能。的系统的方法处理它们,而不是由应用程序承担这一功能。第23页,共58页,编辑于2022年,星期一2.2.2ER模型转换为关系模型模型转换为关系模型lER模型转换为关系模型要解决两个问题:模型转换为关系模型要解决两个问题:l如何将实体和实体间的联系转换为关系模如何将实体和实体间的联系转换为关系模式。式。l如何确定这些关系模式的属性和码。如何确定这些关系模式的属性和码。第24页,共58页,编辑于2022年,星期一原则:原则:l一个实体集(型)转换为一个关系,实体一个实体
19、集(型)转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的属性就是关系的属性,实体的码就是关系模式的码。模式的码。第25页,共58页,编辑于2022年,星期一对于实体间的联系则有以下不同情况:对于实体间的联系则有以下不同情况:l一个一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一关系模式的码和联系本身的属性。l一个一个1:
20、n联系可以转换为一个独立的关系模式,也以可与联系可以转换为一个独立的关系模式,也以可与n端对应的关系模式合并。端对应的关系模式合并。l一个一个m:n联系转换为一个关系模式。联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体的码的组合。l三个或三个以上实体间的一个多元联系可以转换为一个关系模三个或三个以上实体间的一个多元联系可以转换为一个关系模式。式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。l具有相同码的关系模式可以合并。具有相同码的关系模式可以合并。第26页,共58页,编辑于2022年,
21、星期一l部门(部门(部门号部门号,经理的职工号经理的职工号)l职工(职工(职工号职工号,部门号部门号)l产品(产品(产品号产品号)l供应商(供应商(供应商号供应商号)l零件(零件(零件号零件号)l生产(生产(职工号职工号,产品号产品号,工作天数),工作天数)l供应(供应(产品号产品号,供应商号供应商号,零件号零件号,供应量),供应量)第27页,共58页,编辑于2022年,星期一2.2.3关系数据语言关系数据语言1.关系数据库关系数据库l在关系模型中,实体及实体间的联系都是用在关系模型中,实体及实体间的联系都是用关系来表示的,在一个给定的应用领域中,关系来表示的,在一个给定的应用领域中,所有表示
22、实体及实体之间联系的关系的集合所有表示实体及实体之间联系的关系的集合构成一个关系数据库。构成一个关系数据库。第28页,共58页,编辑于2022年,星期一2.关系数据语言关系数据语言l关系数据语言按照完成的功能可分为三类:数据定义语言关系数据语言按照完成的功能可分为三类:数据定义语言(DDL)、数据操纵语言()、数据操纵语言(DML)和数据控制语言()和数据控制语言(DCL)。)。lDDL负责数据库的描述,提供一种数据定义机制,用负责数据库的描述,提供一种数据定义机制,用来描述数据库的特征或数据的逻辑结构。来描述数据库的特征或数据的逻辑结构。lDML负责数据的操作,包括数据查询和数据的增、负责数
23、据的操作,包括数据查询和数据的增、删、改等功能,其中查询的表达方式是删、改等功能,其中查询的表达方式是DML的主要部的主要部分。分。lDCL负责控制数据库的完整性和安全性,提供一种检负责控制数据库的完整性和安全性,提供一种检验完整性和保证安全的机制。验完整性和保证安全的机制。第29页,共58页,编辑于2022年,星期一l关系数据语言按照表达查询的方式不同可以关系数据语言按照表达查询的方式不同可以分为两大类:分为两大类:关系代数语言关系代数语言和和关系演算语言关系演算语言。l关系代数是用对关系的运算来表达查询要求。关系代数是用对关系的运算来表达查询要求。l关系演算是用谓词来表达查询要求。关系演算
24、是用谓词来表达查询要求。l关系演算又可按谓词变元的基本对象是元组关系演算又可按谓词变元的基本对象是元组还是域变量分为元组关系演算和域关系演算。还是域变量分为元组关系演算和域关系演算。l关系代数、元组关系演算和域关系演算三种关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的。语言在表达能力上是完全等价的。第30页,共58页,编辑于2022年,星期一l另外还有一种介于关系代数和关系演算之间另外还有一种介于关系代数和关系演算之间的语言的语言SQL(StructureQueryLangnage)-结构化查询语言结构化查询语言。lSQL不仅具有丰富的查询功能,而且具有数不仅具有丰富的查询
25、功能,而且具有数据定义和数据控制功能,是集据定义和数据控制功能,是集DDL、DML和和DCL为一体的标准的关系数据库语言。为一体的标准的关系数据库语言。第31页,共58页,编辑于2022年,星期一l关系数据库语言的主要优点是其高度的非过关系数据库语言的主要优点是其高度的非过程化,用户程化,用户只需知道做什么,而不需知道怎只需知道做什么,而不需知道怎么做么做。第32页,共58页,编辑于2022年,星期一2.3关系代数关系代数l关系代数是一种抽象的查询语言,它是用对关系代数是一种抽象的查询语言,它是用对关系关系的运算来表达查询的。的运算来表达查询的。l运算包括三大要素:运算对象,运算符,运运算包括
26、三大要素:运算对象,运算符,运算结果。算结果。l关系代数的运算对象是关系代数的运算对象是关系关系,运算结果也为,运算结果也为关系关系。第33页,共58页,编辑于2022年,星期一关系代数用到的运算符包括四类:关系代数用到的运算符包括四类:集合运算符:集合运算符:(并)、(差)、(并)、(差)、(交)(交)专门的关系运算符:专门的关系运算符:(广义笛卡尔积)、(广义笛卡尔积)、(选择)、(选择)、(投影)、(连接)、(投影)、(连接)、(除)(除)算术比较符:、算术比较符:、逻辑运算符:逻辑运算符:(非)、(非)、(与)、(与)、(或)(或)l关系代数的运算按运算符不同,可分为关系代数的运算按运
27、算符不同,可分为传统的集合运传统的集合运算算和和专门的关系运算专门的关系运算两类。两类。第34页,共58页,编辑于2022年,星期一2.3.1传统的集合运算传统的集合运算l设关系设关系R和关系和关系S具有相同的目具有相同的目n(即两个关(即两个关系都有系都有n个属性),且相应的属性取自同一个个属性),且相应的属性取自同一个域,(并相容)域,(并相容)则可以定义并、差、交的运算如下:则可以定义并、差、交的运算如下:第35页,共58页,编辑于2022年,星期一并并l关系关系R与关系与关系S的并记作,的并记作,l其结果仍为其结果仍为n目关系,由属于目关系,由属于R或属于或属于S的元的元组组成。组组成
28、。第36页,共58页,编辑于2022年,星期一例例RABa1b1a1b2a2b1SABa1b1a1b3a2b2RSABa1b1a1b2a2b1a1b3a2b2第37页,共58页,编辑于2022年,星期一差差l关系关系R与关系与关系S的差记作的差记作l其结果关系仍为其结果关系仍为n目关系,由属于目关系,由属于R而不属于而不属于S的所的所有元组组成。有元组组成。R-SR-SA AB Ba1a1b2b2a2a2b1b1第38页,共58页,编辑于2022年,星期一交交l关系关系R与关系与关系S的交记作的交记作l其结果关系仍为其结果关系仍为n目关系,由即属于目关系,由即属于R又属于又属于S的的元组组成。
29、元组组成。RSRSA AB Ba1a1b1b1第39页,共58页,编辑于2022年,星期一2.3.2专门的关系运算专门的关系运算l广义笛卡尔积广义笛卡尔积两个分别为两个分别为n目和目和m目的关系目的关系R和和S的广义笛卡尔积是一个的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前)列的元组的集合。元组的前n列是关系列是关系R的一个元的一个元组,后组,后m列是关系列是关系S的一个元组。若的一个元组。若R有有K1个元组,个元组,S有有K2个元组,则关系个元组,则关系R和关系和关系S的广义笛卡尔积有的广义笛卡尔积有K1K2个个元组。元组。第40页,共58页,编辑于2022年,星期一R RA AB
30、 Ba1a1b1b1a2a2b2b2S SC CD Dc1c1d1d1c2c2d2d2RSRS A AB BC CD Da1a1b1b1c1c1d1d1a1a1b1b1c2c2d2d2a2a2b2b2c1c1d1d1a2a2b2b2c2c2d2d2第41页,共58页,编辑于2022年,星期一选择选择l在关系在关系R中中选择满足给定条件选择满足给定条件的诸的诸元组元组。l其中其中F表示选择条件,它是一个逻辑表达式,由逻辑运算表示选择条件,它是一个逻辑表达式,由逻辑运算符符、连接各算术表达式组成。算术表达式的基本形连接各算术表达式组成。算术表达式的基本形式为:式为:l其中其中表示比较运算符(、表示
31、比较运算符(、),),X、Y是属性名,或为常量,或为简单函数;属性名也可以是属性名,或为常量,或为简单函数;属性名也可以用它的序号来代替。用它的序号来代替。l选择运算实际上是从关系选择运算实际上是从关系R中选取使逻辑表达式中选取使逻辑表达式F为真的为真的元组。元组。第42页,共58页,编辑于2022年,星期一l设有一个学生课程数据库,包括学生关系、课程关系和设有一个学生课程数据库,包括学生关系、课程关系和选修关系,选修关系,l学生(学号,姓名,性别,年龄,所在系)学生(学号,姓名,性别,年龄,所在系)l课程(课程号,课程名)课程(课程号,课程名)l选修(学号,课程号,成绩)选修(学号,课程号,
32、成绩)l例例查询数学系全体学生查询数学系全体学生第43页,共58页,编辑于2022年,星期一投影投影l从从R中选择出中选择出若干属性列若干属性列组成新的关系。组成新的关系。l其中其中A为为R中的属性列。中的属性列。l例例查询学生的姓名和所在系查询学生的姓名和所在系l投影之后取消了原关系中的某些列,就可能投影之后取消了原关系中的某些列,就可能出现重复行,应取消这些完全相同的行。出现重复行,应取消这些完全相同的行。第44页,共58页,编辑于2022年,星期一连接连接l从从两个关系的笛卡尔积两个关系的笛卡尔积中选取属性间中选取属性间满足一满足一定条件定条件的的元组元组。l连接也称为连接也称为连接,记
33、作连接,记作l其中其中A和和B分别为分别为R和和S上度数相等且可比的属上度数相等且可比的属性组。性组。第45页,共58页,编辑于2022年,星期一RABCa1b15a1b26S SB BD Db1b13 3b3b37 7A AR.BR.BC CS.BS.BD Da1a1b1b15 5b3b37 7a1a1b2b26 6b3b37 7第46页,共58页,编辑于2022年,星期一连接运算中有两种最为重要的连接:等值连接和自然连接运算中有两种最为重要的连接:等值连接和自然连接。连接。l等值连接等值连接l为为“=”的连接运算称为等值连接。它是从的连接运算称为等值连接。它是从关系关系R与与S的广义笛卡尔
34、积中选取的广义笛卡尔积中选取A、B属性相属性相等的那些元组。(不用去掉重复列)等的那些元组。(不用去掉重复列)第47页,共58页,编辑于2022年,星期一RABCa1b15a1b26S SB BD Db1b13 3b3b37 7A AR.BR.BC CS.BS.BD Da1a1b1b15 5b1b13 3第48页,共58页,编辑于2022年,星期一自然连接自然连接l是一种特殊的等值连接,它要求两个关系中是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且进行比较的分量必须是相同的属性组,并且在结果中把重复的属性去掉。在结果中把重复的属性去掉。l若若R和和S具有相同的属性
35、组具有相同的属性组B,则自然连接可,则自然连接可记作:记作:第49页,共58页,编辑于2022年,星期一RABCa1b15a1b26S SB BD Db1b13 3b3b37 7A AB BC CD Da1a1b1b15 53 3第50页,共58页,编辑于2022年,星期一除(除(Division)l给定关系给定关系R(X,Y)和)和S(Y,Z),其中),其中X,Y,Z为属性组。为属性组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必须出自相同的可以有不同的属性名,但必须出自相同的域。域。R与与S的除运算得到一个新的关系的除运算得到一个新的关系P(X),),P是是R中满足中满足下列条件的
36、元组在下列条件的元组在X属性列上的投影:元组在属性列上的投影:元组在X上分量值上分量值x的的象集象集Yx包含包含S在在Y上投影的集合。记作:上投影的集合。记作:l其中其中Yx为为x在在R中的象集,中的象集,x=trX。l除操作是同时从行和列角度进行运算。除操作是同时从行和列角度进行运算。第51页,共58页,编辑于2022年,星期一例:设关系例:设关系R,S如图,求如图,求RSl在关系在关系R中,中,A可以取四个值可以取四个值a1,a2,a3,a4。其中:。其中:la1的象集为的象集为(b1,c2),(b2,c3),(b2,c1)la2的象集为的象集为(b3,c7),(b2,c3)la3的象集为
37、的象集为(b4,c6)la4的象集为的象集为(b6,c6)lS在在(B,C)上的投影为上的投影为(b1,c2),(b2,c1),(b2,c3)R RA AB BC Ca1a1b1b1c2c2a2a2b3b3c7c7a3a3b4b4c6c6a1a1b2b2c3c3a4a4b6b6c6c6a2a2b2b2c3c3a1a1b2b2c1c1S SB BC CD Db1b1c2c2d1d1b2b2c1c1d1d1b2b2c3c3d2d2第52页,共58页,编辑于2022年,星期一l显然只有显然只有a1的象集的象集(B,C)包含了包含了S在在(B,C)属属性组上的投影,所以性组上的投影,所以RSa1。RS
38、Aa1第53页,共58页,编辑于2022年,星期一2.3.3例例l设关系模式为设关系模式为lSTUDENT(SNO,SNAME,SEX,BIRTHDAY,DNO)学生学生学号学号姓名姓名性别性别出生年月出生年月系号系号lDEP(DNO,DNAME,TEL)系系系号系号系名系名电话电话lCOURSE(CNO,CNAME,CREDIT,TIME,QUOTA)课程课程课程号课程号课程名课程名学分学分上课时间上课时间名额名额lSC(SNO,CNO,GRADE)选修课程选修课程学号学号课程号课程号成绩成绩第54页,共58页,编辑于2022年,星期一查询查询85年以后出生的女生名单,只列出年以后出生的女生名单,只列出姓名。姓名。第55页,共58页,编辑于2022年,星期一查找选修了查找选修了数据库原理数据库原理课程且课程且成绩在成绩在85分以上的学生姓名。分以上的学生姓名。第56页,共58页,编辑于2022年,星期一查询同时选修了课程号为查询同时选修了课程号为C01和和C02两两门课程的学生的学号。门课程的学生的学号。l或或建临时关系建临时关系K:CNOC01C02第57页,共58页,编辑于2022年,星期一查询计算机系学生选修的全部课程号。查询计算机系学生选修的全部课程号。第58页,共58页,编辑于2022年,星期一