BCNF/3NF的判断方法
2024-10-06 18:34:16
判断是否是 3NF 的条件: 对于 R 上的每个函数依赖 X->A (X 是关系 R 属性的一个子集,
A 是 R 的一个属性) ,以下条件中的一个成立:
1 X ∈ A
2 X 是超码
3 A 是 R 的码的一部分
判断是否是 BCNF 的条件:对于 R 上的每个函数依赖 X->A(X 是关系 R 属性的一个子
集,A 是 R 的一个属性) ,以下条件中的一个成立:
1 X ∈ A
2 X 是超码
例子如下:
(a).
{ACD}+
= {A、C、D、B、E}
{BCD}+
={B、C、D、E、A}
{EDC}+
={E、D、C、A、B}
ACD、BCD、CDE are keys for R.
(b)判断是否是 3NF 的条件: 对于 R 上的每个函数依赖 X->A (X 是关系 R 属性的一个子集,
A 是 R 的一个属性) ,以下条件中的一个成立:
1 X∈ A
2 X 是超码
3 A 是 R 的码的一部分
A->B 满足条件 3
BC->E 满足条件 3
ED->A 满足条件 3
所以 R 是 3NF
(c)判断是否是 BCNF 的条件:对于 R 上的每个函数依赖 X->A(X 是关系 R 属性的一个子
集,A 是 R 的一个属性) ,以下条件中的一个成立:
1 X ∈ A
2 X 是超码
A->B 不满足 1&2
BC->E 不满足 1&2
ED->A 不满足 1&2
所以 R 不是 BCNF
最新文章
- JIRA FOR LINUX 安装过程
- UNIX网络编程-Select模型学习
- Android中的pix,sp,dp相关概念
- jquery技巧(持续更新。。)
- WMS—启动过程
- SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
- 【原创 Hadoop&;Spark 动手实践 1】Hadoop2.7.3 安装部署实践
- 禁止chrome浏览器的缓冲图片以及css等资源文件
- Sublime Text3前端必备插件
- .net的XML对象序列化VS WCF中xml序列化问题
- 微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(采用 Baidu Eclipse)
- Android中Activity启动过程探究
- 为什么volatile不能保证原子性?
- (转)学习linux的几本书
- CSS Display(显示)和Visibility(可见性)
- a链接嵌套无效,嵌套链接最优解决办法
- JavaScript模块化-require.js,r.js和打包发布
- spark reduceByKey
- java常见类
- IIC协议解释