第2章关系数据库精选文档.ppt

上传人:石*** 文档编号:44695618 上传时间:2022-09-22 格式:PPT 页数:42 大小:2.33MB
返回 下载 相关 举报
第2章关系数据库精选文档.ppt_第1页
第1页 / 共42页
第2章关系数据库精选文档.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《第2章关系数据库精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章关系数据库精选文档.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2章章 关系数据库关系数据库本讲稿第一页,共四十二页教学提示:教学提示:关系模型是关系数据库的基础,关系代数则是应用数学方法来处理数据库中的数据的方法。关系的完整性约束和关系的规范化设计为数据库的合理运用提供保证。教学目标:教学目标:理解关系模型,掌握完整性约束规则,掌握基础关系运算,了解规范化理论。本讲稿第三页,共四十二页目录目录第第2章章 关系数据库关系数据库1.1 关系数据系统概述关系数据系统概述11.2 1.2 关系模型的数据结构关系模型的数据结构关系模型的数据结构关系模型的数据结构 22.3 关系的完整性及约束关系的完整性及约束 32.1 关系关系12.2 关系运算关系运算 22

2、.4 2.4 2.4 2.4 关系设计的规范化关系设计的规范化关系设计的规范化关系设计的规范化 4本讲稿第四页,共四十二页2.1 关系关系关系模型中无论是实体还是实体间的联系均由单关系模型中无论是实体还是实体间的联系均由单一的结构类型即关系来表示。在实际的关系数据库中一的结构类型即关系来表示。在实际的关系数据库中的关系也称表。一个关系数据库就是由若干个表组成的关系也称表。一个关系数据库就是由若干个表组成.1.域(域(Domain)域是一组具有相同数据类型的值的集合。域是一组具有相同数据类型的值的集合。例如,整数、实数、介于某个取值范围的整数、例如,整数、实数、介于某个取值范围的整数、指定长度的

3、字符串集合、指定长度的字符串集合、男男,女女、所有学生、所有学生的姓名、介于某个取值范围的日期等都可以是域。的姓名、介于某个取值范围的日期等都可以是域。本讲稿第五页,共四十二页2.1 关系关系2.关系关系 关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。关系也是一个二维表,表的每行对应一个元组,表的每列对应义的。关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。例如学生关系见表一个域。例如学生关系见表2-1,“B0001,王华,王华,19,计算机系,计算机系”是是一个元组。一个元组。“所在系所在系”列中的取值来自全校

4、所有的系名组成的域。列中的取值来自全校所有的系名组成的域。表表2-1 学生关系学生关系 本讲稿第六页,共四十二页2.1 关系关系3.关系的性质关系的性质关系具有以下性质:关系具有以下性质:1)列是同质的,每一列中的分量是同一类型的数据,来列是同质的,每一列中的分量是同一类型的数据,来自同一个域。自同一个域。2)不同的列可出自同一个域,其中的每一列称为一个属不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名。性,不同的属性要给予不同的属性名。3)列的顺序无所谓,列的次序可以任意交换。列的顺序无所谓,列的次序可以任意交换。4)任意两个元组不能完全相同。即关系中不能有完全

5、相同任意两个元组不能完全相同。即关系中不能有完全相同的两条记录。的两条记录。5)行的顺序无所谓,行的次序可以任意交换。行的顺序无所谓,行的次序可以任意交换。6)分量必须取原子值,每一个分量都必须是不可分的数据分量必须取原子值,每一个分量都必须是不可分的数据项。即每个属性不能再分割。项。即每个属性不能再分割。本讲稿第七页,共四十二页关系数模型的基本概念关系数模型的基本概念关系模型关系模型 之 关系的特点简单地总结关系的特点简单地总结就是就是:属性不可再分元组不重复(行不重复)属性名不能相同(列不重复)行无序列无序本讲稿第八页,共四十二页2.2 关系运算关系运算关系操作集合也是关系模型的三要素之一

6、。关系的运算是关系操作的运算基础。关系运算主要有选择、投影、连接等运算。关系运算主要有选择、投影、连接等运算。本讲稿第九页,共四十二页2.2.1 选择选择选择(Selection)运算:选择运算又称为限制运算,是关系上的一元运算,简记为SL,它根据条件对关系进行水平分解,选择满足条件的元组组成一个新的关系,如用F表示选择条件,则记作:F(R)=t|tRF(t)=“TURE”本讲稿第十页,共四十二页2.2.1 选择选择选择运算记为选择运算记为F(R),其中,其中是选择运算符,是选择运算符,R是一个关系,是一个关系,F为条件表达式。为条件表达式。若学生信息见若学生信息见表表2-1,若要找出所有年龄

7、低于,若要找出所有年龄低于20的行组成一个的行组成一个新表新表,则需要做选择运算。,则需要做选择运算。F(学生信息学生信息),其中,其中F为年龄为年龄20。该运算的结果见表。该运算的结果见表2-2。表表2-2 选择运算的结果选择运算的结果 本讲稿第十一页,共四十二页2.2.2 投影投影投影(Projection)运算:投影运算是对关系的垂直分割,消去某些列,并重新排列的顺序,再删除重复的元组如:关系R(A,B,C)在A,C列上的投影。记作:A,C(R)本讲稿第十二页,共四十二页投影案例投影案例若要对表若要对表2-1学生信息中的学生信息中的“学号学号”和和“姓名姓名”组成新表,组成新表,则需要做

8、投影运算。则需要做投影运算。x(S),其中,其中x为学号,姓名。该运算的为学号,姓名。该运算的结果见表结果见表2-3。表表2-3 投影运算的结果投影运算的结果本讲稿第十三页,共四十二页2.2.3 连接连接 连接是将两个关系的属性名拼接成一个更宽连接是将两个关系的属性名拼接成一个更宽的关系,生成的新关系中包含满足连接条件的元的关系,生成的新关系中包含满足连接条件的元组。运算过程是通过连接条件来控制的,连接是组。运算过程是通过连接条件来控制的,连接是对两个表的操作。对两个表的操作。本讲稿第十四页,共四十二页2.2.3 连接连接 1.交叉连接交叉连接交叉连接又称笛卡尔连接,设表交叉连接又称笛卡尔连接

9、,设表R和和S的属性的属性个数分别为个数分别为r和和s,元组个数分别为,元组个数分别为m和和n,则,则R和和S的交叉连接是一个具有的交叉连接是一个具有rs个属性,个属性,mn个元个元组的表,且每个元组的前组的表,且每个元组的前r个属性来自于个属性来自于R的一个的一个元组,后元组,后s个属性来自于个属性来自于S的一个元组,记为的一个元组,记为RS。本讲稿第十五页,共四十二页2.2.3 连接连接 属性名相同时,表示属性名相同时,表示方式是方式是本讲稿第十六页,共四十二页交叉连接案例交叉连接案例设学生和选课关系见表设学生和选课关系见表2-4。则学生。则学生选课的结果见表选课的结果见表2-5。表表2-

10、4 学生和选课关系学生和选课关系 表表2-5 交叉连接交叉连接 本讲稿第十七页,共四十二页2.2.3 连接连接联接(Join)运算:联接运算简记为JN,联接是从二个关系的笛卡儿积中选取属性间满足一定条件的元组。记作:R S=RA RB(RS)A和B分别为关系R和S上度数相等的可以比较的属性组,是比较运算符。本讲稿第十八页,共四十二页连接案例连接案例条件连接是把两个表中的行按照给定的条件进行拼接而形成的新条件连接是把两个表中的行按照给定的条件进行拼接而形成的新表,结果列为连接的两个表的所有列,记为表,结果列为连接的两个表的所有列,记为R F S。其中。其中R和和S是进行是进行连接的表,连接的表,

11、F是条件。是条件。设学生和选课关系见表设学生和选课关系见表2-4。则学生。则学生F选课的结果见表选课的结果见表2-6,其中条,其中条件为件为“成绩成绩”“年龄年龄”。表表2-6 条件连接条件连接本讲稿第十九页,共四十二页2.2.3 连接连接(2)自然连接自然连接自然连接是除去重复属性的等值连接,它是连接运算的一个特例,自然连接是除去重复属性的等值连接,它是连接运算的一个特例,是最常用的连接运算。是最常用的连接运算。自然连接记为自然连接记为RS,其中,其中R和和S是两个表,并且具有一个或多个同名是两个表,并且具有一个或多个同名属性。在连接运算中,同名属性一般都是外关键字,否则会出现重复数据。属性

12、。在连接运算中,同名属性一般都是外关键字,否则会出现重复数据。也就是:从两个关系的笛卡儿积中选择出公共属性值相等的元组所组成的新的关系(即即选择选择相同属性的值相同的元组相同属性的值相同的元组求笛求笛卡儿积,相同的部分保留一份卡儿积,相同的部分保留一份)本讲稿第二十页,共四十二页自然连接案例自然连接案例自然连接是除去重复属性的等值连接,它是连接运算的一个特例,是最自然连接是除去重复属性的等值连接,它是连接运算的一个特例,是最常用的连接运算。常用的连接运算。自然连接记为自然连接记为RS,其中,其中R和和S是两个表,并且具有一个或多是两个表,并且具有一个或多个同名属性。在连接运算中,同名属性一般都

13、是外关键字,否则会个同名属性。在连接运算中,同名属性一般都是外关键字,否则会出现重复数据。出现重复数据。设学生和选课关系见表设学生和选课关系见表2-4。则学生。则学生选课的结果见表选课的结果见表2-7。表表2-7 自然连接自然连接 本讲稿第二十一页,共四十二页2.2.3 连接连接3.外连接外连接 在关系在关系R和和S上做自然连接时,选择两个关上做自然连接时,选择两个关系在公共属性上值相等的元组构成新关系的元组。系在公共属性上值相等的元组构成新关系的元组。此时此时R和和S中公共属性值不相等的元组被舍弃。中公共属性值不相等的元组被舍弃。如果如果R和和S在做自然连接时,把原该舍弃的元组在做自然连接时

14、,把原该舍弃的元组也保留在新关系中,同时在这些元组新增加的属也保留在新关系中,同时在这些元组新增加的属性上填上空值(性上填上空值(NULL),这种操作称为),这种操作称为“外连外连接接”操作。操作。本讲稿第二十二页,共四十二页2.2.3 连接连接(1)左外连接左外连接左外连接就是在查询结果集中显示左边表中所有的记录,以左外连接就是在查询结果集中显示左边表中所有的记录,以及右边表中符合条件的记录。及右边表中符合条件的记录。(2)右外连接右外连接右外连接就是在查询结果集中显示右边表中所有的记录,右外连接就是在查询结果集中显示右边表中所有的记录,以及左边表中符合条件的记录。以及左边表中符合条件的记录

15、。(3)全外连接全外连接全外连接就是在查询结果集中显示左右两张表中所有的全外连接就是在查询结果集中显示左右两张表中所有的记录,包括符合条件和不符合条件的记录。记录,包括符合条件和不符合条件的记录。若有两个关系学生和选课,见表若有两个关系学生和选课,见表2-4,则左外连接、,则左外连接、右外连接和全外连接结果见表右外连接和全外连接结果见表2-8。本讲稿第二十三页,共四十二页外连接案例外连接案例本讲稿第二十四页,共四十二页2.3 关系的完整性及约束关系的完整性及约束2.3.1 关系的完整性关系的完整性关系的完整性也可称为关系的约束条件。它是对关系的一些限制和规定。关系的完整性也可称为关系的约束条件

16、。它是对关系的一些限制和规定。通过这些限制保证数据的正确性和一致性。关系的完整性包括实体完整性、通过这些限制保证数据的正确性和一致性。关系的完整性包括实体完整性、参照完整性和域完整性。参照完整性和域完整性。1.实体完整性实体完整性实体完整性规则规定基本关系的所有主码对应的主属性都不能取实体完整性规则规定基本关系的所有主码对应的主属性都不能取空值。空值。例如学生关系中,学生(学号,姓名,年龄,所在系),其中学例如学生关系中,学生(学号,姓名,年龄,所在系),其中学号为主码。号为主码。学号不能取空值。学号不能取空值。本讲稿第二十五页,共四十二页2.3.1 关系的完整性关系的完整性2.参照完整性参照

17、完整性参照完整性指被引用表中的主关键字和引用表中的外部主关键参照完整性指被引用表中的主关键字和引用表中的外部主关键字之间的关系。如被引用行是否可以被删除等。如果要删除被引用字之间的关系。如被引用行是否可以被删除等。如果要删除被引用的对象,那么也要删除引用它的所有对象,或者把引用值设置为空的对象,那么也要删除引用它的所有对象,或者把引用值设置为空(如果允许的话如果允许的话)。例如,在前面的学生和选课关系中,删除某个学生元组之前,必须例如,在前面的学生和选课关系中,删除某个学生元组之前,必须先删除相应的引用该学生的选课元组。这就是参照完整性。先删除相应的引用该学生的选课元组。这就是参照完整性。3.

18、域完整性域完整性域完整性是针对某一具体关系数据库的约束条件,反映某一具体应域完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。用所涉及的数据必须满足的语义要求。例如,选课关系中的例如,选课关系中的“分数分数”取值规定为取值规定为0到到100之间。之间。本讲稿第二十六页,共四十二页2.3.2 约束约束SQL Server 2008提供了提供了6种约束,用以保证数据的完整性。约种约束,用以保证数据的完整性。约束是对实体属性的取值范围和格式所设置的限制,是实现数据完整性束是对实体属性的取值范围和格式所设置的限制,是实现数据完整性的重要手段。的重要手段。1.主键

19、约束(主键约束(Primary Key)设置主键约束的字段称为主键字段,主键约束可以保证数据的实设置主键约束的字段称为主键字段,主键约束可以保证数据的实体完整性。体完整性。规范化的数据库中的每张表都必须设置主键约束,主键的字段值必须规范化的数据库中的每张表都必须设置主键约束,主键的字段值必须是唯一的,不允许重复,也不能为空。一张表只能定义一个主键,主键可以是唯一的,不允许重复,也不能为空。一张表只能定义一个主键,主键可以是单一字段,也可以是多个字段的组合。是单一字段,也可以是多个字段的组合。例如,在前面的学生关系中,设置例如,在前面的学生关系中,设置“学号学号”为主键;在选课关系中,为主键;在

20、选课关系中,设置设置“学号学号+课程名课程名”为主键。为主键。本讲稿第二十七页,共四十二页2.3.2 约束约束2.外键约束(外键约束(Foreign Key)如果一个表中某个字段的数据只能取另一个表中某个字段值之一,如果一个表中某个字段的数据只能取另一个表中某个字段值之一,则必须为该字段设置外键约束,外键约束可以保证数据的参照完整性和域则必须为该字段设置外键约束,外键约束可以保证数据的参照完整性和域完整性。完整性。设置外键约束字段的表称为子表,它所引用的表称为父表。外设置外键约束字段的表称为子表,它所引用的表称为父表。外键约束可以使一个数据库的多张表之间建立关联,通过外键约束可键约束可以使一个

21、数据库的多张表之间建立关联,通过外键约束可以使父表和子表建立一对多的逻辑关系。以使父表和子表建立一对多的逻辑关系。例如,在学生关系和选课关系中,选课关系中的例如,在学生关系和选课关系中,选课关系中的“学号学号”取值为取值为学生关系中学生关系中“学号学号”的一部分,必须为选课关系中的的一部分,必须为选课关系中的“学号学号”设置外设置外键约束,选课关系为子表,学生关系为父表。键约束,选课关系为子表,学生关系为父表。本讲稿第二十八页,共四十二页2.3.2 约束约束3.唯一约束(唯一约束(Unique)唯一约束可以指定一列数据或几列数据的组合值在表中是唯一不能唯一约束可以指定一列数据或几列数据的组合值

22、在表中是唯一不能重复的。重复的。唯一约束用于保证主键以外的字段值不能重复,用以保证数据的唯一约束用于保证主键以外的字段值不能重复,用以保证数据的实体完整性。实体完整性。一张表可以定义多个唯一约束,定义为唯一约束的字段可以允许为空一张表可以定义多个唯一约束,定义为唯一约束的字段可以允许为空值,但只能有一个空值。值,但只能有一个空值。4.检查约束(检查约束(Check)检查约束是用指定的条件(逻辑表达式)检查限制输入数据的取值检查约束是用指定的条件(逻辑表达式)检查限制输入数据的取值范围是否正确,用以保证数据的参照完整性和域完整性。如范围是否正确,用以保证数据的参照完整性和域完整性。如“性别性别”

23、字字段只能输入段只能输入“男男”,“女女”。例如,在学生关系中,学生年龄一般在例如,在学生关系中,学生年龄一般在15到到25之间,可以设之间,可以设置检查约束检验置检查约束检验“年龄年龄”字段的取值范围是否在此之间。字段的取值范围是否在此之间。本讲稿第二十九页,共四十二页2.3.2 约束约束5.默认值约束(默认值约束(Default)默认值约束是指给某个字段绑定一个默认的初始值,输入记录时默认值约束是指给某个字段绑定一个默认的初始值,输入记录时若没有给出该字段的数据,则自动填入默认值以保证数据的域完整性。若没有给出该字段的数据,则自动填入默认值以保证数据的域完整性。如银行卡的初始密码实际上就相

24、当于默认值。如银行卡的初始密码实际上就相当于默认值。例如,在选课关系中,例如,在选课关系中,“分数分数”字段可以设置默认值为字段可以设置默认值为“0”,即当没有输入分数时,默认为即当没有输入分数时,默认为0分。分。6.空值约束(空值约束(Null)空值约束是指不知道或不能确定的特殊数据,不等同于数值空值约束是指不知道或不能确定的特殊数据,不等同于数值0和字符的和字符的空格。空格。例如,在学生关系中,学生的姓名不能为空,可以设置例如,在学生关系中,学生的姓名不能为空,可以设置“姓名姓名”字段的空值约束为字段的空值约束为“否否”。本讲稿第三十页,共四十二页2.4 关系设计的规范化关系设计的规范化数

25、据模型是数据库应用系统的基础和核心,合理设计数据模数据模型是数据库应用系统的基础和核心,合理设计数据模型是数据库应用系统设计的关键。为了区分数据模型的优劣,人型是数据库应用系统设计的关键。为了区分数据模型的优劣,人们常常把数据模型分为各种不同等级的范式。们常常把数据模型分为各种不同等级的范式。范式来自英文范式来自英文Normal Form,简称,简称NF。一个好的关系必须满足一定。一个好的关系必须满足一定的约束条件,此约束已经形成了规范,分成几个等级,越来越严格。满足的约束条件,此约束已经形成了规范,分成几个等级,越来越严格。满足最低要求的关系称它属于第一范式,在此基础上又满足了某种条件,达到

26、最低要求的关系称它属于第一范式,在此基础上又满足了某种条件,达到第二范式标准,则称它属于第二范式的关系,直到第五范式。满足较高条第二范式标准,则称它属于第二范式的关系,直到第五范式。满足较高条件者必满足较低范式条件。一个较低范式的关系,可以通过关系的无损分件者必满足较低范式条件。一个较低范式的关系,可以通过关系的无损分解转换为若干较高级范式关系的集合,这一过程称为关系规范化。一般情解转换为若干较高级范式关系的集合,这一过程称为关系规范化。一般情况下,第一范式和第二范式的关系存在许多缺点,实际的数据库一般使用况下,第一范式和第二范式的关系存在许多缺点,实际的数据库一般使用第三范式以上的关系。第三

27、范式以上的关系。本讲稿第三十一页,共四十二页2.4 关系设计的规范化关系设计的规范化关系规范化的基本方法是逐步消除关系模式中不合适的数据依赖,关系规范化的基本方法是逐步消除关系模式中不合适的数据依赖,使模式达到某种程度的分离,即,不要将若干事物混在一起,而要彼此分使模式达到某种程度的分离,即,不要将若干事物混在一起,而要彼此分开,用一个关系表示一个事物,所以,规范化的过程也被认为是开,用一个关系表示一个事物,所以,规范化的过程也被认为是“单一化单一化”的过程。的过程。规范化是以函数相关性理论为基础的,其中最重要的是函数依赖。规范化是以函数相关性理论为基础的,其中最重要的是函数依赖。定义如下:给

28、定一个关系定义如下:给定一个关系R,有属性(或属性组),有属性(或属性组)A和和B,如果,如果R中中B的每的每个值都与个值都与A的唯一确定值对应,则称的唯一确定值对应,则称B函数依赖于函数依赖于A,A被称为决定因素。被称为决定因素。本讲稿第三十二页,共四十二页2.4.1 第一范式(第一范式(1NF)第一范式规定关系的每一个分量必须是一个不可分的数据项,即表中每第一范式规定关系的每一个分量必须是一个不可分的数据项,即表中每个属性都是不可分割的最小数据元素,没有重复的列。个属性都是不可分割的最小数据元素,没有重复的列。例如,见表例如,见表2-9的教学关系中所有的属性都是不可再分的简单属性,满的教学

29、关系中所有的属性都是不可再分的简单属性,满足足1NF。1NF的关系是从关系的基本性质而来,任何关系必须遵守。的关系是从关系的基本性质而来,任何关系必须遵守。表表2-9 教学关系教学关系本讲稿第三十三页,共四十二页2.4.2 第二范式(第二范式(2NF)如果关系模式如果关系模式R满足第一范式,且它的任何一个非主属性都完全函数满足第一范式,且它的任何一个非主属性都完全函数依赖于任一个候选码,则依赖于任一个候选码,则R满足第二范式(简记为满足第二范式(简记为2NF)。即一个关系中不)。即一个关系中不允许有两个相同的实体,数据表没有相同的行,通过关键字使记录唯一。允许有两个相同的实体,数据表没有相同的

30、行,通过关键字使记录唯一。部分函数依赖关系是造成插入异常的原因。在第二范式中,不部分函数依赖关系是造成插入异常的原因。在第二范式中,不存在非主属性之间的部分函数依赖关系,即消除了部分函数依赖关系存在非主属性之间的部分函数依赖关系,即消除了部分函数依赖关系,因此第二范式解决了插入异常问题。,因此第二范式解决了插入异常问题。例如,见表例如,见表2-9的教学关系中:的教学关系中:属性集属性集=学号,姓名,年龄,系名,系主任,课程名,成绩学号,姓名,年龄,系名,系主任,课程名,成绩主码主码=(学号,课程号)(学号,课程号)非主属性非主属性=(姓名,年龄,系名,系主任,成绩)(姓名,年龄,系名,系主任,

31、成绩)其中,非主属性姓名、年龄、系名、系主任只部分依赖于学号,而其中,非主属性姓名、年龄、系名、系主任只部分依赖于学号,而与课程名无关。因此,该教学模式不属于与课程名无关。因此,该教学模式不属于2NF。本讲稿第三十四页,共四十二页2.4.2 第二范式(第二范式(2NF)该关系模式存在数据冗余、更新异常和删除异常等存储问题。解该关系模式存在数据冗余、更新异常和删除异常等存储问题。解决的办法是将非第二范式的关系模式分解出若干个第二范式关系模式。决的办法是将非第二范式的关系模式分解出若干个第二范式关系模式。分解的方法是:分解的方法是:1)把关系模式中对码完全函数依赖的非主属性与决定他们的码放在把关系

32、模式中对码完全函数依赖的非主属性与决定他们的码放在一个关系模式中;一个关系模式中;2)把对码部分函数依赖的非主属性和决定他们的主属性放在一个关系把对码部分函数依赖的非主属性和决定他们的主属性放在一个关系模式中;模式中;3)检查分解后的新模式,如果仍不是检查分解后的新模式,如果仍不是2NF,则继续按照前面的方法,则继续按照前面的方法进行分解,直到达到要求。进行分解,直到达到要求。根据根据2NF的定义,把教学模式分解为:的定义,把教学模式分解为:学生学生_系(学号,姓名,年龄,系名,系主任);系(学号,姓名,年龄,系名,系主任);选课(学号,课程名,成绩)选课(学号,课程名,成绩)这两个关系都不存

33、在部分函数依赖,它们都是这两个关系都不存在部分函数依赖,它们都是2NF。本讲稿第三十五页,共四十二页2.4.3 第三范式(第三范式(3NF)如果关系模式如果关系模式R是第二范式,且没有一个非码属性传递依赖于码,是第二范式,且没有一个非码属性传递依赖于码,则称则称R是第三范式(简记为是第三范式(简记为3NF)。)。传递函数依赖关系是造成删除异常的原因。第三范式消除了传递函传递函数依赖关系是造成删除异常的原因。第三范式消除了传递函数依赖部分,解决了数据的删除异常问题。数依赖部分,解决了数据的删除异常问题。例如,在上例的学生例如,在上例的学生_系模式中,学号系模式中,学号系名,系名系名,系名系主任,

34、系主任,即系主任传递依赖于学号,因此学生即系主任传递依赖于学号,因此学生_系模式不是系模式不是3NF,它存在着删,它存在着删除异常问题。解决的方法就是消除其中的传递依赖,将学生除异常问题。解决的方法就是消除其中的传递依赖,将学生_系模系模式进一步分解为若干个独立的第三范式模式。分解的方式是:式进一步分解为若干个独立的第三范式模式。分解的方式是:1)把直接对码函数依赖的非主属性与决定他们的码放在一个关系模把直接对码函数依赖的非主属性与决定他们的码放在一个关系模式中;式中;2)把造成传递函数依赖的决定因素连同被它们决定的属性放在一把造成传递函数依赖的决定因素连同被它们决定的属性放在一个关系模式中;

35、个关系模式中;3)检查分解后的新模式,如果不是检查分解后的新模式,如果不是3NF,则继续按照前面的方法进,则继续按照前面的方法进行分解,直到达到要求。行分解,直到达到要求。本讲稿第三十六页,共四十二页2.4.3 第三范式(第三范式(3NF)对于学生对于学生_系关系模式来说,姓名、系名直接依赖主属性学号,可将系关系模式来说,姓名、系名直接依赖主属性学号,可将他们放在一个关系模式中。系名决定系主任,系名是造成传递函数依赖的他们放在一个关系模式中。系名决定系主任,系名是造成传递函数依赖的决定因素,将它们放在另一个关系模式中。分解后的关系模式为:决定因素,将它们放在另一个关系模式中。分解后的关系模式为

36、:学生(学号,姓名,年龄,系名)学生(学号,姓名,年龄,系名)教学系(系名,系主任)教学系(系名,系主任)可以看出,学生和教学系关系模式是描述单一的现实事物,都不可以看出,学生和教学系关系模式是描述单一的现实事物,都不存在传递依赖关系,它们是存在传递依赖关系,它们是3NF。满足满足3NF的关系数据库一般情况下能达到满意的效果,但是仍有的关系数据库一般情况下能达到满意的效果,但是仍有可能发生异常,这时就需要用更高的范式去限制它。可能发生异常,这时就需要用更高的范式去限制它。本讲稿第三十七页,共四十二页2.4.4 BCN范式(范式(BCNF)对于关系模式对于关系模式R,若,若R中的所有非平凡的、完

37、全的函数依赖的决定中的所有非平凡的、完全的函数依赖的决定因素是码,则因素是码,则R是是BCNF。由由BCNF的定义可以得出如下结论。若的定义可以得出如下结论。若R是是BCNF,则,则R有:有:所有非主属性对每一个码都是完全函数依赖;所有非主属性对每一个码都是完全函数依赖;所有主属性对每一个不包含它的码也是完全函数依赖;所有主属性对每一个不包含它的码也是完全函数依赖;没有任何属性完全函数依赖于非码的任何一组属性。没有任何属性完全函数依赖于非码的任何一组属性。若关系模式若关系模式R属于属于BCNF,则,则R中不存在任何属性对码的传递依赖和部分中不存在任何属性对码的传递依赖和部分依赖,所有依赖,所有

38、R也属于也属于3NF。因此任何属于。因此任何属于BCNF的关系模式一定属于的关系模式一定属于3NF,反,反之则不然。之则不然。本讲稿第三十八页,共四十二页2.4.4 BCN范式(范式(BCNF)学生(学号,姓名,年龄,系名)是学生(学号,姓名,年龄,系名)是BCNF。至此,表至此,表2-9中不规范的教学关系已被分解为符合中不规范的教学关系已被分解为符合BCNF的的3个教学模个教学模式:式:学生(学号,姓名,年龄,系名)学生(学号,姓名,年龄,系名)教学系(系名,系主任)教学系(系名,系主任)选课(学号,课程名,成绩)选课(学号,课程名,成绩)在实际应用中,最有价值的是在实际应用中,最有价值的是

39、3NF和和BCNF,在进行关系模式的,在进行关系模式的设计时,通常分解到设计时,通常分解到3NF就足够了。就足够了。本讲稿第三十九页,共四十二页数据库的设计都需要一定程度的规范化,但规范化的缺点是降低了数据库的设计都需要一定程度的规范化,但规范化的缺点是降低了数据库的性能,由于规范化数据库要连接不同表中的数据,必须给所关联数据库的性能,由于规范化数据库要连接不同表中的数据,必须给所关联的数据表进行定位,会对数据库性能产生一定的负面影响。的数据表进行定位,会对数据库性能产生一定的负面影响。所谓非规范化是对已经规范化的数据库做适当的修改,允许有限度所谓非规范化是对已经规范化的数据库做适当的修改,允许有限度的冗余,比如允许在表中使用少量频率较高的重复数据等。非规范化的数的冗余,比如允许在表中使用少量频率较高的重复数据等。非规范化的数据库不同于没有规范化过的原始数据库。据库不同于没有规范化过的原始数据库。本讲稿第四十页,共四十二页习习 题题P23 1-8,13其余准备提问本讲稿第四十一页,共四十二页本章End!本讲稿第四十二页,共四十二页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁