问题
-
第一范式
- 定义:无重复列,每一列都是不可分割的基础数据项,同一列中不能有多个值,实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体
- 范例:公安”认定结果可继续分割
- 判断标准:字段还可以再分吗? 第二范式
- 定义:属性完全依赖于主键[消除部分子函数依赖],完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。
- 范例:该表中房产、职称、计生等应单独分区,依赖于该表主键(学生ID,积分人ID) 第三范式
- 定义:属性不依赖于其它非主属性[消除传递依赖],要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
-
范例:该表中积分人姓名、积分人身份证属于冗余字段,不满足第三范式,但此处考虑是因为:后期的查询80%都包含这两个字段的值,这样查询就不要再关联积分人的基础信息表(数据量大)
重复性冗余:积分人姓名、身份证;派生冗余:每项积分