关系型数据库设计的三大范式

江枫思渺然 提交于 2020-03-11 03:23:18

第一范式(1 NF)

数据表中所有的字段都是不可分割的原子值

不满足第一范式,一般通过拆列解决

若字段值还可以继续拆分开,显然就不满足第一范式,如有一个列字段中存了“湖北省武汉市xxx地区”,这样不满足第一范式,我们需要拆开为几列,当然开发中我们不一定非要满足第一范式,有时候开发时会发现不拆比拆开更好

第二范式(2 NF)

在满足第一范式的前提下,要求除了主键外的每一列都完全依赖于主键,否则不满足第二范式

不满足第二范式,一般通过拆表解决

打个比方,联合主键时候,其他非主键字段其实只依赖于联合主键中的一个列,这样是不满足第二范式的

第三范式(3 NF)

在满足第二范式的前提下,要求表中除了主键意外,其他列不能有传递依赖

可以通过拆表来解决

打个比方,学生表,主键为学号,表中还有身份证号,这样学生姓名还依赖于身份账号,这样就是传递依赖,不满足第三范式

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!