数据库BC范式(BCNF)判断和分解

您所在的位置:网站首页 数据库的主属性和非主属性 数据库BC范式(BCNF)判断和分解

数据库BC范式(BCNF)判断和分解

2024-07-17 11:35:31| 来源: 网络整理| 查看: 265

书中的概念:

关系模式R〈U,F〉∈1NF。若X→Y且Y不包含X时X必含有码,则R〈U,F〉∈BCNF。 也就是说,关系模式R〈U,F〉中,若每一个决定因素都包含码,则R〈U,F〉∈BCNF。

由关系模式的定义可以得到如下结论,若R属于BCNF,则R有:

1.所有非主属性对每一个码都是完全函数依赖。

2.所有的主属性对每一个不包含它的码,也是完全函数依赖。

3.没有任何属性完全函数依赖于非码的任何一组属性。

 

我的理解:

非码属性不要完全决定码属性,主属性也不要部分/传递依赖码属性,

换句话来说,就是X→Y时,X一定含有码(候选码中的任意一个)

如:

例1:

在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。

每一教师只教一门课。每门课由一名教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称 : (S,J)→T,(S,T)→J,T→J

显然,在STJ中,(S,J),(S,T)都是候选码,S,T,J都是主属性,所以没有非主属性对码的传递依赖和部分依赖,所以属于3NF。

但是T→J的决定因素既不包含候选码(S,J),也不包含候选码(S,T),所以不是BCNF。

也可以用以上三条结论认证。

(1)当(S,J)为码时,主属性T依旧被码属性J依赖(T→J),违背了以上第3条。

(2)当(S,T)为码时,主属性J依旧被码属性T部分函数依赖(T→J),违背了以上第2条。

综上所述,关系模式STJ不是BCNF。

 

如何将它们改成BCNF呢?

书上有分解法的算法,可以将模式转换为BCNF。书上的很抽象,但是运用起来很简单。简单来说就是把不合法的属性拆出来组成新的模式。

T→J的决定因素既不包含候选码(S,J),也不包含候选码(S,T),所以将其分解,T+J是U的真子集,故分解:S1:{TJ},将被确定的J移除:S2:U-{J}={S,T}

所以原模式被分为ST(S,T)和TJ(T,J)

 

同样的算法,例2:

那么关系模式 dep(D,M,G,N)中D表示仓库名,M表示管理员,G表示货物名,N表示货物的数量 

已知函数依赖集:D → M,M → D,(D,G)→ N

将其分为BC范式:

主属性:D,M,G

候选码:(D,G),(M,G)

D → M,M → D,D和M都不包含候选码(D,G),也不包含候选码(M,G)

此时分解:D → M:S1:{D,M},S2:U-M{D,G,N}   

                 这时,有S1{D → M},候选码D,S2{(D,G)→ N}候选码(D,G),满足BCNF,分解完成。

或者分解:M → D:S1:{M,D},S2:U-D{G,M,N}

                 这时,有S1{M → D},候选码M,S2{(D,M)→ N}候选码(D,M),满足BCNF,分解完成。

所以要想使模式满足BC范式,本例有两种分解方式。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭