数据库三范式

    1NF:字段原子性,数据库表中的字段都是单一属性,不可再分.

    表中含有"地址"字段,但是"地址"还可以拆分成为:国家、省份、城市等.这就说明这类字段还可以拆分,所以不满足第一范式.

    2NF:满足第一范式的基础上,除主键以外每一列都依赖于主键.

    一张描述员工的表,有员工编号,员工姓名,部门名称等字段.显然部门名称与学员编号没有依赖关系,应该把部门名称放在部门表中.

    3NF:满足第一、二范式的技术上,除主键以外的列都直接依赖于主键(不存在传递依赖).

    一张描述员工的表,有员工编号,员工姓名,所在部门,部门电话.关键字为"员工编号",因为存在如下关系:(员工编号)→(员工姓名,所在部门,部门电话)

    此时这个数据库是满足2NF,但是不满足3NF,因为存在如下传递依赖:(员工编号)→(所在部门)→(部门电话)

    满足范式要求设计的数据库结构清晰,同时可避免数据冗余和操作异常.但是,在适当的情况下进行适当的数据冗余反而是操作简单化而不会产生操作异常.

你可能感兴趣的:(数据结构)