数据库的范式和数据规范化

关系数据库中的关系需要满足一定的要求,不同程度的要求称为不同的范式(Normal Form, NF)。
满足最低要求的称为第一范式(1NF), 这是最基本的范式;在 1NF 的基础上满足一些新的需求的称为 2NF;依次类推还有 3NF及其改进形式 BCNF (Boyee-Codd Normal Form); 当然还有更高级别的范式: 4NF, 5NF,但是这里不做讨论。

1NF: 每个属性值不可再分,不含重复组关系。

2NF: 满足 1NF, 且所有非主属性都完全函数依赖于候选关键字。

3NF: 满足 2NF,且所有非主属性都不传递函数依赖于候选关键字。

BCNF: 满足 3NF,所有函数依赖集中的决定因子必包含候选关键字。

规范化:
一个低一级范式的关系通过模式分解( Schema Decomposition) 可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化( Normalization)。

1NF 转换为 2NF 时,需要消除非主属性对候选关键字的部分函数依赖。
2NF 转换为 3NF 时,需要消除非主属性对候选关键字的传递函数依赖。
3NF 转换为 BCNF 时,需要让所有依赖集中的决定因子都包含候选关键字。

名词解释:
函数依赖:
函数依赖是指关系中属性间的对应关系。

学号 (SNO)姓名 (SNAME)性别 (SSEX)宿舍(SROOM)
901004张三001

( 表 1 )
如图所示,表(关系)中存在如下函数依赖:
SNO -> SNAME
SNO -> SSEX
SNO -> SROOM
(-> 读作决定,SNO 是决定因子。或者 SNAME 函数依赖于 SNO, 依次类推)

完全函数依赖:
设 R 为任一给定的关系, X、Y 为其属性集,若 X -> Y,且对 X 中的任何真子集 X’ 都有 X’ 不决定 Y, 则称 Y 完全函数依赖于 X。

部分函数依赖:
设 R 为任一给定的关系, X、Y 为其属性集,若 X -> Y, X 中的存在真子集 X’ ,使 X’ -> Y, 则称 Y 部分函数依赖于 X。

候选关键字:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡德咏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值