数据库规范化理论

函数依赖的定义

设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X函数决定Y,或Y函数依赖于X,记做X→Y。我们称X为决定因素,Y为依赖因素。当Y不依赖于X时,记做X→Y。若X→Y且Y→X,记做:X↔Y。

1.函数依赖是语义范畴

2.函数依赖与属性之间的联系类型有关

3.函数依赖关系的存在于时间无关

关系的键

设K为关系模式R(U,F)中的属性或属性集合

1.K→U

2.K的任意真子集都不能函数决定R的其他属性,即K满足最小化条件

函数依赖的公理系统(解决数据冗余)

只考虑给定的函数依赖集F是不够的,可以证明有其他的函数依赖也是成立的,这些函数依赖被称为F所“逻辑蕴含”

定义:对于满足一组函数依赖F的关系模式R(U,F),其任何一个关系r,若函数依赖X→Y都成立,则称F逻辑蕴含X→Y

数据库规范化理论_第1张图片

                         数据库规范化理论_第2张图片

引理:X→A1A2……An成立的充分必要条件是X→Ai成立,i=1,2,…,n。(合并规则和分解规则)

属性集的闭包

定义:设F为属性集U上的一组函数依赖,X⊆U,X+={A|X→A能由F根据Armstrong公理系统导出},称X+为属性集X关于函数依赖集F的闭包。

关系模式的规范化

好的关系:尽可能少的数据冗余、没有插入异常、没有删除异常、没有更新异常

1.完全依赖与部分依赖(冗余和更新异常)

数据库规范化理论_第3张图片

2.传递依赖

范式
第1范式

每个属性不可再分

第2范式

不允许关系模式中的非主属性部分函数依赖于候选键(如果R的关系键为单属性,或R的全体属性均为主属性,则属于第二范式)

1.找出对候选键部分依赖的非主属性所依赖的候选键的真子集,然后吧这个真子集与其函数决定的非主属性组合成一个新的模式

2.对候选键完全依赖的所有非主属性与候选键组成另一个关系模式

                         数据库规范化理论_第4张图片

第3范式

每个非主属性都不传递依赖于R中的每个关系键

E_S(员工编号, 员工名称, 工资级别, 工资)中“工资”对“员工编号”的传递依赖。

继续分解成  E(员工编号, 员工名称, 工资级别)  和S(工资级别, 工资)

BC范式

限制主属性对键的依赖关系

定义:如果关系模式R∈1NF,且所有的函数依赖X→Y,决定因素X都包含了R的一个候选键,则称R属于BC范式。

性质:1.满足BCNF的关系将消除任何属性(主属性或非主属性)对键的部分函数依赖和传递函数依赖。

           2.如果R3NF,且R只有一个候选码,则R∈BCNF

                  数据库规范化理论_第5张图片

                数据库规范化理论_第6张图片



你可能感兴趣的:(数据库笔记)