您现在的位置是:网站首页 > 心得笔记
mysql的三范式
简介数据库的三范式(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。
上一篇:常用设计模式之策略模式
下一篇:分布式事务