数据库设计三大范式
一、数据库设计的三大范式
三大范式的作用,减少数据的冗余。查询数据更方便快捷。
三大范式的具体内容
第一范式:列的原子性,每一列是不可再拆分的
代号 | 姓名 | 性别 | 生日 | 地址 |
p001 | 张三 | 男 | 19890203 | 山东省淄博市张店区大学生创业园 |
在地址列中可以把分为省份列市区列详细地址列,这样就不可能再拆分了。
第二范式:表里面的每一列都应该与主键有关系。
身份证号 | 姓名 | 性别 | 生日 | 品种 |
3705986268662386568 | 张三 | 男 | 19890203 | 泰迪 |
在这个表中身份证号设置为主键,品种和身份证号列完全没有任何关系,增加了数据的冗余,所以可以直接去掉品种列了。
第三范式:表里面的每一列都应该与主键有直接关系
代号 | 姓名 | 亲属关系1 | 亲属关系2 |
p001 | 张三 | 张三哥哥 | 张三哥哥的丈母娘 |
代号市主键,亲属关系1列和主键有直接关系,亲属关系2和亲属关系1有直接关系,但是和主键没有直接关系,不过有间接关系。所有如果非要用这个亲属关系2表,那就需要用外键关系做亲属关系表。在这个表中亲属关系2就不要了。