第四章-关系模型与关系代数

上传人:龙*** 文档编号:87299800 上传时间:2019-04-01 格式:PPT 页数:53 大小:770.01KB
返回 下载 相关 举报
第四章-关系模型与关系代数_第1页
第1页 / 共53页
第四章-关系模型与关系代数_第2页
第2页 / 共53页
第四章-关系模型与关系代数_第3页
第3页 / 共53页
第四章-关系模型与关系代数_第4页
第4页 / 共53页
第四章-关系模型与关系代数_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第四章-关系模型与关系代数》由会员分享,可在线阅读,更多相关《第四章-关系模型与关系代数(53页珍藏版)》请在金锄头文库上搜索。

1、第四章 关系模型,理学院数学系,昆明理工大学现代教育技术中心,主要内容,4.1 关系模型的基本概念 4.2 关系代数,4.1.1 二维表 在日常生活中,我们经常会碰到像花名册、工资单和成绩单等二维表格,这些二维表的共同特点是由许多行和列组成,列有列名,行有行号。,4.1 关系模型的基本概念,请看下图,4.1.1 二维表,通过这张表可以总结出以下特点: (1)表有表名,如05班学生名单。 (2)表由两部分构成,一个表头和若干行数据。 (3)从垂直方向看表有若干列,每列都有列名如学号和姓名等。 (4)同一列的值取自同一个定义域,例如,籍贯只能取自34个省、直辖市、自治区,学号只能取自4000000

2、1到40006000范围。 (5)每一行的数据代表一个学生的信息,同样每一个学生在表中也具有一行,行有行号(在本例中行号是隐含的)。,4.1.1 二维表,对一张二维表可以进行以下操作: (1)填表。将班级中的每个同学的数据填写进表格。 (2)修改。改正表中的错误数据。 (3)删除。去掉一个学生的数据(如同一个同学的数据填写了两遍、调到其他班级、出国或留级等)。 (4)查询。在表中按某些条件查找满足条件的学生。 注意;在操作时要受到一些限制,如分配给该班的学 号是从40000141到40000151。,4.1.1 二维表,4.1.2 关系的基本定义 关系是一张规范化的二维表。一个关系由关系名、关

3、系模式和关系实例组成。 在关系模型中,关系模式描述了一个实体型,关系实例是由一组实体组成的。 除了实体型和实体以外,在现实世界中实体与实体之间是有各种各样的联系的。 在关系模型中,实体之间的联系也用一个关系来表示。,4.1.2 关系的基本定义,基本的数据结构是二维表。 二维表的表头那一行称为关系模式(Relational Scheme),每一张表称为该关系模式的一个具体关系或简称为关系(Relation)。二维表的各行称为关系的元组(Tuple),元组的个数称为基数(Cordinality)。二维表中的每一列称为关系的属性(Attributes),列中的元素为该属性的值,称作分量。,4.1.2

4、 关系的基本定义,同一个实体型的两个实体是可以区分开的。 关系模型规定在一个关系中不能有两个一样的元组。所谓两个元组不一样就是说两个元组在某一个或某一组属性上具有不同的值,这个属性或这组属性就叫做码(Key)。 注意: 第一、码是由语义决定的。 第二、码具有最小性的性质。,4.1.2 关系的基本定义,4.1.2 关系的基本定义 任何一个包含码的属性组称为超码。学生、性别属性组就是一个超码。若一个关系中有多个码,每一个码被叫做候选码。在实际应用中一般从候选码中选定一个码用来作为一个实体区分于其他实体的标志,这个码叫做主码(Prime Key)。 包含在任何一个候选码中的属性叫做主属性(Prime

5、 attribute),不包含在任何候选码中的属性叫做非主属性(Nonprime attribute)或非码属性(Non-key attribute)。,4.1.2 关系的基本定义 如果关系R中某属性集F是关系S的主码,则对关系R而言,F叫做外码(Foreign Key),并称关系R为参照关系(Referencing Relation),关系S为被参照关系(Referenced Relation)或目标关系(Targ et Relation)。 关系中每个属性都有一个取值范围,这个取值范围称为属性的域(Domain),每个属性都对应一个域,不同的属性可以对应于同一个域。,在数据库中关系必须具有

6、以下性质: (1)列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域。 (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 (3)列的顺序是无关紧要的,即列的次序可以任意交换。,4.1.3 关系的性质,由于列顺序是无关紧要的,因此在许多实际关系数据库产品中(如Oracle),增加新属性时,永远是放在最后一列。 (4)任意两个元组不能完全相同。 (5)行的次序可以任意交换,没有行号。 (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。,4.1.3 关系的性质,4.1.4 关系模型的完整性约束 关系模型是一种数据模型,

7、它和一般的数据模型一样由数据结构、数据操作和数据的完整性约束三部分组成。数据结构即上面介绍的关系。 数据操作由关系代数或关系演算表述。(后面介绍) 数据的完整性约束是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束,被称作是关系的两个不变性,由关系数据库管理系统自动支持。,4.1.4 关系模型的完整性约束 1实体完整性(Entity Integrity) 若属性A是构成关系R码的属性组中的任何一个属性,则任何一个元组在属性A上不能取空值(Null)。所谓空值就是“不知道”或“无意义”的值。 2参

8、照完整性(Referential Integrity) 关系R的任何一个元组在外码F上的取值要么是空值,要么是被参照关系S中一个元组的主码值。参照完整性要保证不引用不存在的实体。,4.1.4 关系模型的完整性约束 3用户定义的完整性(User-defined Integrity) 任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的应用系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体应用环境的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。,4.1.5 关系操作 关系操作的基本内容,数据查询,数据维护,数据控制,检索、统计、排

9、序、分组及用户对信息的需求等,数据的增加、删除、修改等,数据存取控制和并发控制等,关系操作,4.1.5 关系操作 关系操作的特点 1.关系操作语言一体化; 2.关系操作的方式是一次一集合方式; 3.关系操作语言是高度非过程化的语言; 关系操作语言的种类 1.关系代数语言 2.关系演算语言 3.基于映象的语言,4.1.6 关系模型的优点 (1)简明性 (2)精确性 (3)数据独立性,一个代数结构就是在一个集合上定义了若干个运算符,每个运算符的操作对象是集合中的元素,操作结果也是集合中的元素,即运算具有封闭性。,4.2 关系代数,关系代数就是在关系上定义了一些运算,这些运算的结果仍然是关系。关系代

10、数的运算包括4个集合运算:交(INTERSECT)、并(UNION)、差(EXCEPT)和广义笛卡尔积(EXTENDED CARTESIAN PRODUCT);4个关系运算:选择(SELECT)、投影(PROJECT)、连接(JOIN)和除(DIVIDE);以及辅助这些运算的比较运算、逻辑运算。 关系代数就是用这些运算表达对关系数据库的各种查询的,关系代数的运算符如表4.4所示。,4.2 关系代数,4.2 关系代数,4.2.1 传统的集合运算 1并 并运算是一个二元运算符,是由两个关系产生一个新关系。这两个关系的属性个数必须一样。同一位置上的属性的域必须相同。新关系的关系模式与原来的关系的关系

11、模式相同。关系实例是两个关系的关系实例的并。,4.2.1 传统的集合运算,2交 交运算类似于并运算,只是新关系的关系实例是两个关系的关系实例的交。两个关系R和S的交运算(如图4.3所示)可以表示成:,4.2.1 传统的集合运算,4.2.1 传统的集合运算,3差 差运算类似于并运算,新关系的关系实例是两个关系的关系实例的差。两个关系R和S的差运算(如图4.4所示)可以表示成:,4.2.1 传统的集合运算,4.2.1 传统的集合运算,4广义笛卡尔积 两个分别具有n个属性和m个属性的关系R和S的广义笛卡尔积是一个具有(n+m)个属性的关系。新关系的关系模式由关系R和关系S连接而成,关系实例中的元组的

12、前n列是关系R的一个元组,后m列是关系S的一个元组。,4.2.1 传统的集合运算,4.2.1 传统的集合运算,1.记号说明 (1)关系模式、关系、元组和分量: 关系模式R:(A1,A2,An) 关系:R ; tR表示t是R的一个元组 tAi表示元组t中相对于属性Ai的一个分量 (2)域列和域列非 AAi1,Ai2,Ain,其中Ai1,Ai2,Ain是A1,A2,An的一个部分,则A称为属性列或域列, tAtAi1, tAi2 ,t Ain表示为元组t 在属性列A上诸分量的集合。A表示(A1,A2,An)中去掉Ai1,Ai2,Ain后剩余的属性组,他称为A的域列非。,4.2.4 专门的关系运算,

13、1.记号说明 (3)元组连串 设R为n目关系,S为m目关系,且trR, tsS,则tr ts称为元组的连串,是一个nm列的元组,它的前n个分量是R中的一个n元组,后m个分量为S中的一个m元组。 (4)属性的象集 给定一个关系R(X,Z),X和Z为属性组,定义当tX=x时,x在R中的象集为 ZxtZ|tR,tXx 上式表示,X在R中的象集为R中Z属性对应分量的集合,而这些集合所对应的元组的属性组X上的值应为x。,4.2.4 专门的关系运算,4.2.4 专门的关系运算,1选择 选择是一个一元运算符,选择的结果产生了一个新关系,新关系的关系模式与被操作关系的关系模式相同,关系实例是被操作关系中满足条

14、件的元组,是被操作关系的关系实例的一个子集。对关系R的选择操作记作,4.2.4 专门的关系运算,2投影 投影是指从指定的关系中保留一些列,去掉其他列后形成新的关系,记作,其中A为R中需要保留的属性组,tA是从元组t生成的新元组,新元组是从元组t中去掉不包含在属性组A中的属性。,注意:投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。,4.2.4 专门的关系运算,3连接 连接运算是从两个关系的笛卡尔积中,在水平方向进行选择运算,在垂直方向进行投影运算从而产生一个新的关系,关系R和S的连接运算可以记作 R 条件 S 条件的

15、一般形式是AB,= =,A是关系R中的属性或一个常数,B是关系S中的属性或一个常数,A和B必须是同一个定义域(相同的类型)。还可以用逻辑运算符和上面的一般形式构成更复杂的条件。 为“”的连接运算称为等值连接。 自然连接是一种特殊的等值连接 。,4.2.4 专门的关系运算,4除 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X):对于任何一个元组tP(X),有tX(R),并且tY(S) R。 即元组在X上的分量值x的象集Yx包含S在Y 上的投影,即,其中的YX危x在R中的象集,xtrX,4

16、.2.4 专门的关系运算,4除 除操作是同时从行和列的角度进行运算的。在进行除运算时,将被除关系R的属性分成两部分:与除关系相同的部分Y和不同的部分X。在被除关系中按X值分组,即相同X值的元组分为一组。除法的运算是求包括除关系中全部Y值的组,这些组中的X值将作为除结果的元组。,4.2.4 专门的关系运算,4除 操作步骤: 1)将被除关系的属性分为象集属性和结果属性两部分:与除关系相同的属性属于象集属性,不相同的属性属于结果属性。 2)在除关系中,对与被除关系相同的属性(象集属性)进行投影,得到除目标数据集; 3)将被除关系分组,分组原则是,结果属性值一样的元组分为一组; 4)逐一考察每个组,如果它的象集属性值中包括除目标数据集,则对应的结果属性值应属于该除法运算结果集。,4.2.4 专门的关系运算,4除 例如:选课、课号、成绩的关系模式如下:,选课,选修课,必修课,选课/选修课,选课/必修课,学号,课号(选课)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号