关系数据库的规范化理论

 1. 目的:研究一种模式,让数据库不发生修改异常,删除异常和插入异常,而且冗余要尽量的小,一个关系(表)只描述一个概念,本质就是概念的单一化

2.函数依赖通俗理解:一个属性决定了另外一个属性,举例:爸爸这个角色,唯一确定了性别男

函数依赖是从数学角度来定义的,在关系中用来刻画关系各属性之间相互制约而又相互依赖的情况。
函数依赖普遍存在于现实生活中,比如,描述一个学生的关系,可以有学号、姓名、所在系等多个
属性,由于一个学号对应一个且仅一个学生,一个学生就读于一个确定的系,因而当“学号”属性
的值确定之后,“姓名”及“所在系”的值也就唯一地确定了,   此时,   就可以称“姓名”和
“所在系”函数依赖于“学号”,或者说“学号”函数决定“姓名”和“所在系”

3.求属性集合X(X含于集合U)的函数依赖集F的闭包XF+

   通俗理解就是:根据给定的集合X,运用Armstrong公理,能够推导出的所有依赖关系所包含的属性的集合

  举个例子就好理解了:

    U={A,B,C,D,E}  F={AB→C,B→D,C→E,EC→B,AC→B}  

     1.X={AB}   求(AB)F+

   现在X中有AB,首先AB自己就能决定自己,再从F中找左部为A,B,AB能够决定什么,,发现AB→C B→D

   根据Armstrong公理,AB→C,C→E,那么有AB→E(传递律) 所以AB能够决定的集合有{A,B,C,D,E}

  所以AB关于F的函数依赖集闭包就是{A,B,C,D,E}(根据AB,能推导出结果的集合)

    2.X={EC},求(EC)F+

   按照与1中一样的方法,EC能够决定自身,那么(EC)F+包含了E,C

    再从F中找,发现,EC→B,B→D,所以 (EC)F+={B,C,D,E}

4.函数依赖集的等价

  假设F和G是2个函数依赖集,如果F+=G+,称F和G等价

5.范式 定义关系的结构的性质

  有1NF,2NF,3NF,BCNF,4NF,5NF,条件越来越严格

 5.1  第一范式(1NF):关系上所有元祖所有属性都取原子值

(第一范式有许多问题,比如插入异常,删除异常,更新异常)

5.2  第二范式(2NF):如果R满足第一范式的条件,而且它的所有非主属性都完全函数依赖于任一关键字,那么R满足第二范式条件。

5.3 第三范式(3NF),满足第二范式的前提下,R的任何一个非主属性都不传递函数依赖于任何关键字,那么R满足第三范式条件

猜你喜欢

转载自542255641.iteye.com/blog/2246424