数据库技术及应用02关系数据库课件.ppt

上传人(卖家):三亚风情 文档编号:3492254 上传时间:2022-09-07 格式:PPT 页数:35 大小:1.35MB
下载 相关 举报
数据库技术及应用02关系数据库课件.ppt_第1页
第1页 / 共35页
数据库技术及应用02关系数据库课件.ppt_第2页
第2页 / 共35页
数据库技术及应用02关系数据库课件.ppt_第3页
第3页 / 共35页
数据库技术及应用02关系数据库课件.ppt_第4页
第4页 / 共35页
数据库技术及应用02关系数据库课件.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、目录目录第一节第一节 关系数据结构及概念关系数据结构及概念 1 第二节第二节 关系的完整性约束关系的完整性约束 2第三节第三节 关系模型的数据操作关系模型的数据操作 3 第四节第四节 关系代数关系代数 4机械工业出版社机械工业出版社 0 系统而严格地提出关系模型的是美国IBM公司的E.F.Codd,1970年6月,IBM圣约瑟研究实验室的高级研究员埃德加考特(Edgar Frank Codd)在Communications of ACM 上发表了大型共享数据库数据的关系模型一文,首次明确而清晰地为数据库系统提出了一种新的模型,即关系模型。它用关系的概念来建立数据模型,用以描述、设计与操纵数据库

2、。E.F.Codd之后又发表了一系列的论文继续完善和发展关系理论。80年代后,关系数据库系统成为最重要、最流行的数据库系统。当前,比较典型的实验系统有IBM公司的System R和UC Berkley的University INGRES。典型商用系统有ORACLE,SYBASE,INFORMIX,DB2和INGRES。关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。机械工业出版社机械工业出版社 12.1 关系数据结构及概念关系数据结构及概念 v 2.1.1关系数据结构关系数据结构v 在关系数据库系统中,只存在单一的数据结构就是关系。在关

3、系数据库系统中,只存在单一的数据结构就是关系。关系数据库处理的对象和结果都是用关系来表示,关系关系数据库处理的对象和结果都是用关系来表示,关系是关系数据模型的核心。是关系数据模型的核心。v 关系是满足一定条件的二维表。表中的一行称为关系的关系是满足一定条件的二维表。表中的一行称为关系的一个元组,用来存储事物的一个实例;表中的一列称为一个元组,用来存储事物的一个实例;表中的一列称为关系的一个属性,用来描述实体的某一特征。表是由一关系的一个属性,用来描述实体的某一特征。表是由一组相关实体组成的集合。所以,表和实体集这两个词常组相关实体组成的集合。所以,表和实体集这两个词常常可以交替使用。常可以交替

4、使用。v 关系数据库中,所有的数据都是通过表来进行存储的。关系数据库中,所有的数据都是通过表来进行存储的。v 例如下表例如下表2-1给出了一个关系模式给出了一个关系模式“公司职员公司职员(姓名,职姓名,职员员ID,职称,出生日期,性别,工资,职称,出生日期,性别,工资)”的实例。表的每的实例。表的每一行表示一个物理实体一行表示一个物理实体 一个职员。表中有一个职员。表中有6行,代行,代表表6个职员。表的每一列代表一个职员的一个数据项,记个职员。表的每一列代表一个职员的一个数据项,记录工作人员的一部分信息。录工作人员的一部分信息。机械工业出版社机械工业出版社 2表表2-1公司职员关系公司职员关系

5、 姓 名职员ID职称出生日期性 别工 资杜志超1001高级工程师1962-11-25男6000.00蒋明1002高级工程师1970-05-23男5500.00刘大鹏1003助理工程师1978-12-20男3000.00杨晓佳1004工程师1977-06-14女4000.00张华清1005助理工程师1979-12-26男3000.00申芊芊1006工程师1977-03-17女4000.00机械工业出版社机械工业出版社 3v关系具有以下特点:关系具有以下特点:v 关系的每一行定义实体集的一个实体,每一关系的每一行定义实体集的一个实体,每一列定义实体的一个属性;列定义实体的一个属性;v 每一行必须有

6、一个主码,主码是一个属性组每一行必须有一个主码,主码是一个属性组(可以是一个属性),它能惟一的标识一个实体;(可以是一个属性),它能惟一的标识一个实体;v 每一列表示一个属性,且列名不能重复;每一列表示一个属性,且列名不能重复;v 列的每个值必须与对应属性的类型相同;列的每个值必须与对应属性的类型相同;v 列有取值范围,称为域;列有取值范围,称为域;v 列是不可分割的最小数据项;列是不可分割的最小数据项;v 行、列的顺序对用户无关紧要。行、列的顺序对用户无关紧要。机械工业出版社机械工业出版社 4v用来表示关系的表中用来表示关系的表中的数据项不可再分。的数据项不可再分。如下表如下表2-2就不是一

7、就不是一个关系。个关系。v表表2-2非关系结构示非关系结构示例例 姓 名职员ID职称出生日期性 别工 资基本工资津贴杜志超1001高级工程师1962-11-25男2200.003800.00蒋明1002高级工程师1970-05-23男2200.002800.00刘大鹏1003助理工程师1978-12-20男1500.001500.00杨晓佳1004工程师1977-06-14女2000.002000.00张华清1005助理工程师1979-12-26男1500.001500.00申芊芊1006工程师1977-03-17女2000.002000.00机械工业出版社机械工业出版社 52.1.2 基本概

8、念基本概念 v候选码(候选码(Candidate Key)v若关系中的某一属性组(或单个属性)的值能惟若关系中的某一属性组(或单个属性)的值能惟一的标识一个元组,则称该属性组(或属性)为一的标识一个元组,则称该属性组(或属性)为候选码。候选码。v主码(主码(Primary key)v若一个关系有多个候选码,则选择其中一个候选若一个关系有多个候选码,则选择其中一个候选码作为关系的主码。码作为关系的主码。v主属性(主属性(Prime Attribute)和非主属性)和非主属性v关系中主码中的属性称为主属性。不包含在任何关系中主码中的属性称为主属性。不包含在任何一个候选码中的属性称为非主属性。一个候

9、选码中的属性称为非主属性。v域(域(Domain)v域是一组具有相同数据类型的值的集合,如整数域是一组具有相同数据类型的值的集合,如整数域、实数域等。域、实数域等。机械工业出版社机械工业出版社 6v 关系模式(关系模式(Relation Schema)v 关系模式是对关系的描述,形式化表示为关系模式是对关系的描述,形式化表示为:v R(U,D,dom,F)v 其中,其中,U:组成该关系的属性名集合;:组成该关系的属性名集合;v D:属性组:属性组U中属性所来自的域;中属性所来自的域;v dom:属性向域的映象集合,如属性的类型、长度;:属性向域的映象集合,如属性的类型、长度;v F:属性间数据

10、的依赖关系集合;:属性间数据的依赖关系集合;v 关系模式可简记为关系模式可简记为R(U)或或R(A1,A2,An),其中,其中Ai为属性名。关系模式是型,是对关系的描述,是静态为属性名。关系模式是型,是对关系的描述,是静态的,稳定的;关系是值,由赋予它的元组语义来确定的,的,稳定的;关系是值,由赋予它的元组语义来确定的,是动态的,不断变化的是动态的,不断变化的,是关系模式在某一时刻的状态或是关系模式在某一时刻的状态或内容。实际应用中常常将关系模式和关系都称为关系内容。实际应用中常常将关系模式和关系都称为关系机械工业出版社机械工业出版社 7v关系数据库关系数据库v在给定应用领域中,所有表示实体及

11、实体在给定应用领域中,所有表示实体及实体之间联系的关系的集合构成一个关系数据之间联系的关系的集合构成一个关系数据库。关系数据库也有型和值之分。关系数库。关系数据库也有型和值之分。关系数据库的型称为关系数据库模式,是对关系据库的型称为关系数据库模式,是对关系数据库的描述。它包括若干域的定义以及数据库的描述。它包括若干域的定义以及在这些域上定义的若干关系模式;关系数在这些域上定义的若干关系模式;关系数据库的值是这些关系模式在某一时刻对应据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。的关系的集合,通常简称为关系数据库。机械工业出版社机械工业出版社 82.2 关系的完整性约束

12、关系的完整性约束 v 关系完整性(关系完整性(Integrity):指关系数据的正确性和相):指关系数据的正确性和相容性。是对关系数据库数据的语义约束条件。如学生的容性。是对关系数据库数据的语义约束条件。如学生的学号必须唯一;性别只能是男或女等。数据库是否具备学号必须唯一;性别只能是男或女等。数据库是否具备完整性影响到数据库系统能否真实地反映现实世界。完整性影响到数据库系统能否真实地反映现实世界。v 加在数据库数据之上的语义约束条件称为完整性约束条加在数据库数据之上的语义约束条件称为完整性约束条件,它们作为模式的一部分存入数据库中。完整性条件件,它们作为模式的一部分存入数据库中。完整性条件的检

13、查在的检查在DBMS中实现。关系模型中有三类完整性约束:中实现。关系模型中有三类完整性约束:v 实体完整性实体完整性v 参照完整性参照完整性v 用户定义的完整性用户定义的完整性v 其中,实体完整性和参照完整性是关系模型必须满足的其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应由系统自动支持(完整性约束条件,应由系统自动支持(RDBMS来实来实现)。现)。机械工业出版社机械工业出版社 9v 1、实体完整性(、实体完整性(Entity Integrity)v 规则规则2.1实体完整性规则实体完整性规则 关系中主码的值不能为空。或者说若属性关系中主码的值不能为空。或者说若属性A是基

14、本关系是基本关系R的主属性,则属性的主属性,则属性A不能取空值。不能取空值。v 说明:说明:v(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。现实世界的一个实体集或多对多联系。v(2)现实世界中的实体和实体间的联系都是可区分的,即它们具有现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。某种唯一性标识。v(3)相应地,关系模型中以主码作为唯一性标识。相应地,关系模型中以主码作为唯一性标识。v(4)主码中的属性即主属性不能取空值。主码中的属性即主属性不能取空值。v 空值就是空值

15、就是“不知道不知道”或或“无意义无意义”的值。主属性取空值,就说明存的值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相)点相矛盾,因此这个规则称为实体完整性。矛盾,因此这个规则称为实体完整性。v 注意:实体完整性规则规定基本关系的所有主属性都不能取空值。注意:实体完整性规则规定基本关系的所有主属性都不能取空值。v 例例v 选修(学号,课程号,成绩)选修(学号,课程号,成绩)v“学号、课程号学号、课程号”为主码,则这两个属性都不能取空值。为主码,则这两个属性都不能取空值。机械工业出版社机械工业出版社 10v

16、 2、参照完整性、参照完整性v(1)外码外码v 设设F是基本关系是基本关系R的一个或一组属性,但不是关系的一个或一组属性,但不是关系R的码。如果的码。如果F与基与基本关系本关系S的主码的主码Ks相对应,则称相对应,则称F是基本关系是基本关系R的外码。的外码。v 基本关系基本关系R称为参照关系(称为参照关系(Referencing Relation)。)。v 基本关系基本关系S称为被参照关系(称为被参照关系(Referenced Relation)或目标关)或目标关系(系(Target Relation)。)。v 例如,在授课系统的关系模型中:例如,在授课系统的关系模型中:v 课程(课程(课号课

17、号,课名,学分),课名,学分)v 教师(教师(工号工号,姓名,职称,姓名,职称,课号课号)v 参考书(参考书(书号书号,书名,书名,课号课号)v 课号是课程关系的主码,是关系教师的外码。教师关系是参照关系,课号是课程关系的主码,是关系教师的外码。教师关系是参照关系,课程关系是被参照关系。课程关系是被参照关系。v 说明说明:v 关系关系R和和S不一定是不同的关系;不一定是不同的关系;目标关系目标关系S的主码的主码Ks 和参照和参照关系的外码关系的外码F必须定义在同一个(或一组)域上;必须定义在同一个(或一组)域上;外码并不一定外码并不一定要与相应的主码同名;要与相应的主码同名;当外码与相应的主码

18、属于不同关系时,往当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别。往取相同的名字,以便于识别。机械工业出版社机械工业出版社 11v(2)参照完整性规则参照完整性规则v 规则规则2.2 参照完整性规则参照完整性规则 若属性(或属性组)若属性(或属性组)F是基本关系是基本关系R的外码的外码,它与它与基本关系基本关系S的主码的主码Ks相对应,则对于相对应,则对于R中每个元组在中每个元组在F上的值必须为:上的值必须为:v 或者取空值(或者取空值(F的每个属性值均为空值);的每个属性值均为空值);v 或者等于或者等于S中某个元组的主码值。中某个元组的主码值。v 例如,在授课系统的关系模型

19、中,教师关系中的外码例如,在授课系统的关系模型中,教师关系中的外码“课号课号”只能是下面两只能是下面两类值:类值:v 空值。表示还未给该教师安排课。空值。表示还未给该教师安排课。v 非空值,但此值必须为被参照关系课程中某一门课程的非空值,但此值必须为被参照关系课程中某一门课程的“课号课号”,表示,表示该教师不可能分配讲授一门不存在的课程。该教师不可能分配讲授一门不存在的课程。v 参照完整性规则中,参照完整性规则中,R和和S可以是同一个关系。可以是同一个关系。v 例如,学生关系中:例如,学生关系中:v 学生(学生(学号学号,姓名,性别,专业号,年龄,班长),姓名,性别,专业号,年龄,班长)v“学

20、号学号”属性是主码,属性是主码,“班长班长”属性表示该学生所在班级班长的学号,属性表示该学生所在班级班长的学号,v“班长班长”属性值可以取两类值:属性值可以取两类值:v 空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;v 非空值,这时该值必须是本关系中某个元组的学号值。非空值,这时该值必须是本关系中某个元组的学号值。机械工业出版社机械工业出版社 12v 3、用户定义的完整性、用户定义的完整性v 实体和参照完整性是任何关系数据库系统都应该支持的,实体和参照完整性是任何关系数据库系统都应该支持的,而用户定义完整性是针对某一具体

21、关系数据库的约束条而用户定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义件,它反映某一具体应用所涉及的数据必须满足的语义要求。如某个属性必须取唯一值、某些属性值之间应满要求。如某个属性必须取唯一值、某些属性值之间应满足一定的函数关系、某个属性的取值范围在足一定的函数关系、某个属性的取值范围在0-100之间之间等。等。v 关系模型应提供定义和检验这类完整性的机制,以便用关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这统一的系统的方法处理它们,而不要由应用程序承担这一功能。一功能。v 所以,用户定义的完整性通

22、常是定义属性取值的约束,所以,用户定义的完整性通常是定义属性取值的约束,即对属性的值域的约束。对属性的值域的约束也称为域即对属性的值域的约束。对属性的值域的约束也称为域完整性规则是指对关系中属性取值的正确性限制。包括完整性规则是指对关系中属性取值的正确性限制。包括数据类型、精度、取值范围、是否允许空值等。数据类型、精度、取值范围、是否允许空值等。机械工业出版社机械工业出版社 132.3 关系模型的数据操作关系模型的数据操作v常用的关系操作常用的关系操作v关系模型中常用的关系操作包括二类:关系模型中常用的关系操作包括二类:v查询操作,包括选择、投影、连接、除、查询操作,包括选择、投影、连接、除、

23、并、交、差等。并、交、差等。v更新操作,包括增、删、改操作。更新操作,包括增、删、改操作。v查询的表达能力是其中最主要的部分。查询的表达能力是其中最主要的部分。v关系操作特点关系操作特点v采用集合操作方式,即操作的对象和结果采用集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集都是集合。这种操作方式也称为一次一集合的方式。合的方式。机械工业出版社机械工业出版社 14v 表达关系操作的语言表达关系操作的语言v 描述关系操作的关系数据语言可以分为三类:描述关系操作的关系数据语言可以分为三类:v 关系代数语言:通过对关系的运算来表达查询要求,典型代表有关系代数语言:通过对关系的运算

24、来表达查询要求,典型代表有ISBL。v 关系演算语言:用谓词来表达查询要求。根据谓词变元的基本对象关系演算语言:用谓词来表达查询要求。根据谓词变元的基本对象的不同,分为元组关系演算语言,典型代表有的不同,分为元组关系演算语言,典型代表有APLHA,QUEL;域;域关系演算语言,典型代表有关系演算语言,典型代表有QBE。v 具有关系代数和关系演算双重特点的语言:典型代表为具有关系代数和关系演算双重特点的语言:典型代表为SQL(Structure Query Language)。它具有丰富的查询功能,具)。它具有丰富的查询功能,具有数据定义和数据控制功能,是集查询有数据定义和数据控制功能,是集查询

25、DDL、DML和和DCL于一体的于一体的关系数据语言。它充分体现了关系语言的特点和优点,是关系数据关系数据语言。它充分体现了关系语言的特点和优点,是关系数据库的标准语言。库的标准语言。v 关系语言是一种高度非过程化的语言,它具有以下特点:关系语言是一种高度非过程化的语言,它具有以下特点:v 存取路径的选择由存取路径的选择由DBMS的优化机制来完成,不需要的优化机制来完成,不需要DBA为其建为其建立特殊的存取路径;立特殊的存取路径;v 用户不必用循环结构就可以完成数据操作;用户不必用循环结构就可以完成数据操作;v 能够嵌入高级语言中使用;能够嵌入高级语言中使用;v 关系代数、元组关系演算和域关系

26、演算三种语言在表达能力上完全关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价等价 机械工业出版社机械工业出版社 152.4 关系代数关系代数v 关系代数是一种抽象的查询语言,是通过对关系的运算关系代数是一种抽象的查询语言,是通过对关系的运算来表达查询的。关系代数的运算对象和运算结果都是关来表达查询的。关系代数的运算对象和运算结果都是关系。系。v 1.关系代数运算分类关系代数运算分类v 关系代数用到的运算符包括四类:集合运算符、专门的关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。关系运算符、算术比较符和逻辑运算符。v 集合运算符将关系看成元组的

27、集合,运算是从关系的集合运算符将关系看成元组的集合,运算是从关系的“水平水平”方向即行的角度来进行。包括并(方向即行的角度来进行。包括并()、交)、交()、差()运算。)、差()运算。v 专门的关系运算不仅涉及行而且涉及列。包括广义笛卡专门的关系运算不仅涉及行而且涉及列。包括广义笛卡尔积、选择、投影、连接和除运算。尔积、选择、投影、连接和除运算。v 比较运算和逻辑运算辅助专门的关系运算进行操作。比比较运算和逻辑运算辅助专门的关系运算进行操作。比较运算包括大于()、大于等于(较运算包括大于()、大于等于()、小于()、)、小于()、小于等于(小于等于()、等于()和不等于()、等于()和不等于(

28、)六种运算;)六种运算;逻辑运算包括与(逻辑运算包括与()、或()、或()、非()、非()三种。)三种。机械工业出版社机械工业出版社 16v 2.表示符号表示符号v(1)R,tR,tAiv 设关系模式为设关系模式为R(A1,A2,An),它的一个关系设为,它的一个关系设为R。tR表示表示t是是R的一个元组。的一个元组。v tAi表示元组表示元组t中相应于属性中相应于属性Ai的一个分量。的一个分量。v(2)A,tA,Av 若若A=Ai1,Ai2,Aik,其中,其中Ai1,Ai2,Aik是是A1,A2,An中的一部分,则中的一部分,则A称为属性列或域列。称为属性列或域列。tA=(tAi1,tAi2

29、,tAik)表示元组表示元组t在属性列在属性列A上诸分量的集合。上诸分量的集合。A则表示则表示A1,A2,An中去掉中去掉Ai1,Ai2,Aik后剩余的属性组。后剩余的属性组。v(3)trtsv R为为n目关系,目关系,S为为m目关系。目关系。trR,tsS,trts称为元组的连接。它是称为元组的连接。它是一个一个n+m列的元组,前列的元组,前n个分量为个分量为R中的一个中的一个n元组,后元组,后m个分量为个分量为S中的中的一个一个m元组。元组。v(4)象集)象集Zxv 给定一个关系给定一个关系R(X,Z),),X和和Z为属性组。当为属性组。当tX=x时,时,x在在R中的象集中的象集(Imag

30、es Set)为:)为:v Zx=tZ|tR,tX=xv 它表示它表示R中属性组中属性组X上值为上值为x的诸元组在的诸元组在Z上分量的集合。上分量的集合。机械工业出版社机械工业出版社 17v 3.专门的关系运算专门的关系运算v(1)选择()选择(Selection)v 选择又称为限制(选择又称为限制(Restriction)。它是在关系)。它是在关系R中选择满足给定条中选择满足给定条件的诸元组,记作:件的诸元组,记作:(R)=t|tRF(t)=真真v 其中:其中:F表示选择条件,它是一个逻辑表达式,取逻辑值表示选择条件,它是一个逻辑表达式,取逻辑值真真或或假假。v 逻辑表达式逻辑表达式F的基本

31、形式为:的基本形式为:X1Y1X2Y2.v 表示:比较运算符,它可以是、表示:比较运算符,它可以是、或、或。v X1、Y1等是属性名或常量或简单函数。属性名也可以用它的序号等是属性名或常量或简单函数。属性名也可以用它的序号来代替(来代替(1,2)。)。v 表示逻辑运算符,它可以是、表示逻辑运算符,它可以是、或或。v 表示任选项,即表示任选项,即 中的部分可以要也可以不要。中的部分可以要也可以不要。v 表示上述格式可以重复下去。表示上述格式可以重复下去。v 因此选择运算实际上是从关系因此选择运算实际上是从关系R中选取使逻辑表达式中选取使逻辑表达式F为真的元组。为真的元组。这是从行的角度进行的运算

32、。这是从行的角度进行的运算。机械工业出版社机械工业出版社 18v举例:举例:v设有一个学生设有一个学生-课程关课程关系数据库,包括学生系数据库,包括学生关系关系Student、课程、课程关系关系Course和选修和选修关系关系SC。下面的许多。下面的许多例子将对这三个关系例子将对这三个关系进行运算。进行运算。v 表表2-3 学生关系学生关系studentv学号学号Sno姓名姓名Sname性别性别sex年龄年龄age所在系所在系dept200608101曹伟男19CS200606526侯佳颖女19IS200604119王睿女18MA200608204丁朔男19CS机械工业出版社机械工业出版社 1

33、9v表表2-4 课程关系课程关系Coursev表表2-5 选修关系选修关系SC 课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Credit1C语言42离散数学43数据结构144操作系统235数据库336算法设计与分析327信息系统54学号学号Sno课程号课程号Cno成绩成绩Grade200608101195200608101290200604119192200604119286200604119385机械工业出版社机械工业出版社 20v 例例1 查询信息系(查询信息系(IS)全体学生)全体学生v dept=IS(Student)或或5=IS(Student)v 例例2 查

34、询年龄小于查询年龄小于19岁的元组岁的元组v Sage19(Student)或或419(Student)v 查询结果如下所示。查询结果如下所示。v 表表2-6 例例1运算结果表运算结果表 表表2-7 例例2运算结果表运算结果表 学号学号Sno姓名姓名Sname性别性别sex年龄年龄age所在系所在系dept200606526侯佳颖女19IS学号学号Sno姓名姓名Sname性别性别sex年龄年龄age所在系所在系dept200604119200604119王睿王睿女女1818MAMA机械工业出版社机械工业出版社 21v2.投影(投影(Projection)v关系关系R上的投影是从上的投影是从R中

35、选择出若干属性列组成中选择出若干属性列组成新的关系。记作:新的关系。记作:vA(R)=tA|tR v其中其中A为为R中的属性列。中的属性列。v投影之后不仅取消了原关系中的某些列,而且还投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。就可能出现重复行,应取消这些完全相同的行。v例例3 查询学生选修的课程情况,即选修关系查询学生选修的课程情况,即选修关系SC在学号和课程号两个属性上的投影。在学号和课程号两个属性上的投影。vSno,Cno(SC)或或 1,2(SC)机械工业出版社机

36、械工业出版社 22v例例3 查询学生选修的课程情况,即选修关系查询学生选修的课程情况,即选修关系SC在学号和课程号两个属性上的投影。在学号和课程号两个属性上的投影。vSno,Cno(SC)或或 1,2(SC)v表表2-8 例例3结果表结果表学号学号Sno课程号课程号Cno20060810112006081012200604119120060411922006041193机械工业出版社机械工业出版社 23v例例4 查询学生关系查询学生关系Student中都有哪些系,即中都有哪些系,即查询学生关系查询学生关系Student在所在系属性上的投影。在所在系属性上的投影。vdept(Student)v表

37、表2-8 例例4结果表结果表所在系所在系deptCSISMA机械工业出版社机械工业出版社 24v3.连接(连接(Jion)v也称为也称为连接。它是从两个关系的笛卡尔积中选连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:取属性间满足一定条件的元组。记作:RABS=trts|trRtsStrAtsBv其中其中A和和B分别为分别为R和和S上度数相等且可比的属性上度数相等且可比的属性组,组,是比较运算符。是比较运算符。v连接运算从连接运算从R和和S的笛卡尔积的笛卡尔积RS中选取(中选取(R关关系)在系)在A属性组上的值与(属性组上的值与(S关系)在关系)在B属性组上属性组上值满足比

38、较关系值满足比较关系的元组。的元组。v最为重要也最为常用的连接有两种:一种是等值最为重要也最为常用的连接有两种:一种是等值连接(连接(equi-join);另一种是自然连接);另一种是自然连接(Natural join)。)。机械工业出版社机械工业出版社 25v为为“”的连接运算称为等值连接。它是从关的连接运算称为等值连接。它是从关系系R与与S的笛卡尔积中选取的笛卡尔积中选取A、B属性值相等的那属性值相等的那些元组。等值连接表示为:些元组。等值连接表示为:vR A=B S=trts|trRtsStrA=tsB v自然连接是一种特殊的等值连接,它要求两个关自然连接是一种特殊的等值连接,它要求两个

39、关系中进行比较的分量必须是相同的属性组,并且系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若要在结果中把重复的属性去掉。即若R和和S具有具有相同的属性组相同的属性组B,则自然连接可记作:,则自然连接可记作:vRS=trts|trRtsStrA=tsB v一般的连接操作是从行的角度进行运算。但自然一般的连接操作是从行的角度进行运算。但自然连接还要取消重复列,所以是同时从行和列的角连接还要取消重复列,所以是同时从行和列的角度进行运算。度进行运算。机械工业出版社机械工业出版社 26例例5:如下所示关系:如下所示关系R和关系和关系S,以及,以及R CES的结果的结果,等值连接

40、等值连接R R.B=S.BS的结果,的结果,自然连接自然连接R S的结果。的结果。ABCa1b16a1b28a2b310a2b412BDb11b23b35b47b59AR.BCS.BDa1b16b47a1b16b59a1b28b59AR.BCS.BDa1b16b11a1b28b23a2b310b35a2b412b47ABCDa1b161a1b283a2b3105a2b4127机械工业出版社机械工业出版社 27v 4.除除v 给定关系给定关系R(X,Y)和和S(Y,Z),其中,其中X,Y,Z为属性组。为属性组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必须出自相可以有不同的属性名,但必须

41、出自相同的域集。同的域集。R与与S的除运算得到一个新的关系的除运算得到一个新的关系P(X),P是是R中满足下列条件的元组在中满足下列条件的元组在X属性列上的投影:元组在属性列上的投影:元组在X上分量值上分量值x的象集的象集Yx包含包含S在在Y上投影的集合。记作:上投影的集合。记作:v RS=trX|trRy(S)Yx v 其中其中Yx为为x在在R中的象集,中的象集,x=trX。v 象集:给定一个关系象集:给定一个关系R(X,Z),X和和Z为属性组。我们定为属性组。我们定义,当义,当tX=x时,时,x在在R中的象集(中的象集(Images Set)为:)为:Zx=tZ|tR,tX=x 它表示它表

42、示R中属性组中属性组X上值上值为为x的诸元组在的诸元组在Z上分量的集合。上分量的集合。v 除操作适合包含除操作适合包含“对于所有的对于所有的/全部的全部的”语句的查询操作。语句的查询操作。机械工业出版社机械工业出版社 28v例例6 关系关系R,S以及以及RS的结果分别为下的结果分别为下图所示。图所示。ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2Aa1RS机械工业出版社机械工业出版社 29v 在关系在关系R中,中,A可以取四个值可以取四个值a1,a2,a3,a4。其中:。其中:v a1的象集为的象集为(b1,

43、c2),(b2,c3),(b2,c1)v a2的象集为的象集为(b3,c7),(b2,c3)v a3的象集为的象集为(b4,c6)v a4的象集为的象集为(b6,c6)v S在在(B,C)上的投影为上的投影为(b1,c2),(b2,c3),(b2,c1)v 显然只有显然只有a1的象集(的象集(B,C)a1包含包含S在(在(B,C)属性组)属性组上的投影,所以上的投影,所以RS=a1。v 以上我们学习了关系代数的查询功能,即从数据库中提以上我们学习了关系代数的查询功能,即从数据库中提取信息的功能,介绍了取信息的功能,介绍了8种关系代数运算种关系代数运算,其中并、差、其中并、差、迪卡尔积、投影和选

44、择为基本运算迪卡尔积、投影和选择为基本运算,交、连接和除都可以交、连接和除都可以用用5种基本运算来表达种基本运算来表达,引进这些运算不增加语言的能力引进这些运算不增加语言的能力,但可以简化表达。但可以简化表达。机械工业出版社机械工业出版社 30v 5综合举例综合举例 v 以学生以学生-课程数据库为例。课程数据库为例。v 例例7 查询至少选修查询至少选修1号课程和号课程和3号课程的学生号码。号课程的学生号码。v 首先建立一个临时关系首先建立一个临时关系K:Cno13v 然后求:然后求:Sno.Cno(SC)Kv 先对先对SC关系在关系在Snc和和Cno属性上投影属性上投影,然后对其中每个然后对其

45、中每个元组逐一求出每个学生的象集元组逐一求出每个学生的象集,并一次检查这些象集是否并一次检查这些象集是否包含包含K。v Sno.Cno(SC)v 200608101象集象集2,3v 200604119象集象集1,2,3v Cno(K)=1,3v 于是:于是:v Sno.Cno(SC)K=200604119 学号学号Sno课程号课程号Cno20060810112006081012200604119120060411922006041193机械工业出版社机械工业出版社 31v例例8 查询选修了查询选修了2号课程的学生的学号。号课程的学生的学号。vSno(Cno=2(SC)v结果为:结果为:2006

46、08101,200604119v例例9 查询至少选修了一门其直接先行课为查询至少选修了一门其直接先行课为5号课号课程的学生姓名。程的学生姓名。vSname(Cpno=5(Course)SCSno,Sname(Student)v或或Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student)v例例10 查询选修了全部课程的学生号码和姓名。查询选修了全部课程的学生号码和姓名。vSno,Cno(SC)Cno(Course)Sno,Sname(Student)机械工业出版社机械工业出版社 322.4 小结小结v 本章主要讲述了关系数据库的概念,包括关系模型的数本章主要讲述

47、了关系数据库的概念,包括关系模型的数据结构、关系的完整性和关系操作。介绍了用代数方式据结构、关系的完整性和关系操作。介绍了用代数方式来表达查询的关系语言即关系代数。来表达查询的关系语言即关系代数。v 关系模型的主要特点有:关系模型的主要特点有:v 关系模型的概念单一,实体以及实体之间的联系都用关系模型的概念单一,实体以及实体之间的联系都用关系来表示;关系来表示;v 以关系代数为基础,形式化基础好;以关系代数为基础,形式化基础好;v 数据独立性强,数据的物理存储和存取路径对用户隐数据独立性强,数据的物理存储和存取路径对用户隐蔽;蔽;v 关系数据语言能够嵌入高级语言中使用关系数据语言能够嵌入高级语

48、言中使用v 关系代数、元组关系演算和域关系演算三种语言在关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价。表达能力上完全等价。v 关系数据库语言是非过程化的,存取路径的选择由关系数据库语言是非过程化的,存取路径的选择由DBMS的优化机制来完成,将用户从编程数据库记录的的优化机制来完成,将用户从编程数据库记录的导航式检索中解脱出来,大大降低了用户编程的难度;导航式检索中解脱出来,大大降低了用户编程的难度;机械工业出版社机械工业出版社 33v 习题习题v 2.1 关系模型是由哪三个部分组成?关系模型是由哪三个部分组成?v 2.2 试述关系模型的完整性约束。试述关系模型的完整性约束。v

49、 2.3 假设供销数据库中有四个表:假设供销数据库中有四个表:v 供应商供应商S(SNO(供应商代码)(供应商代码),SNAME(供应商名称)(供应商名称),CITY(城市)(城市)v 零件零件P(PNO(零件代码)(零件代码),PNAME(零件名称)(零件名称),COLOR(颜(颜色)色),WEIGHT(重量)(重量)v 工程项目工程项目J(JNO(工程代码)(工程代码),JNAME(工程名称)(工程名称),CITY(城市)(城市)v 供应情况供应情况SPJ(SNO(供应商代码)(供应商代码),PNO(零件代码)(零件代码),JNO(工程代(工程代码)码),QTY(供应数量)(供应数量)v 试用关系代数完成以下各项操作:试用关系代数完成以下各项操作:v 找出所有供应商的姓名和所在城市;找出所有供应商的姓名和所在城市;v 找出所有零件的名称、颜色和重量;找出所有零件的名称、颜色和重量;v 找出供应商找出供应商S1所供应零件的名称;所供应零件的名称;v 找出使用供应商找出使用供应商S1所供应零的工程名称;所供应零的工程名称;v 找出工程项目找出工程项目J2使用的各种零件的名称及其数量;使用的各种零件的名称及其数量;v 找出提供零件找出提供零件P2的供应商的名称;的供应商的名称;v 找出北京厂商供应的所有零件代码。找出北京厂商供应的所有零件代码。机械工业出版社机械工业出版社 34

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库技术及应用02关系数据库课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|