coisini002 2022-12-28 11:39 采纳率: 51.3%
浏览 138
已结题

数据库中证明BCNF一定是3NF

问题遇到的现象和发生背景

这个证明BCNF一定是3NF中(Y->X∈F+,这就是说 Y 不可能包含 R 的关键字)
这句话怎么理解的,还有那个Y->X∈F+是什么意思

img

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

1条回答 默认 最新

  • |__WhoAmI__| 2022-12-28 11:46
    关注

    BCNF 是 3NF 的一个特殊情况。

    Y -> X ∈ F+ 表示 Y 列中的值是由 X 列中的值推导出来的,并且 X 列在函数依赖 F+ 中出现过。这就是说 Y 列不可能包含 R 表的关键字,因为如果 Y 列包含了 R 表的关键字,那么就不满足函数依赖 Y -> X ∈ F+ 的条件了。

    所以这句话的意思是:如果一个表在 BCNF 中,那么它一定也在 3NF 中,因为在 BCNF 中,每一个函数依赖的左部都必须是这个表的主键或者是这个表的主键的子集,而在 3NF 中,每一个函数依赖的左部都必须是这个表的主键。
    望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月9日
  • 已采纳回答 1月1日
  • 创建了问题 12月28日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效