数据规范化
董晓涛
·
2005-04-30
·
via 博客园 - 董晓涛
数据规范化!!!
|
以前看到有网友在提问问题给表例的时候,可以明显看出这个关系不符合最基本的INF,2NF,
3NF!下面我就简要介绍一下关系的规范化中的第一范式,第二范式和第三范式!这是关系规范化中最基本的!
第一范式:每个分量必须是不可再分的数据项!如你可以把姓和名分开!这个比较简单,就不多说了!
第二范式:若关系(也就是我们所说的表)R属于1NF,且第个非主属性完全函数依赖于码,则称R属于2NF
如学生(学号,系别,宿舍楼,选修课,分数)这个关系中在如下:
(学号+选修课)决定你的分数
学号决定了该生所性的系别
学号决定了该生在何宿舍楼
(学号+选修课)决定了系别
学号+选修课)决定了宿舍楼
则在这个关系(表)中存在部分函数依赖,使之不属于2NF
此时我们可以采用分解的,就是说把上面的表分解成2个表
学生1(学号,选修课,分数)
学生2(学号,系别,宿舍楼)
此时这两个关系就属于2NF
第三范式:在关系模式R<U,F>中,若不在在这样的码x,属性组Y及非主属性Z,使得Y
完全函数依赖于X,Z完全函数依赖于Y成立,则R<U,F>属于3NF
如:学生2(学号,系别,宿舍楼)就存在X(学号),Y(系别),Z(宿舍楼)
使得学生2关系不属于3NF
同理我们分解它:
学生21(学号,系别)
学生22(学号,宿舍楼)
这样所建立的关系
学生1(学号,选修课,分数)
学生21(学号,系别)
学生22(学号,宿舍楼)
就是满足第3范式的关系!
--董晓涛
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。