您现在的位置是:网站首页 > 心得笔记

mysql的三范式

盛悦2025-02-2185人围观
简介数据库的三范式(3NF)是关系数据库设计中用于减少数据冗余、避免数据异常和提高数据一致性的三种规范化标准。

第一范式

每一列都是不可拆分的原子项

例如:学生表里有id name sex edu(就读信息),值分别为1 张三 男 清华大学计算机系,这时候就读信息edu就不具有原子性,应该拆分
为学校和专业两列。

第二范式

第二范式要求属性完全依赖于主键,而不能只依赖于主键的一部分。满足第一范式的基础上,解决部分依赖(Partial Dependency)的问题。
关系必须满足第一范式。
消除部分依赖:对于复合主键(即由多个列组成的主键),非主属性必须依赖于整个复合主键,而不是依赖于主键的一部分。

例如:学生成绩表里有id student_id(学生id) student_name(学生姓名) subject_id(科目id) subject_name(科目名称) score(成绩),
学生成绩score依赖于学生id和subject_id复合主键,学生姓名只依赖于学生id,科目名称只依赖于科目id。

第三范式

第三范式要求属性直接依赖于主键,不依赖于通过其他非主属性间接依赖于主键。
关系必须满足第二范式。
消除传递依赖:任何非主属性都不能通过其他非主属性间接依赖于主键。

例如:同样第二范式例子,学生姓名只依赖于学生id,科目名称只依赖于科目id。