第四章 关系的规范化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可以看出,关系模式S和D各自描述单一的现实事
物,都不存在传递依赖关系,都是第三范式。 一个关系模式达到3NF,则基本解决了“异常” 问题,但还不能彻底解决数据冗余问题。因为 3NF,不能很好地处理模型中含有多个候选关键 字以及候选关键字是组合项的情况,所以需要更 强的范式。
4.4 规范化的基本思想
对于关系模式SCD来说,成绩属性完全函数依赖
主属性学号和课程名,可将它们放在一个关系模 式中;属性住址和系别只依赖学号,可将它们放在 另一个关系模式中;则得到的分解结果如下所示。 学生和系关系模式:SD(学号,系别,住址)。 选课关系模式:SC(学号,课程名,成绩)。 关系SC与SD见表4-3和表4-4
4.1 第1范式(1NF)

设R是一个关系模式,如果R中的每个属性都是不 可分解的,则称R是第一范式,记为R ∈ 1NF。 第一范式的要求是不能表中套表,它是关系模式 最基本的要求,数据库模式中的所有关系模式必须 是第一范式。 不属于1NF,的关系称为非规范化关系,见表41,经过转换形成规范化的关系,记作关系模式 SCD,见表4-2
际情况和用户应用需求作进一步分析,确定一个 合适的、能够反映现实世界的模式
上面的规范化步骤可以在其中任何一步终止
4.5 规范化步骤 1NF2NF3NF…
这两个关系模式都不存在部分函数依赖,它 们都是第二范式。虽然消除了数据的插入异常, 但仍然存在其他存储问题,从关系模式SD包含了 学生和系两方面的信息来看,该模式仍然存在问 题,有待进一步分解,这就需要更高级别的范式。
4.3 第3范式(3NF)

如果关系模式R是第二范式,且没有一个非码 属性传递依赖于码,则称R是第三范式,记为R ∈ 3NF。 传递函数依赖关系是造成删除异常的原因。 第三范式消除了传递函数依赖部分,因此解决了 数据的删除异常问题。 例如,关系模式SD(学号,系别,住址)是关 系SCD的分解结果,它仍然存在问题。该关系模 式中存在着学号一系别,系别一住址,即住址传 递依赖于学号,因此关系模式SD不是第三范式, 存在删除异常问题。解决的办法就是消除其中的 传递依赖,将关系模式SD进一步分解为若干个独 立的第三范式模式。分解的方法如下所述。
表4-1非规范化关系
表4-2 规范化关系
4.2 百度文库2范式(2NF) 如果关系模式R是第一范式,且每个非关键字属性都完全
依赖于关键字属性,则称R是第二范式,记为R ∈ 2NF。 关系模式SCD(学号,系别,住址,课程名,成绩)不是第 二范式,因为该关系模式的主关键字是学号和课程名,对 于非码属性住址和系别来说,只依赖于学号,而与课程名 无关,即该关系模式存在数据冗余、更新异常、插大异常 和删除异常等存储问题。解决的办法是将非第二范式的关 系模式分解为若干个第二范式关系模式。分解的方法如下 所述。 ①、把关系模式中对关键字完全函数依赖的非主属性与决 定它们的关键字放在一个关系模式中。 ②、把对关键字部分函数依赖的非主属性和决定它们的主 属性放在一个关系模式中。 ③、检查分解后的新模式,如果仍不是2NF,则继续按照 前面的方法进行分解,直到达到要求。
①、把直接对码函数依赖的非主属性与决定它们的 码放在一个关系模式中。 ②、把造成传递函数依赖的决定因素连同被它们决 定的属性放在一个关系模式中。 ③、检查分解后的新模式,如果不是3NF,则继续 按照前面的方法进行分解,直至达到要求。 对于关系模式SD来说,系别直接依赖于主属性 学号,可将学号和系别放在一个关系模式中;系别 决定住址,系别是造成传递函数依赖的决定因素, 则将系别和住址放在另一个关系模式中;得到的分 解结果如下所示。 学生关系模式:S(学号,系别)。 系关系模式:D(系别,住址)。 关系S与D见表4-5和表4-6
第四章 关系的规范化
在关系数据库中,对于同一个问题,选用不同关系模式
集合作为数据库模式,其性能的优劣是大不相同的,某些 数据库模式设计经常带来存储异常,这是不利于实际应用 的。为了区分数据库模式的优劣,人们把数据库模式分为 各种不同等级的范式。 在关系规范化中,满足最低条件的称为第一范式,简称 1NF。1NF是关系模式应满足的最起码的条件。在第一范 式的基础上进一步满足一些要求的可升级为第二范式,其 余依次类推。通常,若关系R是第X范式就写成R ∈ xNFo 一个低一级范式的关系模式,通过模式分解可以转换为 若干个高一级范式的关系模式的集合,这种过程称为关系 的规范化。关系规范化的基本方法是逐步消除关系模式中 不合适的数据依赖,使模式达到某种程度的分离,也就是 说,不要将若干事物混在一起,而要彼此分开,用一个关 系表示一事或一物,所以,规范化的过程也被认为是“单 一化”的过程
消除不合适的数据依赖
的各关系模式达到某种程度的“分离”
采用“一事一地”的模式设计原则
让一个关系描述一个概念、一个实体或者实体 间的一种联系。若多于一个概念就把它“分离” 出去 所谓规范化实质上是概念的单一化
不能说规范化程度越高的关系模式就越好 在设计数据库模式结构时,必须对现实世界的实
相关文档
最新文档