数据三范式说的到底是啥?
发布于 2021-09-14 00:13
大家好,我是小斌。
数据库相关课程上我们常常会听到著名的三范式,这到底说的是啥?
先来看看一些概念定义:
第三范式(Third Normal Form,3rd NF)就是指表中的所有数据元素不但要能唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。也就是说,对于一个满足2nd NF 的数据结构来说,表中有可能存在某些数据元素依赖于其他非关键字数据元素的现象,必须消除。
百度百科
书上的定义总是力求准确规范,下面试着说点人话。
1.第一范式(1NF)
表中无表,即每个属性都是不可分割的。
不满足第一范式的数据库就不是关系型数据库,所以说能在MySql建立的表肯定满足第一范式。
帅哥学号 | 帅哥名字 | 联系方式 | ||
微信 | QQ | 手机 | ||
1 | 尼古拉斯赵四 | wx | 188 |
其中 联系方式 这个属性还能继续被分割,这样无法建立MySql表。
2.第二范式(2NF)
满足第一范式基础上,非主属性必须完全依赖于主属性。
即主键的整体才能确定一个非主属性。
如果主键的部分属性就确定了一个非主属性就不满足第二范式。
有一张表 R (学号,课程号,成绩,姓名, 老师,老师职称),标红的是主键,其余的是非主键,又叫做非主属性。
下面我们来观察一下,主键和非主键之间的关系。
第一步,我们先观察成绩:
(学号,课程号) → (成绩)。
我们发现无论是学号还是课程号都无法单独确定成绩情况,只有知道了一个人的学号和课程号才能确定有效的成绩。
学号和成绩必须作为一个整体才能决定成绩。
本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。
相关素材