对数据库三大范式的理解,简单易懂
解决方法:
1.第一范式:每一列属性都是不可再分的属性值,确保每一列的原子性。
例如:假如a表要存详细地址(包括省、市、县城、街道),那么我要把详细地址拆分成四个字段分别存储相关的信息,而不是全部放在同一个字段中逗号隔开存储。
2.第二范式:每一行的数据只能与其中一列(主键)相关,第二范式必须先满足第一范式。
例如:假如员工表(员工姓名,员工年龄,部门名称,部门人数),这样员工和部门数据存同一张表中,没有主键id,每一行数据的唯一性由员工名称和部门名称组合确定,这就不符合第二范式,所以应该把部门拆开出来到部门表中,员工表添加主键id,通过添加部门id来关联部门表。
3.第三范式:数据不能存在传递关系,即每个字段都跟主键有直接关系而不是间接关系。
例如:假如员工表(员工id,员工姓名,员工年龄,部门名称,上级部门id),其中部门名称,上级部门id都和员工信息没直接关系的(直接关系的是部门id)。所以应该把部门信息拆开出来到部门表中,然后员工表只存部门id即可。