数据库1-三范式

版权声明:本文为博主原创文章,未经博主允许不得转载!!! https://blog.csdn.net/qq_19107011/article/details/79574955

1.一范式

让数据表的属性不可以再分。
这个比较容易理解,比如。对于进货这个属性,还有【数量】和【金额】二个小属性
那么就不是一范式了。

2.二范式

看图
二范式
上面都是一个数据表里面的属性。
这里的学号和课名就是码。
码就是一个属性组,这个属性组一旦确定,其他属性就确定。
码里的属性叫:主属性,其他叫非主属性。
所以,2范式,需要建立在一范式条件下这个满足了。
下面看图。
分数对于码是完全依赖。
(完全依赖就是分数和课名确定了才可以确定分数,二者缺一不可)
可是【姓名】、【系名】、【系主任】这个只要学号确定了就确定了。
所以是对码部分依赖。
解决了这个依赖就是2范式了。
所以非常easy,对于上面的图。我们可以分成2个表就可以满足2范式了。
注意这个时候码是【学号】
如下图:
2范式

3.三范式

三范式在二范式的基础上,主要解决传递依赖。
优化图片如下:
三范式

个人感觉:

1范式还是比较容易理解的
2范式难点在于找出码,也就是主属性组,然后进行拆分表,形成符合2范式
3范式解决的是传递依赖,进一步细分表

参考地址

解释一下关系数据库的第一第二第三范式?

猜你喜欢

转载自blog.csdn.net/qq_19107011/article/details/79574955
今日推荐