数据空中的范式要求:有6的范式,1NF ,2NF,3NF,巴斯-科德范式,4NF,5NF
一般情况下写道3NF(第三范式)就不错了
今天我们一起来学习一下范式的要求
第一范式:第一范式指明,在数据表中不能存在可以拆分的原子。
给个例子:有一张个人信息表
![c76d69e91ec174d3dc08c4df77caa457.png](https://img-blog.csdnimg.cn/img_convert/c76d69e91ec174d3dc08c4df77caa457.png)
在这里可以看到地址信息,这里就会想到还可以拆分,地址里面有省,市,区,街道,门牌号。
所以这张表可以写成
![14336b03280edf2a5c7ff7a01404a1ba.png](https://img-blog.csdnimg.cn/img_convert/14336b03280edf2a5c7ff7a01404a1ba.png)
第二范式:表中不能存在部份依赖
![ade4692edf4a4b860a58418de89cec71.png](https://img-blog.csdnimg.cn/img_convert/ade4692edf4a4b860a58418de89cec71.png)
图书编号与图书类别共同决定图书的名称,图书作者。而地址只由图书类别决定(图书馆中)
所以图书地址只依赖与类别
![dab27ec7a883d5319751b1364741d073.png](https://img-blog.csdnimg.cn/img_convert/dab27ec7a883d5319751b1364741d073.png)
![143800f15193422c14e5b4e40fc35829.png](https://img-blog.csdnimg.cn/img_convert/143800f15193422c14e5b4e40fc35829.png)
第三范式:表中不能存在间接依赖,换句话说:表中的属性都要与主键有着直接的联系,不能存在间接联系(又称不能有传递依赖)。
![b8db02fa07fc04896617d7e5414c47f8.png](https://img-blog.csdnimg.cn/img_convert/b8db02fa07fc04896617d7e5414c47f8.png)
学生表中主键市学号,与学号直接相关的市姓名,班级,而主任,主任姓名与主人专业都与姓名有关,再与学号有着间接的关系。所以学生表要进行拆分
![47947078f894a606ad9f559c863f0570.png](https://img-blog.csdnimg.cn/img_convert/47947078f894a606ad9f559c863f0570.png)
![8a1428c255df17050cacab62cedf9fc4.png](https://img-blog.csdnimg.cn/img_convert/8a1428c255df17050cacab62cedf9fc4.png)
作者也是个数据库的小白,这只是作者对于范式的理解,如果有不对的地方请提醒作者。谢谢