码迷,mamicode.com
首页 > 数据库 > 详细

数据库学习笔记_9_BNCF与3NF范式以及分化方法

时间:2017-05-08 14:32:22      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:条件   原因   检查   函数依赖   使用   via   res   时间   安全   

上次笔记讲到了函数依赖 functional dependency, 那么现在讲的这个boyce-codd normal form and the third normal form is based on the concept of FD。

  BCNF的条件:

  对于一个关系中存在的任何一个函数依赖,其必须满足以下两个条件中的一个:

  1.这个函数依赖是自导的(不重要的 trivial)

  2.对于依赖LA(a)->LA(b),LA(a)为该关系的一个超键。

  而3nf的条件则是在bcnf上多加了一个合法条件,准确的说,就是更加的宽松,其为:

  3.依赖LA(a)->LA(b),LA(b)是一个候选键(最小超键)的子集。

  而不用BCNF而使用3NF的原因是因为虽然BCNF提高了安全性,但是它对于函数依赖的条件过于苛刻,以至于表被拆分的太散,大大增加了检查约束所需要的时间。(called dependency preservation)

  对于BCNF,分化方法即为将其不合法的LA(a)并LA(b)分为一张表,然后将R-(LA(a)-LA(b))作为另外一张表。

数据库学习笔记_9_BNCF与3NF范式以及分化方法

标签:条件   原因   检查   函数依赖   使用   via   res   时间   安全   

原文地址:http://www.cnblogs.com/stultus/p/6824340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!