《数据库系统及应用教程》第2章:关系数据库

上传人:飞*** 文档编号:5576682 上传时间:2017-08-07 格式:PPT 页数:44 大小:827KB
返回 下载 相关 举报
《数据库系统及应用教程》第2章:关系数据库_第1页
第1页 / 共44页
《数据库系统及应用教程》第2章:关系数据库_第2页
第2页 / 共44页
《数据库系统及应用教程》第2章:关系数据库_第3页
第3页 / 共44页
《数据库系统及应用教程》第2章:关系数据库_第4页
第4页 / 共44页
《数据库系统及应用教程》第2章:关系数据库_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《《数据库系统及应用教程》第2章:关系数据库》由会员分享,可在线阅读,更多相关《《数据库系统及应用教程》第2章:关系数据库(44页珍藏版)》请在金锄头文库上搜索。

1、第2章 关系数据库,(时间:2次课,4学时),第2章 关系数据库,教学提示:本章主要介绍关系模型的基本概念,包括关系的概念和性质;关系模型的体系结构;关系的完整性规则;关系代数的基本操作;关系数据库的规范化理论。 教学目标:了解关系模型的基本概念;掌握关系模式、关系子模式及存储模式的体系结构;掌握实体完整性、参照完整性及用户自定义完整性的含义;掌握关系的交、并、差、笛卡尔积、除及选择、投影、联接等关系操作;掌握范式的概念及关系模式的规范化方法。,第2章 关系数据库,2.1 关系模型的基本概念2.2 关系代数2.3 关系规范化2.4 习题,2.1 关系模型的基本概念,2.1.1 关系模型的基本术

2、语2.1.2 关系的定义和性质2.1.3 关系模型的三要素,2.1.1 关系模型的基本术语,1. 关系 2. 属性及值域3. 关系模式4. 元组5. 键6. 主属性与非主属性7. 外键、参照关系与依赖关系,2.1.2 关系的定义和性质,关系定义:关系是一个元数为K(K1)的元组的集合。即把关系看成是一个集合,集合中的元素是元组,每个元组的属性个数应相同。 尽管关系模型的数据结构表示为二维表,但不是任意的一个二维表都能表示一个关系。严格地说,关系是一种规范化了的二维表格。,2.1.2 关系的定义和性质,在关系模型中,对关系作了下列规范性限制: (1) 关系中的每一个属性值是不可分解的。也就是说,

3、要求关系的每一个分量必须是一个不可分的数据项,即表中不能含有表。这是关系数据库对关系的最基本的限制。 (2) 每一个关系模式中属性的数据类型以及属性的个数是固定的,并且每个属性必须命名,在同一个关系模式中,属性名必须是不同的。 (3) 每一个关系仅有一种关系模式。 (4) 在关系中元组的顺序是无关紧要的,即没有行序。 (5) 在关系中属性的顺序可任意交换,交换是应连同属性名一起交换,即没有列序。 (6) 在同一个关系中不允许出现完全相同的元组。,2.1.3 关系模型的三要素,关系模型是由三部分组成:数据结构关系操作关系的完整性规则,2.1.3.1 数据结构,关系模型中所选用的数据结构为集合论中

4、的关系,即用关系来描述实体集,同时也用关系来描述实体之间的关系。 关系模型已经成为数据库系统普遍选用的模型,其理由之一便是数据结构的简洁性和通俗性,同时又有坚实的数学理论为基础。,2.1.3.2 关系操作,关系操作能力的表达有两种不同的方法: (1) 代数方法,也称为关系代数。它是以集合操作为基础,应用对关系的专门运算来表达查询的要求。 (2) 逻辑方法,也称为关系演算。它是以谓词演算为基础,通过元组必须满足的谓词公式来表达查询要求。,2.1.3.3 关系模型的三类完整性规则,三类完整性规则: 1. 实体完整性,实体完整性规则是对关系中的主属性值的约束,即,设属性A是关系R的主属性,则属性A不

5、能取空值。 2. 参照完整性,参照完整性规则是用于约束外键的,即,若F是关系R中对应关系S的外键,则对于R中每个元组在F上的值必须为以下值: (1)或者取空值(F的每个属性值均为空)。 (2)或者等于S中某个元组的主键值。 3. 用户定义的完整性,约束条件是对数据在语义范畴的描述,由具体应用环境来决定,这就是用户定义的完整性。,2.2 关系代数,2.2.1 传统的集合运算2.2.2 专门的关系运算2.2.3 关系代数表达式及其应用实例,2.2.1 传统的集合运算,1. 并(Union),2. 差(Difference),2.2.1 传统的集合运算,3. 交(Intersection),4. 广

6、义笛卡尔积(Cartesian Product),图2.2 集合关系运算举例,2.2.2 专门的关系运算,专门的关系运算主要包括:对单个关系进行水平分割(选择操作)垂直分割(投影操作)对多个关系的结合(连接操作),2.2.2.1 选择(Selection),2.2.2.2 投影(Projection),2.2.2.2 投影(Projection),图2.3 选择和投影关系运算举例,2.2.2.3 连接(Join),2.2.2.3 连接(Join),2.2.2.3 连接(Join),2.2.2.4 除法(Division),2.2.2.4 除法(Division),【例2.4】图2.5中(a)和

7、(b)是两个关系R和S,(c)表示其除法运算。,图2.5 除法运算举例,2.2.3 关系代数表达式及其应用实例,【例2.5】设教学数据库中有三个关系:学生关系(学号,姓名,性别,年龄,所在系,专业)课程关系(课程号,课程名,学时数)选课关系(学号,课程号,成绩)要求用关系代数表达式表达每个查询语句。,2.2.3 关系代数表达式及其应用实例,(1) 检索学习课程号为C201的学生的学号与成绩: 学号,成绩(课程号=C201(选课)(2) 检索学习课程号为C142的学生的学号与姓名: 学号,姓名(课程号=C142(学生选课) (3) 检索学习课程名为应用数学的学生的学号与姓名。 学号,姓名(课程名

8、=应用数学(学生选课课程),2.3 关系规范化,2.3.1 关系模式的设计问题2.3.2 函数依赖2.3.3 关系模式的范式与规范化,2.3.1 关系模式的设计问题,【例2.6】有商品供应关系模式SUPPLY=SNO,SNAME,SCITY,CODE,PNO,PNAME,WEIGHT,QTY。,表2.1 商品供应关系模式SUPPLY的实例,2.3.1 关系模式的设计问题,表2.2 关系模式SUPPLY的分解实例,2.3.1 关系模式的设计问题,表2.2 关系模式SUPPLY的分解实例,2.3.2 函数依赖,注意:设R(U)是属性集U上的关系模式,X,Y是U的子集,若对于R(U)的任意个可能的关

9、系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,称X为决定因素,Y为依赖因素。函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。因此不能仅考察关系模式R在某一时刻的关系r,就判定某函数依赖是否成立。,2.3.3 关系模式的范式与规范化,关系数据库的关系模式是要满足一定要求的,满足不同程度的要求关系模式称为范式(Normal Form)。满足最低要求关系模式的称为第一范式,简称lNF。第一范式中进一步满足一些要求的关系模式称为第二范式,其余以此类推。 范式的研究者主要是E. F. Codd

10、,他提出了规范化的问题,并给出了范式的概念。19711972年,他系统地提出了1NF、2NF和3NF的概念。后来,人们又进一步讨论了规范化的问题。1974年,Codd和Boyce共同提出一个新的范式概念,即BCNF。1976年,Fagin又提出了4NF。,2.3.3 关系模式的范式与规范化,图2.6 各种范式之间的关系,2.3.3 关系模式的范式与规范化,第一范式: 设R是一个关系模式,如果R中每一个属性的值域中的每一个值都是不可分解的,则称R属于第一范式,简称1NF。 【例2.7】关系Study(学号,课程)给出了学生选修课程的记录:,2.3.3 关系模式的范式与规范化,关系Study对应的

11、1NF形式是:,2.3.3 关系模式的范式与规范化,1.2. 第二范式 2NF消除了在1NF中的部分函数依赖。【例2.8】对于如例2.6所示的商品供应关系模式SUPPLY,满足函数依赖的集F为:SNOSNAME,SCITYSCITYCODEPNOPNAME,WEIGHT(SNO,PNO)QTY,2.3.3 关系模式的范式与规范化,1.3. 第三范式 设R是一个关系模式,如果R属于2NF,且它的任何一个非主属性都不传递依赖于R的任一候选键,则称R是第三范式,简称3NF。 3NF就是不允许关系模式的属性之间有这样的非平凡函数依赖XY,其中X不包含候选键,Y是非主属性。X不包含候选键有两种情况:一种

12、情况是X是候选键的真子集,这是2NF不允许的;另一种情况是X不是候选键的真子集,这是3NF不允许的。,2.3.3 关系模式的范式与规范化,图2.7 从1NF规范化到3NF的过程,2.4 习 题,2.4.1 填空题 2.4.2 选择题 2.4.3 简答题,2.4.1 填空题,(1) 在关系模型中现实世界的实体以及实体间的各种关系均用_表示,关系模型中数据的逻辑结构是一张_。(2) 在对关系数据库执行_、_和_操作时要检查是否满足完整性规则。(3) 在关系代数运算中,连接运算是笛卡尔积的_。(4) 包含在任何一个候选码中的属性叫做_,不包含在任何候选码中的属性叫做_。(5) 若关系模式R2NF,且

13、每一个非主属性都不传递依赖于码,称为_。,2.4.2 选择题,(1) 关系数据模型通常由3部分组成,它们是( )。 A. 数据结构、数据通信、关系操作 B. 数据结构、关系操作、完整性约束 C. 数据通信、关系操作、完整性约束 D. 数据结构、数据通信、完整性约束(2) 由数据库系统自动支持的完整性规则有( )。 A. 用户自定义完整性 B. 参照完整性和实体完整性 C. 参照完整性 D. 实体完整性、参照完整性和用户自定义完整性 (3) 关系代数的运算对象和结果均为( )。 A. 关系B. 数据库 C. 表D. 记录,2.4.2 选择题,(4) 在设计不好的关系模式中,存在的存储异常情况指(

14、 )。 A. 删除异常 B. 插入异常 C. 插入异常、数据冗余、删除异常、更新异常 D. 查询异常(5) 设R是一个关系模式,如果R中的每一个属性值都是不可分解的,则( )。 A. R1NFB. R2NF C. R3NFD. R4NF,2.4.3 简答题,(1) 试述什么是关系模型的外键,它有什么作用?(2) 试述关系模型的完整性规则,并举例说明。(3) 试述笛卡尔积、等值连接、自然连接之间的关系。(4) 什么是关系模式的规范化?(5) 对本章例2.5所述的教学数据库中的学生、课程、选课三个关系,使用关系代数表达式表示下列查询语句: 检索年龄大于21岁的女学生的学号与姓名。 检索学号为S040515的学生所学课程的课程名与学 时数。 检索学号为S040515的学生不学的课程的课程号。,Q & A?Thanks!,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

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