第六章关系数据库理论

6.3 范式

范式 是满足某一种级别的关系模式的集合。
种类:

  • 第一范式(1NF)
  • 第二范式(2NF)
  • 第三范式(3NF)
  • BC范式(BCNF,Boyce 和 Codd 共同提出的范式)
  • 第四范式(4NF)
  • 第五范式(5NF)
    第六章关系数据库理论
    第六章关系数据库理论
    一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化(normalization)

1NF定义:关系模式R的所有属性都是不可分的基本数据项,则R∈1NF
*一范式是对关系模型的最起码要求。不满足第一范式的数据库模式不能称为关系数据模式。
2NF定义:R∈1NF,且每个非主属性完全依赖于R的码,则R∈2NF
*关系模式R不属于2NF,就会产生问题:

  1. 插入异常
  2. 删除异常
  3. 数据冗余度大
  4. 修改复杂(冗余度大引起)

第六章关系数据库理论如图,(Sno,Cno)是SLC表的码,(Sno,Cno)–>(完全)Grade Grade完全函数依赖(Sno,Cno);(Sno,Cno)–>(部分)Sdept 由于Sdept完全依赖Sno,所以Sdept是部分函数依赖(SNO,Cno)
解决方法:采用投影分解法,将SLC关系模式分解成两个关系模式,消除部分函数依赖(Sno,Cno)–>Sloc;(Sno,Cno)–>Sdept
第六章关系数据库理论非主属性完全依赖主属性(码)

BCNF 没有传递函数依赖和部分函数依赖的范式?