数据库 函数依赖

本文探讨了数据库设计中的函数依赖,包括完全和部分函数依赖,如何计算函数依赖集的闭包,以及Armstrong公理。还介绍了模式分解的概念,强调了保持依赖和无损连接的重要性,并概述了相关的算法和正则覆盖。
摘要由CSDN通过智能技术生成

用处:指导关系模型的设计,规范以及优化

非原子 --> 存储复杂,数据冗余

改进:1NF

处理:

  1. 复合属性:拆分成多个属性
  2. 多值属性:创建新的一张表(eg. 一个人有多个手机号)

函数依赖(FD)

单值映射

码是一种特殊的FD:
比如超码:可以唯一标识一个元组(SK -> R)
候选码(最小超码):CK -> R 且 不存在CK的子集可以 -> R

FD的作用:可以检测某个关系实例在某个FD下是否合法

实例r(值)满足F,不代表模式R(型)满足F (要基于R的语义):

Trivial FD: 我决定我自己: A -> A, AB -> A …

完全函数依赖 & 部分函数依赖

候选码就是完全函数依赖(最小属性集, 主属性)
超码是部分函数依赖(存在子集同样可以函数决定,存在非受控冗余)

函数依赖集的闭包

F的完全集:F+ (包含所有被逻辑蕴含的FD)

Armstrong 公理:

  1. 自反律: Trivial FD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值