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