mysql三范式
目标:避免mysql使用中发生 数据冗余,提高数据一致性,保证数据组织合理性
第一范式:保证每一列的原子性,每一列都使用最小原则,不可分割,每一列都是最小数据单元
例如:某一列存储了json,会带来一系列问题。查询没办法加索引,查询困难。更新数据必须先拿出来json,再更新json,再塞回去,没办法直接sql更新,更新困难
第二范式:表中每一列都对主键完全依赖
如果使用复合主键,则表中每个字段,都是对复合主键多个主键的完全依赖,不能只依赖于某个主键,否则会产生数据冗余
第三范式:表中每一列都必须对主键直接依赖,不能间接依赖
例如:学生所在班级 属于(依赖于)学生id。班级信息依赖于学生,班级信息就对学生id主键是间接依赖。这种也会产生数据冗余,多个学生存了重复数据班级信息。
