第2章关系数据库优秀课件.ppt
《第2章关系数据库优秀课件.ppt》由会员分享,可在线阅读,更多相关《第2章关系数据库优秀课件.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章关系数据库第1页,本讲稿共90页2.1 关系模型2.2 关系模式 2.3 关系代数 2.4 关系数据库规范化理论小结 内 容第2页,本讲稿共90页2.1 关系模型2.1.1 关系数据结构 2.1.2 关系操作2.1.3 完整性约束 第3页,本讲稿共90页2.1.1 关系数据结构 一个关系模型的逻辑结构是一张二维表,它由行和列组成。关系:对应通常所说的二维表;元组:表中的一行即为一个元组;属性:表中的一列即为一个属性;主关键字:表中的某个属性组,它可唯一确定一个元组;域:属性的取值范围;分量:元组中的一个属性值;关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,属性n)第4页,本
2、讲稿共90页学生登记表 在关系模型中,实体以及实体间的联系都是用关系来表示的。例如:学生、课程、考试关系的关系模型表示如下:学生(学好,姓名,性别,年龄,班级号)课程(课程号,课程名,周学时,学分)考试(学好,课程号,成绩)关系模型中要求关系必须是规范化的,也就是说关系模式必须满足一定的规范条件,其中最重要的一条就是分量必须是一个最小的数据项。第5页,本讲稿共90页2.1.2 关系操作 关系操作采用集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一个集合的方式。非关系数据模型的数据操作则为一次一个记录的方式。常用的关系操作包括:查询操作(选择、投影、连接、除、并、交、差等)和更
3、新操作(增、删、改等)两部分操作。第6页,本讲稿共90页 关系模型中关系操纵早期是用代数方法或逻辑方法来表示,称为:关系代数:用对关系的运算来表达查询要求的方式。关系演算:用谓词来表达查询要求的方式。关系演算又分为:元组关系演算、域关系演算 第7页,本讲稿共90页 关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价。关系语言是一种高度非过程化的语言,用户不必请求数据管理员为他建立特殊的存取路径,存取路径的选择由DBMS的优化机制来完成。介于关系代数和关系演算之间的语言称为:结构化查询语言SQL。SQL不仅具有丰富的查询功能,而且还具有数据定义和数据控制功能,是集查询、DDL和数据控
4、制语言集成于一体的关系数据语言。SQL充分体现了关系数据语言的特点和优点,是RDB的标准语言。第8页,本讲稿共90页 第9页,本讲稿共90页2.1.3 完整性约束关系模式 设有一个名字为R的关系,它有属性A1,A2,An,其对应的域分别为D1,D2,Dn,则关系模式可表示为:R=(A1,A2,An)上式是对关系R的型的描述,称关系R的模式。其中:n是R的属性的个数称为关系的目;Ai(1in)是属性名,在同一关系中不能同名。例如:学生(学号,姓名,性别,年龄,班级号)为学生关系模式 第10页,本讲稿共90页 完整性约束:在RDB中,完整性约束用于确保数据的准确性和一致性。1.域完整性约束 2.实
5、体完整性约束(必须满足)3.参照完整性约束(必须满足)4.用户定义完整性约束 第11页,本讲稿共90页1.域完整性约束 限定属性的取值范围,并由语义决定一个属性值是否允许为空值“NULL”。空值“NULL”用来说明在数据库中某些属性值可能是未知的,即“不知道”或在某些场合下是不适应即“无意义”的一种标记。空值不是空格值,它是跳过或暂不输入的属性值。例:教师(教师号,教师名,年龄,职称,系部号)关系中,对一个新调入的教师在未分配具体单位之前,属性系部号一列可取空值(NULL)。域完整性约束是最简单、最基本的约束。在当今的RDBMS中,一般都有域完整性约束检查功能。第12页,本讲稿共90页2.实体
6、完整性约束实体完整性约束:指任一关系中主关键字的值不能为空值“NULL”并且取值惟一。实体完整性约束能保证实体的唯一性。实体完整性约束能保证实体的可区分性。大部分DBMS支持实体完整性约束检查。如果用户的数据模式中说明了主关键字,则DBMS可以进行这项检查。第13页,本讲稿共90页3.参照完整性约束 现实世界中的实体之间存在着某种关系,在关系模型中实体及实体间的联系都是用关系来描述的,因此就自然存在着关系与关系间的引用。参照完整性约束定义外部关键字与主关键字之间的引用规则。当两个关系存在关系间的引用时,要求不能引用不存在的元组。第14页,本讲稿共90页例1:学生管理数据库中有关系:学生(学号,
7、姓名,性别,年龄,班级号):参照关系 班级(班级号,班级名,人数,专业号):被参照关系 学生关系与班级关系之间存在属性引用,学生关系中的某个属性的取值需要参照班级关系的属性取值。“班级号”属性只能取:空值“NULL”或非空值。“班级号”属性是学生关系的外部关键字。第15页,本讲稿共90页例2:学生管理数据库中有关系:学生(学号,姓名,性别,年龄,班级号):被参照关系 课程(课程号,课程名,学分,周学时):被参照关系 考试(学号,课程号,成绩):参照关系 学生、课程与考试三个关系之间存在属性的引用。“学号”和“课程号”属性是考试关系的外部关键字。第16页,本讲稿共90页4.用户定义完整性约束 用
8、户定义的完整性约束是针对某一具体RDB的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例:学生考试成绩必须大于或等于零,职工的工龄应小于年龄,人的身高不能超过3米等,都是针对具体关系而提出的完整性约束条件。RDBMS应提供定义和检验这类完整性的机制,以便能用统一的方法处理他们,而不是由应用程序承担这一功能。在有些DBMS中,允许用户对个别数据说明一些约束及违反约束时的处理过程,但迄今还没有一个RDBMS产品,全面实现用户定义完整性约束检查。第17页,本讲稿共90页2.2 关系模式2.2.1 关系概念模式 2.2.2 关系内模式 2.2.3 关系外模式 第18页,本讲稿共90页 关
9、系模式是对关系的描述。关系是关系模式在某一时刻的状态或内容。关系模式是型,关系是它的值。关系模式是静态的、稳定的,关系是动态的、随时间不断变化的,因为关系操作在不断地更新着DB中的数据。RDB具有三级模式:概念模式、内模式、外模式。第19页,本讲稿共90页2.2.1 关系概念模式 关系概念模式主要包括出现在DB中的每个关系的说明,它包括对关系名、属性名和属性取值范围(类型)的说明。在关系数据模型中,关系与关系间的联系是通过连接属性实现的。例:有如下两个关系:班级(班级号,班级名,人数)学生(学号,姓名,性别,年龄,班级号)相应属性取值类型和宽度如下表所示。第20页,本讲稿共90页 班级与学生关
10、系说明分级图第21页,本讲稿共90页2.2.2 关系内模式 从原理上讲,关系内模式与其他类型DBS的内模式没有什么不同,RDB中的每个基本表都应对应一个存储文件。基于主关键字进行直接存取,一般可根据主关键字建立相应索引。在关系内模式中不用说明存储文件,存储文件的说明由RDBMS根据基本表的定义自动映射产生。在关系内模式主要内容中要说明的是索引。分级图第22页,本讲稿共90页2.2.3 关系外模式 外模式是概念模式的逻辑子集,是用户与DBS的接口,是对用户所用到的那部分数据的描述。在RDB中,外模式被称作视图(VIEW)。分级图第23页,本讲稿共90页DB分级结构图 应用程序A 应用程序B 应用
11、程序C外模式 外模式内模式模式外模式/模式映射模式/内模式映射外模式/模式映射DBMS用户 用户 用户2.2.1 2.2.2 2.2.3 第24页,本讲稿共90页2.3 关系代数 2.3.1 传统的集合运算2.3.2 特殊的关系运算 第25页,本讲稿共90页 关系代数是一种抽象的查询语言,通过对关系的运算来表达查询,关系代数的运算对象和运算结果是关系。关系代数的运算按运算符不同分为传统集合运算和特殊关系运算两类。关系代数的作用如下:模型化 查询客观现实 关系型数据库模型关系代数请按键第26页,本讲稿共90页2.3.1 传统的集合运算1.并运算2.交运算 3.差运算 4.笛卡尔积运算 第27页,
12、本讲稿共90页 传统的集合运算是二元运算,它将关系看作是元组的集合,参与运算的关系具有相同的目(度),相应的属性取自同一个域,且两个关系具有相同的结构。设关系R和S均是n元关系,且相应的属性值取自同一个值域,则可以定义:并运算、交运算、差运算、笛卡尔积运算第28页,本讲稿共90页关系R与关系S第29页,本讲稿共90页1.并运算 是指将一个关系的元组加到另一个关系中,生成新的关系。元组在新的关系中出现的顺序是无关紧要的,但必须消除重复元组。关系R和S的并运算记为RS。为使操作有意义,关系在并运算上必须是兼容的,即关系R和关系S必须要有相同的属性,且在对应列中的属性必须是相同的域;例:若一个关系中
13、的第四个属性取自年龄域,则第二个关系的第四个属性也必须取自年龄域。第30页,本讲稿共90页R与S的并集及结果 第31页,本讲稿共90页2.交运算 是包含同时出现在第一和第二个关系中的元组的新关系。这些关系也必须是在并运算上兼容的。关系R和S的交运算记为RS。R与S的交集及结果第32页,本讲稿共90页3.差运算 指包括在第一个关系中出现而在第二个关系中不出现的元组的新关系。差运算使用的关系也必须是在并运算上兼容的。如在算术运算中那样,减法是有顺序的,R-S和S-R是不同的。R与S的差及结果第33页,本讲稿共90页4.笛卡尔积运算 一个关系中的每个元组和第二个关系的每个元组的连接。关系R(含m个元
14、组)和关系S(含n个元组)的积有mn个元组。记为:RXS=(al,a2,am,b1,b2,bn)|(al,a2,am)R(b1,b2,bn)S 第34页,本讲稿共90页关系R与S笛卡尔积的结果第35页,本讲稿共90页2.3.2 特殊的关系运算 1.选择运算 2.投影运算 3.连接运算第36页,本讲稿共90页1.选择运算 一元关系操作,按给定的选择条件选出符合条件的元组。可表示为:其中:选择条件是逻辑表达式,取值为“真”或假”。()第37页,本讲稿共90页 例3:在学生关系中选择年龄为19岁的男生。选择操作的结果:性别=男AND年龄=19(学生)学号 姓名 性别 年龄 班级号010125 曲波
15、男 19 01001010126 高天 男 20 01002010138 张新 女 21 01001000234 关笑 男 22 00011020308 王乐 女 18 02010001025 李明 男 18 00005020016 张铁 男 19 02001001004 刘芳 女 20 00011第38页,本讲稿共90页2.投影运算 一元关系操作。选取关系的某些属性。是对一个关系进行垂直分割,消去某些属性,并重新安排属性的顺序,再删去重复的元组,生成一个新关系。投影运算表示为:其中,属性表是要选择的属性,各属性间用逗号间隔。(属性表)()第39页,本讲稿共90页例4:查询学生关系在学号、姓名
16、、年龄三个属性上的投影,可表示为:投影运算的结果:(学号,姓名,年龄)(学生)第40页,本讲稿共90页3.连接运算 二元关系操作,以 符号表示。定义为:从两个关系的笛卡尔积中选取属性间满足一定条件的元组。连接条件为两个关系中对应属性的比较,不一定同名,但域相同。常用的连接运算:等值连接:从两个关系(R、S)的笛卡尔积中选取属性(A、B)值相等的元组;自然连接:特殊的等值连接,在等值连接中取消重复属性。(连接条件)(RS)S=(连接条件)R 第41页,本讲稿共90页例5:对学生与考试关系进行等值连接、自然连接和迪卡尔积运算,结果为:第42页,本讲稿共90页 连接与笛卡尔积的区别:笛卡尔乘积包含两
17、关系的所有元组的组合,连接只包含那些满足连接条件的元组的组合。没有连接条件,即无条件连接,则连接变成笛卡尔乘积。连接等价于先进行笛卡尔乘积,再进行一次选择运算。第43页,本讲稿共90页2.4 RDB规范化理论 2.4.1 关系模式规范化的必要性2.4.2 数值依赖 2.4.3 范式与规范化 2.4.4 关系分解原则 第44页,本讲稿共90页 RBD规范化理论的目的是要设计“好的”RBD模式。要设计好的关系模式,必须是关系满足一定的约束条件,此约束形成了规范。范式:衡量DB规范的层次或深度,DB规范化层次由范式来决定。根据关系模式满足的不同性质和规范化的程度,将关系模式分为第一范式(1NF)、第
18、二范式(2NF)、第三范式(3NF)、BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范化程度越高,关系模式越好。规范化:低级关系模式通过模式分解转换为若干高级范式的关系模式集合的过程。规范化是在RBD中减少数据冗余的过程。第45页,本讲稿共90页2.4.1 关系模式规范化的必要性1.关系模式应满足的条件2.关系可能出现的问题3.模式分解是关系规范化的主要方法第46页,本讲稿共90页1.关系模式应满足的条件 RDB是根据关系模式设计的。关系模式除了能满足信息存储和查询基本要求外,还应满足以下要求:元组每个分量必是不可再分的数据项(不能有表中表)RDB特别强调,关系中的属性不能是组合
19、属性,必须是基本项。否则,会使关系结构变为多层次的混合结构,增加关系操作的表达、优化及执行的复杂度。第47页,本讲稿共90页 DB中的数据冗余应尽量少“数据冗余”会使:DB中的数据量巨增,系统负担过重,并浪费大量存储空间;造成数据的不完整,增加数据维护的代价。造成数据查询和统计困难,导致错误结果。RDB不能因为数据更新操作而引起数据不一致性 对于“数据冗余大”的RDB,当执行数据修改时,冗余的数据可能出现数据不一致问题。影响了数据的完整性,使得DB中数据的可信度降低。第48页,本讲稿共90页当执行数据插入时,DB中的数据不能产生插入异常现象 所谓“插入异常”是指希望插入的信息由于不能满足数据完
20、整性的某种要求而不能正常地被插入的DB中的异常问题。原因:DB设计时没有按“一事一地”的原则进行。因多种信息混合放在一个表中,可造成因一种信息被捆绑在其他信息上而产生的信息之间相互依附存储的问题,使得信息不能独立插入。第49页,本讲稿共90页 DB中数据不能在执行删除操作时产生“删除异常”问题“删除异常”是指在删除某种信息的同时把其它信息也删除了。“删除异常”是DB结构不合理产生的问题。若关系中多种信息捆绑在一起,当被删除信息中含有关系的主关键字时,因关系要满足实体完整性,整个元组将全部从DB中被删除,即出现“删除异常”。第50页,本讲稿共90页 DB设计应考虑查询要求,数据组织应合理 在DB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 优秀 课件
限制150内