关系是通过什么来实现关系之间的关联的_关系中实现实体_关系的三类关系(13)

电脑杂谈  发布时间:2017-03-13 01:06:24  来源:网络整理

递函数依赖,所以SG∈3NF。同时,SG中(学号,课程号)是 唯一的决定因素,所以SG∈BCNF。 在关系模式SDN(学号,姓名,系名称)中,假设姓名具有唯一性 即没有同名人,那么SDN就有两个主键,这两个主键都由单个属性组 成,其他属性不存在对主键的传递函数依赖与部分函数依赖,所以 SDN∈3NF,同时SDN中除学号,姓名之外没有其他决定因素,所以 SDN也属于BCNF。 【例】有一关系模式SCT(学生,课程,教师),在该关系模式中, 存在如下对应关系: (1)对于每门课,每个学生的授课教师只有一位; (2)每位教师只讲授一门课; (3)每门课可由不同教师讲授。

由语义可得到如下函数依赖: (学生,课程)→教师 教师→课程 (学生,教师)→课程 这些对应关系可用右图表示。

学生

教师 课程 学生

课程

教师 关系模式SCT的函数依赖

显然,这个关系模式有两个候选键(学生,课程)和(课程,名 次),并且没有非主属性对主键的部分函数依赖或传递函数依赖,因 此,SCP∈3NF。另外,除(学生,课程)和(课程,名次)之外没有 其他决定因素,所以,SCP∈BCNF。 不满足BCNF的关系模式同样存在着更新异常。假设在SCT(学生, 课程,教师)中,存在这样的元组(王峰,计算机网络,孙效),当删 除信息“王峰学习计算机网络课程”时,将同时失去“教师孙效主讲计 算机网络课程”这一信息。 为什么会产生更新异常呢?因为教师是决定因素,但却不是候选 键。如何解决这个问题呢?仍然采用关系模式分解的办法。 如果将SCT分解为如下两个关系模式: SC(学生,课程) TC(教师,课程) 则SC∈BCNF,TC∈BCNF,这样分解之后解决了SCT中存在的更新 异常问题 一个模式中的关系模式如果都属于BCNF,那么在函数依 赖范畴内,它已消除了插入和删除异常。 3NF 的“不彻底性 ”表现在 存在主属性对主键的部分函数依赖或传递函数依赖。

上一

函数依赖和多值依赖是两种最重要的数据依赖。 本书只介绍函数依赖,多值依赖不属于本科教学范畴, 这里不作介绍。如果只考虑函数依赖,则属于BCNF 的关 系模式其规范化程度是最高的。 规范化的基本思想是逐步消除数据依赖中不合适的部 分,使模式中的各关系模式达到某种程序的分离, 让一个关系描述一个概念或一个实体或实体之间一种联系。 若一个关系描述多于一个的概念时就把这些概念分离出去。 因此,所谓规范实质上是概念的单一化。 在关系中,对关系模式的基本要求是满足第一 范式。这样的关系模式就是合法的、允许的。但是,人们 根据实际情况,可以将关系模式逐步分解达到2NF,3NF, BCNF。

这个过程可以用下图来描述: 1NF

消除非主属性对主键的部分函数依赖

2NF

消除非主属性对主键的传递函数依赖

3NF

消除主属性对主键的部分函数依赖和传递函数依赖

BCNF

(关系模式规范的分解过程)

全部 表格 2NF 关系

将所有栏目分解成最小数据 项 消除部分函数依赖 消除传递函数依赖 消除主属性对非主

1NF 关系

3NF 关系

BCNF 关系

属性的函数依赖

消除多值依赖

规范化过程

4NF 关系

2.5.4.4

关系模式的分解

一个关系模式的分解可以是多种多样的,但不管怎样分解, 最后产生的若干个关系模式应与原关系模式等价。 关于“等价”的概念存在3种不同的含义: (1)分解具有“无损连接性”。 (2)分解要“无损连接性”,又要具有 “保持函数依赖 ”。 (3)分解既要“保持函数依赖”,又要具有“无损连接 这三个含义也是实现分解的三条不同的准则。按照不同的准则, 性”。 关系模式所能达到的分离程序各不相同,各种范式就是对分离程 度的测试。 下面给出分解的定义: 定义 设R(W)是一个关系模式,P(W)={R1(W1), R2(W2),…,RK(WK)}是一个关于W的集合,这个限定是 很不够的,能否消除存储异常,不仅依赖于分解后各模式的范式 程度,而且依赖于对象构成一个关系模式S(学号,系名称,系 负责人),S的关系见下表。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-37193-13.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...