第一范式: 原子性,就是每个字段(列或属性)都是不可再拆分的
不符合第一范式的列子:
表:姓名, 电话,地址(省份,城市,详细地址)
更新后的表: 姓名, 电话,省份,城市,详细地址
第二范式: 唯一性,每个表只说明一个事物
不符合第二范式的列子:
表:员工姓名, 电话,年龄, 地址, 项目名称,项目开始日期,项目描述
以上表说明了两个事物:员工信息和项目信息
第三范式:非主键字段之间不能相互依赖
不符合第三范式的列子:
表:员工姓名, 电话,年龄, 地址, 所在项目,项目描述,项目状态
所在项目和项目描述,项目状态有依赖关系,有冗余信息。
更新后的表: 员工姓名, 电话,年龄, 地址, 所在项目ID(外键关联)
PS: 数据库的设计原则应该是: 需求 > 性能 > 范式, 范式可以作为设计表结构的一个参考。
网友评论