数据库三范式是关系型数据库设计中的重要概念,旨在确保数据的一致性、完整性和减少冗余。
- 第一范式(1NF):要求表中的每个字段都应该是单一的值,不可再分。这意味着每个字段的值必须是原子性的,即不可再拆分的数据项。例如,如果有一个“地址”字段包含街道、城市、省份等信息,这不符合1NF,应该将“地址”拆分成“街道”、“城市”和“省份”三个字段。
- 第二范式(2NF):在满足1NF的基础上,要求表中的非主键字段完全依赖于主键。这意味着每个非主键字段应该依赖于整个主键而不是主键的一部分。例如,如果一个表有联合主键(如学号和课程号),那么所有的非主键字段(如成绩)应该依赖于这两个字段的组合,而不是单独依赖学号或课程号。
- 第三范式(3NF):在满足2NF的基础上,要求表中的非主键字段不依赖于其他非主键字段。这有助于消除传递依赖,即一个非主键字段依赖于另一个非主键字段的情况。例如,如果有一个“学生信息”表,其中包含“院系电话”字段,这个字段实际上依赖于“院系”字段,这就不符合3NF。应该将“院系电话”移到另一个单独的“院系”表中。