zoukankan      html  css  js  c++  java
  • 【范式与函数依赖】3NF与BCNF的区别

    *本文中码指代候选码,主属性为构成码的属性。

    先简要引入几个概念

    图1


    图2

      单拿出来我认为不是很好理解的3NF和BCNF详细的说说。

      书上写了,BCNF是完善后的3NF。从图2中显然得出,1-3NF都是规范非主属性与码之间的关系。而主属性之间的关系没有规范。有人说了 ,要是构成码的主属性之间存在部分函数依赖或传递函数依赖,那么这就不是码,是超码了。too young!谁告诉你码必须是一个了?比方说AB->C,BC->A,此时AB、BC都是码即ABC都是主属性。所以ABC之间有什么函数依赖不在1-3NF的约束之内。所以需要有BCNF来约束主属性之间的函数依赖了。

     举个例子,R={AB->C,BC->A,C->A},R的码为AB、BC,故主属性为ABC,R为3NF。但是函数依赖C->A,决定因素C不包含码BC故R不是BCNF。

  • 相关阅读:
    随机生成密码
    vue 仿新闻项目笔记
    vuex 随笔
    SourceTree
    vue npm,Git随笔
    谷歌浏览器如何去掉自动填充的背景色
    hold 命令
    ind2vec和vec2ind函数
    稀疏矩阵(sparse matrix)
    第五篇 学习OpenCV之视频处理
  • 原文地址:https://www.cnblogs.com/yuelien/p/9934081.html
Copyright © 2011-2022 走看看