数据库设计的三范式
数据库的三大设计范式:(首先范式设计的越详细,对于某些实际操作可能更好,但是不一定都是好处)
第一范式1NF: 数据表中的所有字段都是不可分割的原子值。
从上图看出,address字段实际是可以划分的,不满足第一范式的要求。所以可以对address字段再细分成
countruy+privence+city+details的字段
第二范式2NF: 必须是满足第一范式的前提下,第二范式要求,除主键外的每一列都必须完全依赖于主键。如果要出现不完全依赖,之可能发生在联合主键的情况下。
上图中主键外其他列只部分依赖于主键。若要满足第二范式,只能进行拆表。
第三范式3NF: 必须先满足第二范式,除开主键列的其他列之间不能有传递依赖关系。
上图中customer_phone 和customer_id之间是有传递依赖关系的。
修改成如下就可以满足第三范式: