当前位置: 代码迷 >> 综合 >> 闲话数据库(二)---第三范式/BCNF
  详细解决方案

闲话数据库(二)---第三范式/BCNF

热度:33   发布时间:2024-01-15 16:30:05.0

第三范式:若关系模式R(U,F)中不存在这样的码X,属性组Y以及非主属性Z(Z不是Y的子集)使得Y函数依赖于X并且X不函数依赖于Y,Z函数依赖于Y成立,则关系模式R属于3NF。

相当的绕口,并且不清醒的时候看它只会更加的想睡觉。

但是把这个转变成另外一种表述:2NF只要消除了非主属性对码的传递函数依赖,则进阶到3NF.

首先对最上面的数学表述形式分析:找不到这样的X,使得: X是码,Y一定是非主属性组,Z非平凡函数依赖于Y。

仔细进一步分析:假如Z非平凡函数依赖于Y,那么Y里面会包含码的存在。如果Y包含码,那么Y和码X就是相互函数依赖的。出现违背条件的推理了。对于第三范式的数学证明最好的方式就是类似上面推理的反证法了。当动手证明完了,就会得到2NF消除完非主属性对码的传递函数依赖就是3NF。

将数据库模式变换成为3NF以及以上的范式的时候,才会说数据库达到规范化标准。变换处理的过程称为关系模式的规范化处理。

一旦达到3NF,就要有一个观念:非主属性对码没有传递函数依赖。