资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库系统基础教程数据库系统基础教程第第2章章 关系数据模型与关系运算关系数据模型与关系运算12.1关系数据模型关系数据模型2.1.1关系与关系表关系与关系表形式化定义:关系形式化定义:关系笛卡尔乘积子集笛卡尔乘积子集意义:意义: 将数据模型置于严格数学基础之上将数据模型置于严格数学基础之上直观性描述:关系表直观性描述:关系表二维平面表格二维平面表格意义:意义: 将数据模型置于实际背景和应用实现基础之上将数据模型置于实际背景和应用实现基础之上第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(1) 22.1.1关系与关系表(关系与关系表(2)基本表:实际存储数据逻辑表示基本表:实际存储数据逻辑表示特点:数据库中实际保存特点:数据库中实际保存视图表:基本表和其他视图的导出表示视图表:基本表和其他视图的导出表示特点:数据库中保存模式,不保存具体数据值特点:数据库中保存模式,不保存具体数据值查询表:用户查询结果对应表示查询表:用户查询结果对应表示特点:如果不提出请求,数据库中将不保存特点:如果不提出请求,数据库中将不保存第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(1) 关系表的关系表的三种类型三种类型32.1.1关系与关系表(关系与关系表(2)超超 键:键:唯一标识元组的属性集合唯一标识元组的属性集合候选键:候选键:不含多余属性的超键不含多余属性的超键主主 键:键:选定用于标识的候选键选定用于标识的候选键外外 键:键:R2的主键的主键K是是R1的属性子集,的属性子集, 则则K为为R1外键外键第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(1) 关系的键关系的键42.1.2关系数据结构(关系数据结构(1)如果使用下述方式组织数据,如果使用下述方式组织数据,则称定义了一个关系数据结构则称定义了一个关系数据结构 第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(2) 以二维平面表格表示实体集以二维平面表格表示实体集以以“ 键键” 表示该实体集中实体标识和表示该实体集中实体标识和该实体集与其它实体集之间关联该实体集与其它实体集之间关联52.1.2关系数据结构(关系数据结构(2)关系结构基本性质关系结构基本性质 第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(2) 列的同质性列的同质性异列同域性异列同域性列的无序性列的无序性元组相异性元组相异性属性原子性属性原子性62.1.3关系数据操作(关系数据操作(1)关系查询关系查询 第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(3) 单个关系内元组选择单个关系内元组选择多个关系的合并多个关系的合并单个关系内属性指定单个关系内属性指定72.1.3关系数据操作(关系数据操作(2)关系更新关系更新 第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(3) 元组插入元组插入元组删除元组删除元组修改元组修改82.1.3关系数据操作(关系数据操作(3)空值处理空值处理 第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(3) 限定主键不能取空值限定主键不能取空值定义空值相应运算定义空值相应运算92.1.3关系数据操作(关系数据操作(4)关系操作的数学理论关系操作的数学理论 第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(3) 基于集合:关系代数基于集合:关系代数基于逻辑:关系演算基于逻辑:关系演算102.1.4关系数据完整性约束关系数据完整性约束实体完整性约束实体完整性约束 第第2章章 关系模型与运算:关系模型与运算: 2.1 关系数据模型(关系数据模型(4) 数据定义中主键非空数据定义中主键非空数据操作中外键约束数据操作中外键约束和元组间联系约束和元组间联系约束参照完整性约束参照完整性约束 自定义完整性约束自定义完整性约束 数据定义中基于应用背数据定义中基于应用背景的属性约束景的属性约束112.2关系代数关系代数2.1.1基于更新的代数运算基于更新的代数运算插入运算:集合的并运算插入运算:集合的并运算第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(1) 设有同类关系设有同类关系R、S(即(即R、S具有相同的关具有相同的关系模式),则二者的并运算定义为:系模式),则二者的并运算定义为:R RS = t | S = t | t t R R t t S S R S12合并结果中要去掉相同的行合并结果中要去掉相同的行ABC367257723443RABC345723SABC367257723443345RS 132.2.1基于更新的代数运算基于更新的代数运算第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(1) 删除运算:集合的差运算删除运算:集合的差运算设有同类关系设有同类关系R、S,则二者的差运算定义为:,则二者的差运算定义为:R S14ABC367257723443RABC345723SABC367257443RS ABC367SR 15修改关系修改关系R内元组内容可用下面方法实现:内元组内容可用下面方法实现: 设需要修改的元组构成关系设需要修改的元组构成关系R1,则先做删除,则先做删除,得得R-R1。 设修改后的元组构成关系设修改后的元组构成关系R2,此时将其插入,此时将其插入,得到结果(得到结果(R-R1)R2。第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(1) 2.2.1基于更新的代数运算基于更新的代数运算修改运算:集合的差运算与并运算修改运算:集合的差运算与并运算16第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(2) 2.2.2基于查询的代数运算基于查询的代数运算属性列的制定:投影运算属性列的制定:投影运算设有设有k元关系元关系R,其元组变量为,其元组变量为tk = ,那么关系,那么关系R在其分量在其分量Ai1, Ai2, , Ain ( nk , i1 , i2, , in 为为1到到k之间互不相同的整数之间互不相同的整数)上的投影上的投影 定义为:定义为:17cbcfedcbaCBABCbcef R R B , C(R)投影的结果中要去掉相同的行投影的结果中要去掉相同的行18第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(2) 2.2.2基于查询的代数运算基于查询的代数运算元组集合的选择:选择运算元组集合的选择:选择运算设有设有k元关系元关系R,条件用一,条件用一命题公式命题公式F表示,则从表示,则从关系关系R中选择出满足条件中选择出满足条件F的行定义为:的行定义为: F是选择的条件是选择的条件: tR, F(t)要么为真,要么为假要么为真,要么为假F的形式的形式:由:由逻辑运算符逻辑运算符逻辑运算符逻辑运算符连接连接算术表达式算术表达式算术表达式算术表达式而成而成逻辑表达式:逻辑表达式:, 算术表达式:算术表达式:X YX,Y是属性名、常量、或简单函数是属性名、常量、或简单函数 是比较算符,是比较算符, , , , , , 19ABC367257723443RA5(R) ABC367257443Am0),则T和R进行“除法”运算的结果记P = T R,其中P是一个元数为n-m的满足下述性质的最大关系: P中的每个元组u与R中每个元组v所组成的元组(u ,v)必在关系T中。在这里,为了叙述方便,假设R的属性为T中的后m个属性。27第第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)28第第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中的元组)29ABCDabcdabefabdebcefedcdedefCDcdefABabedABabbcedABCDabcdabefbccdbcefedcdedefR AB (R)S AB (R) CD (S) AB (R) CD (S)-R ABCDbccdR S=ABabbcedABbc-=30注意:被除关系不能含多余属性,否则结果不一样。注意:被除关系不能含多余属性,否则结果不一样。所以根据情况,可以先对被除关系作投影运算所以根据情况,可以先对被除关系作投影运算课程数学物理姓名课程成绩张军物理93王红数学86张军数学93王红物理92课程数学物理姓名课程张军物理王红数学张军数学王红物理姓名张军王红姓名成绩张军93选修了全部课选修了全部课程并且成绩都程并且成绩都相同的学生相同的学生选修了全部选修了全部课程的学生课程的学生31第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(2) 2.2.4关系代数组合运算关系代数组合运算3.连接运算连接运算连接连接设有关系R、S,为算术比较符,i为R中某一属性列的编号,j为S中某一属性列的编号,ij为一个算术比较式。关系R,S在域i,j上的-连接(-Join)就是从R和S的笛卡尔乘积中选取满足条件“ij”的元组,其定义为:32987654321CBADE3162ABCDE123311236245662 R S R S B D R R S S33第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(2) 2.2.4关系代数组合运算关系代数组合运算3.连接运算连接运算F连接连接设F为形如F1F2Fn的公式,其中每个Fk(1kn)都是形如ij 的算术比较式。F-连接(F-Join)是从R和S的笛卡尔乘积RS中选取满足F的元组,其定义为:34第第2章章 关系模型与运算:关系模型与运算: 2.2 关系代数(关系代数(2) 2.2.4关系代数组合运算关系代数组合运算3.连接运算连接运算自然连接自然连接若R和S具有相同的属性组A=A1,A2,An,而B为R中属性集合和S中属性集合的并集合(相同属性只能算一次)则关系R和S的自然连接定义记为:35AB12412C DaababrB13123DaaabbEs11112aaaabA B C D Er s36关系代数查询实例关系代数查询实例以书P43关系数据库(s,sc,c)为例,用关系代数表示以下查询语句1.检索学习课程号为c2的学生学号和成绩2.检索学习课程号为c2的学生学号和姓名3.检索学习课程名为maths的学生学号和姓名4.检索学习课程号为c2或c4的学生学号5.检索至少学习课程号为c2和c4的学生学号6.检索没有学习课程号为c2的学生姓名和年龄7.检索所学课程包含了学号为s3同学所学所有课程的学生学号37
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号