赞
踩
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系型数据库中的关系必须满足一定的要求,即满足不同的范式。
目前关系型数据库有六种范式,分别为:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。要求最低的范式是第一范式。第二范式在第一范式的基础上又进一步的添加了要求,其余范式依次类推。
一般说来,数据库只需满足第三范式就行了,而通常我们用的最多的就是第一范式、第二范式、第三范式,也就是接下来要讲的“三大范式”。
第一范式(1NF)用来确保每列的原子性,要求每列(或者每个属性值)都是不可再分的最小数据单元(也称为最小的原子单元)。
举例:
员工编号 | 员工姓名 | 部门岗位 | 员工工资 |
---|---|---|---|
EM71001 | 张无忌 | 网络部软件开发工程师 | 8000 |
EM71002 | 楚天南 | 运营部运营总监 | 8100 |
EM71003 | 梁萧 | 销售部售货员 | 8300 |
上表中的部门岗位字段不符合第一范式,可以拆分为“部门”和“岗位”两个字段。
分解后方便我们对部门和岗位进行单独查询
员工编号 | 员工姓名 | 部门 | 岗位 | 员工工资 |
---|---|---|---|---|
EM71001 | 张无忌 | 网络部 | 软件开发工程师 | 8000 |
EM71002 | 楚天南 | 运营部 | 运营总监 | 8100 |
EM71003 | 梁萧 | 销售部 | 售货员 | 8300 |
不符合第一范式导致问题
在说明第二范式之前我们需要先了解什么是联合主键,什么是复合主键
联合主键就是用2个或2个以上的字段组成主键。形式上复合主键就是联合主键,由多个字段作为主键,将记录形成一个唯一性。
场景1:
可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补 充订单,使用相同的订单号,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。