《数据库系统概念》(王珊)——Chapter6:关系数据理论 ------数据依赖,函数依赖,码
来源:互联网 发布:区和县的区别 知乎 编辑:程序博客网 时间:2024/05/21 19:40
糟糕的数据库逻辑设计
1. 信息冗余2. 数据不一致风险3. 增删改异常
问题原因:
模式中存在不合适的数据依赖
解决方案:
模式分解:用规范化理论改造关系模式,消除其中不合适的数据依赖
数据依赖
分类
1. 函数依赖:2. 多值依赖:3. 连接依赖:...
数据依赖对关系模式的影响
1. 信息冗余2. 数据不一致风险3. 增删改异常
关系模式的简化表示
R<U, F>其中: R是关系模式名 U是属性集合 F是函数依赖集合
函数依赖
概念
关系模式:R(U),U是属性集属性集X,Y都是U的子集关系模式的一个实例:关系r若:在关系r中没有任何两个元祖在X上取值相同,Y上取值不同则:X函数确定Y,Y函数依赖X,X->Y
要求
关系模式R的任何实例r在任何时刻都要满足
如何确定函数依赖?
1. 函数依赖属于语义范畴的概念,只能根据数据的语义来确定函数依赖。2. 业务规则或者约定(若允许重名,则函数依赖name->number失效)
分类
1.平凡与非平凡
若存在函数依赖:X->Y,则 平凡函数依赖:Y是X的子集 举例:(sno,cno)->sno 非平凡函数依赖:Y不是X的子集 举例:(sno,cno)->grade对于任意关系模式,平凡依赖总是成立,不能反映新的语义。换句话,这种依赖没用!
2.完全与部分
若存在函数依赖:X->Y,X'是X的任意一个真子集 完全函数依赖:X'->Y不成立 部分函数依赖:x'->Y成立
3.传递依赖
X->Y(完全依赖)(Y->X不成立),Y->Z则:X->Z
码
码:包括主码,候选码,超码主码:在候选码中选取的一个码全码:整个属性组是码候选码:完全函数确定属性组U。最小的超码。任何一个真子集都不是候选码超码:部分函数确定属性组U外码:并非是本关系模式的码,却是另一个关系模式的码主属性:包含在任何一个候选码中的属性非主属性:不包含在任何一个码中的属性
阅读全文
1 0
- 《数据库系统概念》(王珊)——Chapter6:关系数据理论 ------数据依赖,函数依赖,码
- 关系数据库设计理论之函数依赖
- 关系数据库设计理论(2) 函数依赖
- 关系数据库设计理论(一) 函数依赖
- 关系数据库设计理论(二)函数依赖的规则
- 关系数据库规范化理论 函数依赖与范式理论
- 数据库系统原理(4)--数据依赖与关系模式规范化
- 数据分析技术—关系数据库理论
- 数据库系统原理复习题(四)——关系数据理论
- 关系数据库设计理论(3) 函数依赖的蕴涵与公理体系
- 数据库系统概论-006: 关系数据理论
- 【数据库系统概论】-关系数据理论
- 数据库 - 数据依赖的公理系统
- 数据原理-函数依赖
- 数据库 - 关系模式函数依赖
- 数据库原理(六)--关系数据理论
- 关系数据库理论:范式判断、函数依赖、无损分解、正则覆盖
- 数据库(四)关系数据理论
- 区块链在中国(1):IBM HyperLedger fabric
- Android的DrawText详解
- RecyclerView嵌套RecyclerView
- HEVC函数入门(19)——帧间编码AMVP
- Oracle实现主键自增长的几种方式
- 《数据库系统概念》(王珊)——Chapter6:关系数据理论 ------数据依赖,函数依赖,码
- 安卓编译进阶<Android:boot art+oat>功能的打包与取消及追溯代码思路历程
- 工厂设计模式最佳实践小结
- excel读取
- Java-A除以B (20)
- jqGrid的简单应用
- 实现嵌套滑动——NestedScrollingParent与NestedScrollingChild接口及其实现
- 基础知识朝花夕拾1
- linux-基础-进程通讯(二)-消息队列/信号量