资源预览内容
第1页 / 共70页
第2页 / 共70页
第3页 / 共70页
第4页 / 共70页
第5页 / 共70页
第6页 / 共70页
第7页 / 共70页
第8页 / 共70页
第9页 / 共70页
第10页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章第二章 关系数据库关系数据库主讲教师:杨丽丽 E-mail:yllnwsuaf.edu.cn Tel: 17709213676,87091337(O)本章内容2.1 关系数据结构及形式化定义2.2 关系操作2.3 关系的完整性2.4 关系代数2.1.1 关系域:是一组具有相同数据类型的值的集合。 笛卡儿积:给定一组域D1、D2、Dn,这些域中可以有相同 的。 D1、D2、Dn的笛卡尔积为:D1D2Dn =(d1,d2,dn)|diDi,i=1,2,n其中每一个元素( d1,d2,dn )叫作一个n元组或简称元组元素中的每一个值di叫作一个分量 D1D2Dn基数M为 M=笛卡尔积可表示为一个二维表。表中的每行对应一个元组, 表中的每列对应一个域。2.1 关系数据结构及形式化定义关系:D1D2Dn 的子集叫做在域 D1,D2,Dn上的关系(Relation) ,表示为: R(D1, D2 , Dn)R是关系名,n为关系的目。关系是笛卡尔积的有限子集,所以关系也是一个二维表。 若关系中的某一个或多个属性的集合能唯一地标识一个元组,则称该 属性或属性组为超码。 如果构成超码属性组的任意真子集都不能成为超码,这样的最小超码 称为候选码。 若一个关系有多个候选码,则选定其中一个为主码。候选码的诸属性 称为主属性。 不包含在任何候选码中的属性称为非主属性或非码属性。2.1 关系数据结构及形式化定义2.1.1 关系D1=导师集合 = 张清玫,刘逸 D2=专业集合=计算机专业,信息专业D3=研究生集合=李勇,刘晨,王敏则D1,D2,D3的笛卡尔积为:D1D2D3 (张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇), (张清玫,信息专业,刘晨),(张清玫,信息专业,王敏), (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇), (刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) 2.1 关系数据结构及形式化定义2.1.1 关系导师 专业研究生张清玫计算机专业李勇张清玫计算机专业刘晨张清玫计算机专业王敏张清玫信息专业李勇张清玫信息专业刘晨张清玫信息专业王敏刘逸计算机专业李勇刘逸计算机专业刘晨刘逸计算机专业王敏刘逸信息专业李勇刘逸信息专业刘晨刘逸信息专业王敏2.1 关系数据结构及形式化定义2.1.1 关系D1, D2, D3的笛卡尔积在表2.1 的笛卡尔积中取出一个子集来构造关系由于一个研究生只能师从于一个导师,学习某一个专业,所 以笛卡尔积中的许多元组没有实际意义,从中取出有实际意义的 元组来构造关系。SAP(导师,专业,研究生)假设:导师与专业:1:1,导师与研究生:1:n,于是SAP关系包 含符合实际情况的三个元组 (张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(刘 逸,信息专业,王敏) 2.1 关系数据结构及形式化定义2.1.1 关系 假设研究生不会重名,则研究生属性的每一个值都唯一地 标识了一个元组,因此可以作为SAP关系的主码。SAP关系导师 专业 研究生张清玫信息专业李勇 张清玫信息专业刘晨 刘逸信息专业王敏2.1 关系数据结构及形式化定义 关系可以有三种类型: 基本关系(基本表或基表) 实际存在的表,是实际存储数据的逻辑表示 查询表 查询结果对应的表 视图表 由基本表或其他视图表导出的表,是虚表,不对 应实际存储的数据2.1 关系数据结构及形式化定义2.1.1 关系基本关系具有的性质 列是同质的,每一列中的分量是同一类型的数据,来自同一个域。 不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名。 列的顺序无所谓,列的次序可以任意交换。 任意两个元组的候选码不能相同。 行的顺序无所谓,行的次序可以任意交换。 分量必须取原子值,每一个分量都必须是不可分的数据项。2.1 关系数据结构及形式化定义2.1.1 关系关系与二维表的对应学号 980001 980002 9800039800028:9800029姓名 赵学众 钱习志 孙雷成 :李锋城 甘 清性别 男 女:男 男女班级 力91 化81 物71 :汽93 仪81主码整数字符串域男/女字符串属性名(列名)元组(行)属性(列)关系名表名关系分量2.1 关系数据结构及形式化定义2.1.2 关系模式 关系模式是对关系的描述。 关系是元组的集合,因此关系模式必须指出这个元组集合 的结构,即它由哪些属性构成,这些属性来自哪些域,以 及属性与域之间的映象关系。 现实世界的许多已有事实限定了关系模式所有可能的关系 必须满足一定的完整性约束。 这些约束或者通过对属性取值范围的限定,或者通过属性 值间的相互关连反映出来。关系模式应当刻划出这些完整 性约束条件。 因此一个关系模式应当是一个5元组。2.1 关系数据结构及形式化定义 定义:关系的描述称为关系模式。它可以形式化地表示为 : R(U,D,dom,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性 组U中属性所来自的域,dom为属性向域的映象集合,F为 属性间数据的依赖关系集合。 关系模式简记为 R(U)或R(A1,A2,An) 其中R为关系名, A1,A2,An为属性名。而域名及属 性向域的映象常常直接说明为属性的类型、长度。2.1.2 关系模式2.1 关系数据结构及形式化定义 关系模式与关系 关系模式是型,关系是值。 关系是关系模式在某一时刻的状态或内容。 关系模式是静态的、稳定的。 关系是动态的、随时间变化的。2.1.2 关系模式2.1 关系数据结构及形式化定义2.2 关系操作2.2.1 基本的关系操作查询 选择、投影、连接、除、并、交、差、笛卡尔积等数据更新 插入、删除、修改查询的表达能力是其中最主要的部分2.2.1 基本的关系操作 关系操作的特点集合操作方式,即操作的对象和结果都是集 合,一次一集合。相应地,非关系数据模型的数据操作方式: 一次一记录。2.2 关系操作2.2.2 关系数据语言的种类关系代数语言 用对关系的运算来表达查询要求 典型代表:IBM-实验性系统ISBL 关系演算语言:用谓词来表达查询要求 元组关系演算语言 谓词变元的基本对象是元组变量 典型代表:APLHA, QUEL 域关系演算语言 谓词变元的基本对象是域变量 典型代表:QBE 具有关系代数和关系演算双重特点的语言 典型代表:SQL2.2 关系操作2.3 关系的完整性 关系模型的完整性规则是对关系的某种约束条件。 关系模型中三类完整性约束:实体完整性参照完整性用户定义的完整性 实体完整性和参照完整性是关系模型必须满足的完整 性约束条件,被称作是关系的两个不变性,应该由关 系系统自动支持。2.3.1 实体完整性 实体完整性规则:若属性A是基本关系R的主属性,则属 性A不能取空值。例:SAP(导师,专业,研究生)“研究生”属性为主码(假设研究生不会重名),则该属性不能取空值选修(学号,课程号,成绩)“学号、课程号”为主码,则两个属性都不能取空值。注意:实体完整性规则规定基本关系的所有主属性都不能取空 值2.3 关系的完整性l 不是西北农林科技大学的学生,能选课吗?l 学校没有开设的课程,学生能选吗?课程学生选课被选2.3.2 参照完整性2.3 关系的完整性学生课程选 修2.3 关系的完整性要求1:选课的学生是在校的学生要求2:学生选的课程是学校开设的课程 这些现实要求在数据库中如何实现呢?2.3 关系的完整性学生表课程表选课表2.3 关系的完整性 外码:设F是基本关系R的一个或一组属性,但不是关系R的主码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。S(Ks,C,D )R(A,B,F)参照关系被参照关系参照2.3 关系的完整性外码学生表课程表选课表2.3 关系的完整性 参照完整性规则:若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为: 或者取空值 或者等于S中某个元组的主码值2.3 关系的完整性学生表课程表选课表2.3 关系的完整性2.3.3 用户定义的完整性 用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。例:选修(学号,课程号,成绩)成绩的取值范围在0100之间 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。2.3 关系的完整性2.4 关系代数1关系代数一种抽象的查询语言用对关系的运算来表达查询2关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类2.4 关系代数3关系运算符集合运算符( ) 将关系看成元组的集合 运算是从关系的“水平”方向即行的角度来进行专门的关系运算符( ) 不仅涉及行而且涉及列比较运算符( ) 辅助专门的关系运算符进行操作逻辑运算符( ) 辅助专门的关系运算符进行操作2.4 关系代数4关系代数运算的分类传统的集合运算并、差、交、广义笛卡尔积专门的关系运算选择、投影、连接、除2.4.1 传统的集合运算并 差 交 广义笛卡尔积2.4 关系代数1. 并、差、交 R和S满足的条件具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域 RS 仍为n目关系,由属于R或属于S的元组组成RS = t|t R t S R - S 仍为n目关系,由属于R而不属于S的所有元组组成R -S = t|tRtS RS 仍为n目关系,由既属于R又属于S的元组组成RS = t|t Rt S RS = R (R-S)2.4 关系代数ABC a1b1c1 a1b2c2 a2b2c1ABC a1b1c1 a1b2c2 a1b3c2 a2b2c1ABC a1b2c2 a1b3c2 a2b2c1RSRS 2.4 关系代数并、交、差举例ABC a1b1c1 a1b2c2 a2b2c1ABC a1b2c2 a1b3c2 a2b2c1RSR S ABC a1b2c2 a2b2c12.4 关系代数并、交、差举例ABC a1b1c1 a1b2c2 a2b2c1ABC a1b2c2 a1b3c2 a2b2c1RSR - S ABC a1b1c12.4 关系代数并、交、差举例2.广义笛卡尔积 R:n目关系,k1个元组 S:m目关系,k2个元组 RS 列:(n+m)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组行:k1k2个元组 RS = trts | trR tsS 2.4 关系代数ABC a1 b1 c1 a1 b2 c2 a2 b2 c1R.AR.BR.C a1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABC a1 b2 c2 a1 b3 c2 a2 b2 c1RSR S S.AS.B S.C a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c12.4 关系代数广义笛卡尔积举例2.4.2 专门的关系运算选择 投影 连接 除2.4 关系代数选择操作是在关系R中选择满足给定条件的诸元组,其表示 形式为: F(R)=t|tR F(t)=真F:选择条件,是一个关系表达式,基本形式为:X1Y1 其中:运算符(,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号