首页 > 代码库 > 数据库学习笔记_9_BNCF与3NF范式以及分化方法
数据库学习笔记_9_BNCF与3NF范式以及分化方法
上次笔记讲到了函数依赖 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范式以及分化方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。