关系数据模型与关系运算.ppt_第1页
关系数据模型与关系运算.ppt_第2页
关系数据模型与关系运算.ppt_第3页
关系数据模型与关系运算.ppt_第4页
关系数据模型与关系运算.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1,数据库系统基础教程,第2章 关系数据模型与关系运算,2,2.1关系数据模型,2.1.1关系与关系表,形式化定义:关系笛卡尔乘积子集 意义: 将数据模型置于严格数学基础之上 直观性描述:关系表二维平面表格 意义: 将数据模型置于实际背景和应用实现基础之上,第2章 关系模型与运算: 2.1 关系数据模型(1),3,2.1.1关系与关系表(2),基本表:实际存储数据逻辑表示 特点:数据库中实际保存 视图表:基本表和其他视图的导出表示 特点:数据库中保存模式,不保存具体数据值 查询表:用户查询结果对应表示 特点:如果不提出请求,数据库中将不保存,第2章 关系模型与运算: 2.1 关系数据模型(1),关系表的 三种类型,4,2.1.1关系与关系表(2),超 键:唯一标识元组的属性集合 候选键:不含多余属性的超键 主 键:选定用于标识的候选键 外 键:R2的主键K是R1的属性子集, 则K为R1外键,第2章 关系模型与运算: 2.1 关系数据模型(1),关系的键,5,2.1.2关系数据结构(1),如果使用下述方式组织数据, 则称定义了一个关系数据结构,第2章 关系模型与运算: 2.1 关系数据模型(2),以二维平面表格表示实体集 以“ 键” 表示该实体集中实体标识和该实体集与其它实体集之间关联,6,2.1.2关系数据结构(2),关系结构基本性质,第2章 关系模型与运算: 2.1 关系数据模型(2),列的同质性,异列同域性,列的无序性,元组相异性,属性原子性,7,2.1.3关系数据操作(1),关系查询,第2章 关系模型与运算: 2.1 关系数据模型(3),单个关系内元组选择,多个关系的合并,单个关系内属性指定,8,2.1.3关系数据操作(2),关系更新,第2章 关系模型与运算: 2.1 关系数据模型(3),元组插入,元组删除,元组修改,9,2.1.3关系数据操作(3),空值处理,第2章 关系模型与运算: 2.1 关系数据模型(3),限定主键不能取空值,定义空值相应运算,10,2.1.3关系数据操作(4),关系操作的数学理论,第2章 关系模型与运算: 2.1 关系数据模型(3),基于集合:关系代数,基于逻辑:关系演算,11,2.1.4关系数据完整性约束,实体完整性约束,第2章 关系模型与运算: 2.1 关系数据模型(4),数据定义中主键非空,数据操作中外键约束和元组间联系约束,参照完整性约束,自定义完整性约束,数据定义中基于应用背景的属性约束,12,2.2关系代数,2.1.1基于更新的代数运算,插入运算:集合的并运算,第2章 关系模型与运算: 2.2 关系代数(1),设有同类关系R、S(即R、S具有相同的关系模式),则二者的并运算定义为:,RS = t | tR tS ,13,合并结果中要去掉相同的行,R,S,RS,14,2.2.1基于更新的代数运算,第2章 关系模型与运算: 2.2 关系代数(1),删除运算:集合的差运算,设有同类关系R、S,则二者的差运算定义为:,15,R,S,RS,SR,16,修改关系R内元组内容可用下面方法实现: 设需要修改的元组构成关系R1,则先做删除,得R-R1。 设修改后的元组构成关系R2,此时将其插入,得到结果(R-R1)R2。,第2章 关系模型与运算: 2.2 关系代数(1),2.2.1基于更新的代数运算,修改运算:集合的差运算与并运算,17,第2章 关系模型与运算: 2.2 关系代数(2),2.2.2基于查询的代数运算,属性列的制定:投影运算,设有k元关系R,其元组变量为tk = ,那么关系R在其分量Ai1, Ai2, , Ain ( nk , i1 , i2, , in 为1到k之间互不相同的整数)上的投影 定义为:,18,R,B , C(R),投影的结果中要去掉相同的行,19,第2章 关系模型与运算: 2.2 关系代数(2),2.2.2基于查询的代数运算,元组集合的选择:选择运算,设有k元关系R,条件用一命题公式F表示,则从关系R中选择出满足条件F的行定义为:,F是选择的条件: tR, F(t)要么为真,要么为假 F的形式:由逻辑运算符连接算术表达式而成 逻辑表达式:, 算术表达式:X Y X,Y是属性名、常量、或简单函数 是比较算符, , , , , , ,20,R,A5(R),A5 C=7(R),21,第2章 关系模型与运算: 2.2 关系代数(2),2.2.2基于查询的代数运算,关系的集成:广义笛卡尔乘积运算,设有关系R、S,其中关系R有r个属性分量、m个元组,关系S有s个属性分量、n个元组,则二者的广义笛卡尔乘积(Cartesian Product)运算定义为:,22,23,求数学成绩比王红同学高的学生,S.姓名( R.成绩S.成绩 R.课程=数学 S.课程=数学 R.姓名=王红 (RS( R),S( R): 更名运算,将R更名为S,24,第2章 关系模型与运算: 2.2 关系代数(3),2.2.3 关系代数系统,n元有序组的集合R上两个一元运算(投影和选择)和三个二元运算(并、差、笛卡尔乘积)构成一个代数系统,称之为关系代数系统,简称为关系代数。,25,第2章 关系模型与运算: 2.2 关系代数(2),2.2.4关系代数组合运算,1.交运算,设有同类关系R、S,则二者的交Intersection)运算定义为,RS = r | rR rS ,交运算可以通过差运算来重写: RS = R (R S),26,R,S,RS,27,第2章 关系模型与运算: 2.2 关系代数(2),2.2.4关系代数组合运算,2.除法运算,设有两个关系T和R,其元数分别为n和m(nm0),则T和R进行“除法”运算的结果记P = T R,其中P是一个元数为n-m的满足下述性质的最大关系: P中的每个元组u与R中每个元组v所组成的元组(u ,v)必在关系T中。在这里,为了叙述方便,假设R的属性为T中的后m个属性。,28,第2章 关系模型与运算: 2.2 关系代数(2),2.2.4关系代数组合运算,除法公式,由于关系中属性的次序无关性,给定两个可以“相除”的关系T、R之后,我们能够将T中的属性按照R中属性构成的集合分成两部分:X和Y,进而将T和R分别记为T (X,Y) 和R(Y),则有 T R = X (T) - X (X (T) R)- T),29,第2章 关系模型与运算: 2.2 关系代数(2),2.2.4关系代数组合运算,除法运算步骤,P=T R的具体计算步骤为: U = X (T) (计算T在X上的投影); V = (UR)-T(计算在UR中但不在T中的元组); W = X (V) (计算V在X上的投影); P=U-W(计算在U中但不在W中的元组),30,R,AB (R),S,AB (R) CD (S),AB (R) CD (S)-R,R S=,-,=,31,注意:被除关系不能含多余属性,否则结果不一样。所以根据情况,可以先对被除关系作投影运算,选修了全部课程并且成绩都相同的学生,选修了全部课程的学生,32,第2章 关系模型与运算: 2.2 关系代数(2),2.2.4关系代数组合运算,3.连接运算连接,设有关系R、S,为算术比较符,i为R中某一属性列的编号,j为S中某一属性列的编号,ij为一个算术比较式。关系R,S在域i,j上的-连接(-Join)就是从R和S的笛卡尔乘积中选取满足条件“ij”的元组,其定义为:,33,R S,B D,R,S,34,第2章 关系模型与运算: 2.2 关系代数(2),2.2.4关系代数组合运算,3.连接运算F连接,设F为形如F1F2Fn的公式,其中每个Fk(1kn)都是形如ij 的算术比较式。F-连接(F-Join)是从R和S的笛卡尔乘积RS中选取满足F的元组,其定义为:,35,第2章 关系模型与运算: 2.2 关系代数(2),2.2.4关系代数组合运算,3.连接运算自然连接,若R和S具有相同的属性组A=A1,A2,An,而B为R中属性集合和S中属性集合的并集合(相同属性只能算一次)则关系R和S的自然连接定义记为:,36,37,关系代数查询实例,以书P43关系数

温馨提示

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

评论

0/150

提交评论