我想大家指导我一个有关BCNF的问题!

ksv988 2004-08-05 10:53:24
大家好:
最近我在学习数据库技术的规范化设计时,就遇到了一个有关BCNF的问题,我在这种规范上还是了解不深.请大家指导,谢谢!

例子:
设有关系模式R(A,B,C),根据语义有如下函数依赖集:
F={A->B,(B,C)->A}.
关系模式R的规范化程度最高达到( ).

A. 1NF
B. 2NF
C. 3NF
D. BCNF

我在做这题的时候就选择了C.我的理由是:在关系R中,明显可以看出(B,C)是R的码,还有可以根据函数依赖公理系统中的增广律推出:A->B(已知),A->AB(增广律),
(A,C)->(A,B,C).因此根据公理,也可以推出(A,C)也是关系R中的一个候选码.由于
(A,C),(B,C)都是候选码头,也就是说关系R中的属性全部都是主属性,没有非主属性,
因此是满足3NF的,又A->B的原因,A不包含码,所以关系R是不满足BCNF的.

可是答案是选择:D
但是在书上对这题的解释的时候,其中也是说到了A是非码属性,也是就是非主属性,不会包含码,那如果按照题目分析的话,它连3NF都满足不了,因为存在传递函数依赖.F={(B,C)->A,A->B} (这样算传递函数依赖吗??)

因此我对于BCNF的理解很不深刻,请大家能否指点一下我呢???谢谢!!
谢谢大家!谢谢!
...全文
52 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧