软件设计师考试 | 第九章 数据库技术基础 | 关系数据库的规范化

(一)函数依赖

数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间联系和约束的抽象,是数据内在的性质,是语义的体现。函数依赖则是一种最重要、最基本的数据依赖。

  • 函数依赖
  • 非平凡的函数依赖
  • 平凡的函数依赖
  • 完全函数依赖
  • 部分函数依赖
  • 传递依赖
  • 主属性和非主属性
  • 外码
  • 函数依赖的公理系统

(二)规范化

关系数据库设计的方法之一就是设计满足适当范式的模式,通常可以通过判断分解后的模式达到几范式来评价模式规范的程度。

范式有1NF2NF3NF4NF5NF,其中1NF的级别最低。

这几种范式之间,5NF⊂4NF⊂3NF⊂2NF⊂1NF成立。通过分解,可以将一个低一级范式的关系模式转换成若干个高一级范式的关系模式,这个过程称为规范化。

1. 1NF(第一范式)

定义: 若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。

存在的问题:

  • 冗余度大
  • 引起修改操作的不一致性
  • 插入异常
  • 删除异常

因为上述四个问题,所以要对模式进行分解,并引入了2NF

2. 2NF(第二范式)

定义: 若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF

换句话说,当1NF消除了非主属性对码的部分函数依赖,则称为2NF

3. 3NF(第三范式)

定义: 若关系模式R(U,F)中若不存在这样的码X,属性组Y及非主属性Z(Z⫋Y)使得X→Y(Y/⇢ X)Y→Z成立,则关系模式R∈3NF

即当2NF消除了非主属性对码的传递函数依赖,则称为3NF


(三)模式分解及分解应具有的特性

1. 分解

定义: 关系模式R(U,F)的一个分解是指ρ={R₁(U₁,F₁),R₂(U₂,F₂),...,Rn(Un,Fn)},其中,U=U₁∪U₂∪...∪UnFiFUi上的投影。

对一个给定的模式进行分解,使得分解后的模式是否与原来的模式等价有三种情况:

  • 分解具有无损连接性
  • 分解要保持函数依赖
  • 分解既要无损连接,又要保持函数依赖

2. 无损连接

定义: ρ={R₁(U₁,F₁),R₂(U₂,F₂),...,Rn(Un,Fn)}是关系模式R(U,F)的一个分解,若对R(U,F)的任何一个关系r均有r=mρ(r)成立,则分解ρ具有无损连接性。

3. 保持函数依赖

定义: 设关系模式R(U,F)的一个分解ρ={R₁(U₁,F₁),R₂(U₂,F₂),...,Rn(Un,Fn)},如果F=πRi(F),则称分解ρ保持函数依赖。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值