第2章数据模型及运算.ppt_第1页
第2章数据模型及运算.ppt_第2页
第2章数据模型及运算.ppt_第3页
第2章数据模型及运算.ppt_第4页
第2章数据模型及运算.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第3章 关系数据模型及其运算基础,2,3.1 关系模型的数学定义,1、域的笛卡儿积(Cartesian,Product)设D1,D2,Dn都是有限集合, 则他们的笛卡儿积为: D1D2Dk=(d1,d2,dn) | d i D i , i=1,2,n 其中的任意一个元素 (d1,d2,dn) 叫做一个n元组(nTuple),简称元组。其中 每一个di 值都称为一个分量。 一个元组是组成该元组的各分量的有序集合。 若Di的基数(Cardinal number)为mi, 则D1D2Dn 的基数为:,3,域的笛卡儿积举例1:,若属性A1,A2分别在域D1,D2中取值 D1=1,2,3,D2=a,

2、b 则,,4,域的笛卡儿积举例2:,设有三个域分别如下:男人=张三,李四,王五,女人=程斯斯,李方,王丽丽,小孩=张小小,王小一,王小二 男人女人 小孩= (张三,程斯斯,张小小),(张三,程斯斯,王小一), (张三,程斯斯,王小二),(张三,李方,张小小), (张三,李方,王小一),(张三,李方,王小二),. (李四,程斯斯,张小小),(李四,程斯斯,王小一), (李四,程斯斯,王小二),.,男人女人 小孩 对应的二维表: 张三 程斯斯 张小小 张三 程斯斯 王小一 : 王五 王丽丽 王小二,5,2、关系(Relation),定义:笛卡尔积D1D2Dn的满足一定约束条件的一个子集称为D1,D

3、2,Dn上的一个n元关系,简称关系(称俗表)。n成为关系的目(或度)。 N1 ,单元关系; N2,二元关系 关系是笛卡尔积的子集,所以关系也是一个二维表。 关系模式由关系名、属性、属性所来自的域、属性向域的映象、约束 组成。,R(U,D,dom,F),6,注意:,关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。 由于笛卡尔积不满足交换律,即 (d1,d2,dn )(d2,d1,dn ) 但关系满足交换律,即 (d1,d2 ,di ,dj ,dn)=(d1,d2 ,dj,di ,dn) (i,j = 1,2,n) 解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性,7,关系

4、举例:,以下为 男人女人 小孩笛卡儿积中满足家庭约束的关系: 家庭,8,几个重要概念:,候选码Candidate Key(单码、复合码、全码) 主码 Primary Key 主属性 Prime Attribute 非主属性 Non-Prime Attribute (非码属性),9,三种类型的关系,基本关系(基本表或基表) 实际存在的表,是实际存储数据的逻辑表示 查询表 查询结果对应的表 视图 由基本表或其他视图表导出的表,是虚表,不对 应实际存储的数据,10,基本关系的六条性质:,列是同质的 不同的列可出自同一个域 列的顺序无所谓 行的顺序无所谓 任意两个元组不能完全相同 分量必须取原子值,1

5、1,关系运算体系,1、定义 以关系为运算对象的一组运算符及其对应运算规则合称为关系运算体系。 2、分类,3、关系数据库语言 以关系运算体系为基础的数据操作语言,称为关系数据库语言。 对关系数据模型的任何操作都可以表示成为一个关系运算表达式。,12,运算的三大要素,运算对象、运算符、运算结果,13,3.4 关系代数(Relational Algebra),一、定义 一组建立在关系上的高级运算,每个运算都以一个或多个关系作为它的运算对象,并且生成一个关系作为运算结果。 (1) 运算对象:关系 (2) 运算结果:关系 二、关系运算符 (1)比较运算符 (2)逻辑运算符,14,表2.4 关系代数运算符

6、,15,表2.4 关系代数运算符(续),16,三、关系运算分两类,(1)一般的集合运算:并、交、差、笛卡儿积 其运算符号分别为、 、 、 (2)专门的关系运算:选择、投影、连接、自然连接、除 其运算符号分别为:、 、 ,17,三、集合运算的相容可并性,如果参与运算的两个关系R1、R2,具有相同的元n,且关系R1第i个属性与另一关系R2的第i个属性具有相同的域(属性名可以不同),则称R1、R2具有相容可并性。(1 i n),18,四、传统的集合运算 (Set-Theoretic Operations),1、并(Union) 相容可并的两个关系R1,R2 的合并,是由属于R1或属于R2(或属于两者

7、)的所有元组t(不计重复元组)组成的一个新的关系,新关系具有和R1相同的属性名集合。运算符: 记为:,19,并运算举例:,求:R1 R2、R2 R1、R1 R3,20,四、传统的集合运算(续),2、交(Intersection) 相容可并的两个关系R1, R2的相交,是由既属于R1又属于R2的 所有元组t组成的一个新的关系,新关系具有和R1相同的属性名集合。 运算符:记为:,21,交运算举例:,求:R1 R2、R2 R1、R1 R3,R1 R2,22,四、传统的集合运算(续),3、差(Difference)相容可并 的两个关系R1, R2的求差,是由属于R1而不属于R2的所有元组t组成的一个新

8、的关系,新关系具有和R1相同的属性名集合。 运算符: 记为:,23,差运算举例:,R1 R2 R2 R1,求: R1 R2 、R2 R1、R1 R3,24,四、传统的集合运算(续),4、广义笛卡儿积(Product) 两个关系R,S(设R为k1元关系,S为k2元关系)的广义笛卡儿乘积,是由属于R1的任何一个元组tk1和属于S的元组tk2连接而成的新元组t所组成的一个新关系。 运算符: 记为:,25,笛卡儿积运算举例:,R1 R2,26,广义笛卡儿积(续), 若R有n1个元组, S有n2个元组,乘积结果有元组; 关系R有k1个属性,关系S有k2个属性,笛卡儿积后新关系属性名的确定原则 : 1)前

9、k1个属性取R的属性名,并冠以R.,后 k2个属性取S的属性名,并冠以S.。 2)当两个关系中某个属性没有同名时,可直接引用该属性名。 3)处理一个关系R和其自身的乘积时,需为关系R引入一个别名。 合并、相交、乘积满足集合运算的结合律、求差运算不满足集合运算的结合律,27,五、专门的关系运算 (Native Relational Operations),5、投影 (Projection) 从现有关系中选取某些属性(列),可对选取的属性重新排序,并删除重复的行(元组),组成新的关系。 若是一个元关系,其元组变量为 tk=; 那么关系在其分量tj1,tj2,tjn (n=k;j1,j2,jn为到之

10、间互不相同的整数)上的投影 (运算符) 记为:,28,投影运算:,(R) 例:求关系R对A3、A1的投影。 解: A3,A1(R) 或:3,1(R),29,6、选择(Selection),从现有关系中选择满足一定条件的元组组成新的关系。 运算符“” 记为: F为条件表达式运算对象是常量或元组的属性, 运算符:算术比较符、逻辑运算符,30,选择运算:,例:关系M如图所示 求:A2大于4,A1等于a的元组 解: A2 4A1 = a (M) M 结果,31,7、连接(Join),设tik1表示关系的元组变量tk1的第i个属性, tjk2表示S的元组变量tk2的第j个属性, 则两个关系和(设为k1元

11、关系,为k2元关系)的连接, 是由属于的任一个元组tk1和属于的任一元组tk2连接而成,且满足tik1 tjk2的新元组t所组成的一个新关系。 记为: 当为“=”称为等值连接,32,连接 运算:,33,连接 运算:,1=1,34,8、自然连接(Natural join),与等值连接的差别: 去掉等值连接的冗余列 自然选择使用条件,35,自然连接举例:,求:R S,36,自然连接,外连接 (Outer join) P58 左外连接(Left outer join) 右外连接(Right outer join),37,8、除(求商),设k1元关系R与k2 元关系S,且k1k2 ,S非空。 则关系R

12、和S的商,为从关系R的元组变量tk1中去掉与S中相同属性后,所组成的新的元组变量t所组成的新关系,它使得S关系中所有的元组tk2 都满足R, 运算符 记为:,38,8、除(求商),运算符“” 记为: 设关系S的属性是关系R属性的一部分,则R S所得的结果: (1)属性由属于R但不属于S的所有属性组成 (2)每个记录都是R中的一部分,并且任取属于R S的一个元组,与S的任一元组连接后,都为R中原有的一个元组。,39,除运算举例:,学生选课 课程 学生选课课程,求:选修了全部课程的学生,40,除的定义象限的概念,给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集(Images

13、Set)为: Zx = tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。,41,象集Z,R,42,分析:,在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (b1,c2),(b2,c3),(b2,c1) a2的象集为 (b3,c7),(b2,c3) a3的象集为 (b4,c6) a4的象集为 (b6,c6),43,4. 除(Division),给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。 R中的Y与S中的Y可以有不同的属性名,但必须出自相同 的域。R与S的除运算得到一个新的关系P(X),P是R中 满足下列条件的元组在X属性列上的投影:元组在X上分 量值x的象集Yx包含S在Y上投影的集合。 RS = tr X | tr RY (S) Yx Yx:x在R中的象集(Images set),x = trX,44,R,S,45,在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (b1,c2),(b2,c3),(b2,c1) a2的象集为 (b3,c7),(b2,c3) a3的象集为 (b4,c6) a4的象集为 (b6,c6) S在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3) 只有a1的象集包含了

温馨提示

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

评论

0/150

提交评论