《数据库系统及应用教程》第2章:关系数据库_第1页
《数据库系统及应用教程》第2章:关系数据库_第2页
《数据库系统及应用教程》第2章:关系数据库_第3页
《数据库系统及应用教程》第2章:关系数据库_第4页
《数据库系统及应用教程》第2章:关系数据库_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第2章 关系数据库,(时间:2次课,4学时),第2章 关系数据库,教学提示:本章主要介绍关系模型的基本概念,包括关系的概念和性质;关系模型的体系结构;关系的完整性规则;关系代数的基本操作;关系数据库的规范化理论。 教学目标:了解关系模型的基本概念;掌握关系模式、关系子模式及存储模式的体系结构;掌握实体完整性、参照完整性及用户自定义完整性的含义;掌握关系的交、并、差、笛卡尔积、除及选择、投影、联接等关系操作;掌握范式的概念及关系模式的规范化方法。,第2章 关系数据库,2.1 关系模型的基本概念 2.2 关系代数 2.3 关系规范化 2.4 习题,2.1 关系模型的基本概念,2.1.1 关系模型的基本术语 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) 关系中的每一个属性值是不可分解的。也就是说,要求关系的每一个分量必须是一个不可分的数据项,即表中不能含有表。这是关系数据库对关系的最基本的限制。 (2) 每一个关系模式中属性的数据类型以及属性的个数是固定的,并且每个属性必须命名,在同一个关系模式中,属性名必须是不同的。 (3) 每一个关系仅有一种关系模式。 (4) 在关系中元组的顺序是无关紧要的,即没有行序。 (5) 在关系中属性的顺序可任意交换,交换是应连同属性名一起交换,即没有列序。 (6) 在同一个关系中不允许出现完全相同的元组。,2.1.3 关系模型的三要素,关系模型是由三部分组成: 数据结构 关系操作 关系的完整性规则,2.1.3.1 数据结构,关系模型中所选用的数据结构为集合论中的关系,即用关系来描述实体集,同时也用关系来描述实体之间的关系。 关系模型已经成为数据库系统普遍选用的模型,其理由之一便是数据结构的简洁性和通俗性,同时又有坚实的数学理论为基础。,2.1.3.2 关系操作,关系操作能力的表达有两种不同的方法: (1) 代数方法,也称为关系代数。它是以集合操作为基础,应用对关系的专门运算来表达查询的要求。 (2) 逻辑方法,也称为关系演算。它是以谓词演算为基础,通过元组必须满足的谓词公式来表达查询要求。,2.1.3.3 关系模型的三类完整性规则,三类完整性规则: 1. 实体完整性,实体完整性规则是对关系中的主属性值的约束,即,设属性A是关系R的主属性,则属性A不能取空值。 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. 广义笛卡尔积(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)和(b)是两个关系R和S,(c)表示其除法运算。,图2.5 除法运算举例,2.2.3 关系代数表达式及其应用实例,【例2.5】设教学数据库中有三个关系: 学生关系(学号,姓名,性别,年龄,所在系,专业) 课程关系(课程号,课程名,学时数) 选课关系(学号,课程号,成绩) 要求用关系代数表达式表达每个查询语句。,2.2.3 关系代数表达式及其应用实例,(1) 检索学习课程号为C201的学生的学号与成绩: 学号,成绩(课程号=C201(选课) (2) 检索学习课程号为C142的学生的学号与姓名: 学号,姓名(课程号=C142(学生选课) (3) 检索学习课程名为应用数学的学生的学号与姓名。 学号,姓名(课程名=应用数学(学生选课课程),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)的任意个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,称X为决定因素,Y为依赖因素。 函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。因此不能仅考察关系模式R在某一时刻的关系r,就判定某函数依赖是否成立。,2.3.3 关系模式的范式与规范化,关系数据库的关系模式是要满足一定要求的,满足不同程度的要求关系模式称为范式(Normal Form)。满足最低要求关系模式的称为第一范式,简称lNF。第一范式中进一步满足一些要求的关系模式称为第二范式,其余以此类推。 范式的研究者主要是E. F. Codd,他提出了规范化的问题,并给出了范式的概念。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对应的1NF形式是:,2.3.3 关系模式的范式与规范化,1.2. 第二范式 2NF消除了在1NF中的部分函数依赖。 【例2.8】对于如例2.6所示的商品供应关系模式SUPPLY,满足函数依赖的集F为: SNOSNAME,SCITY SCITYCODE PNOPNAME,WEIGHT (SNO,PNO)QTY,2.3.3 关系模式的范式与规范化,1.3. 第三范式 设R是一个关系模式,如果R属于2NF,且它的任何一个非主属性都不传递依赖于R的任一候选键,则称R是第三范式,简称3NF。 3NF就是不允许关系模式的属性之间有这样的非平凡函数依赖XY,其中X不包含候选键,Y是非主属性。X不包含候选键有两种情况:一种情况是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,且每一个非主属性都不传递依赖于码,称为_。,2.4.2 选择题,(1) 关系数据模型通常由3部分组成,它们是( )。 A. 数据结构、数据通信、关系操作 B. 数据结构、关系操作、完整性约束 C. 数据通信、关系操作、完整性约束 D. 数据结构、数据通信、完整性约束 (2) 由数据库系统自动支持的完整性规则有( )。 A. 用户自定义完整性 B. 参照完整性和实体完整性 C. 参照完整性 D. 实体完整性、参照完整性和用户自定义完整性 (3) 关系代数的运算对象和结果均为( )。 A. 关系 B. 数据库 C. 表 D. 记录,2.4.2 选择题,(4) 在设计不好的关系模式中,存在的存储异常情况指( )。 A. 删除异常 B. 插入异常 C. 插入异常、数据冗余、删除异常、更新异常 D. 查询异常 (5) 设R是一个关系模式,如果R中的每一个属性值都是不可分解的,则( )。 A. R1NF B. R2NF C. R3NF D. R4NF,2.4.3 简答题,(1) 试述什么是关系模型的外键,它有什么作用

温馨提示

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

最新文档

评论

0/150

提交评论