数据库第二范式

来源:互联网 发布:淘宝刷到单被骗咋追回 编辑:程序博客网 时间:2024/06/05 19:16

第二范式是满足属性对主键是完全函数依赖的,消除表中的部分依赖。

完全函数依赖:设有属性集K和P,若K中的所有属性共同能够推出P中的任意属性,且对于K的任何真子集都不能推出P中的任意属性,则K完全函数依赖于P。

部分函数依赖:与上相似,只是K中存在真子集使得从该真子集中推出P中的任意属性。

有一张学生成绩表,包含如下属性

表(学生ID,课程ID,课程分数,学生名字)其中主键是(学生ID,课程ID)

通过(学生ID,课程ID)可以推算出这个学生这个课程的分数。

但是通过主键的真子集,例如学生ID---->推出学生名字,而学生名字也在表中作为一个字段,这就属于部分函数依赖。

解决方法就是:去除表中的部分函数依赖字段

缺点:

1.      数据重复,浪费空间

2.      插入异常,若学生没有成绩,也就没有名字

3.      更新异常,删除异常。

0 0
原创粉丝点击