我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:刘伯温论坛 > 非主属性 >

SQL server第一、第二、第三范式

归档日期:06-06       文本归类:非主属性      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  推荐于2016-11-01展开全部一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电线NF有三种方法:

  第二范式(2NF):如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R 是属于第二范式的。

  b.更新异常,若调整了某课程的学分,相应的元组CREDIT值都要更新,有可能会出现同一门课学分不同。

  c.插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入。

  d.删除异常,若学生已经结业,从当前数据库删除选修记录。某些门课程新生尚未选修,则此门课程及学分记录无法保存。

  原因:非关键字属性CREDIT仅函数依赖于CNO,也就是CREDIT部分依赖组合关键字(SNO,CNO)而不是完全依赖。

  解决方法:分成两个关系模式 SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。新关系包括两个关系模式,它们之间通过SC1中的外关键字CNO相联系,需要时再进行自然联接,恢复了原来的关系

  用学号能够找到学生的姓名和专业,用课号能够找到课名,用学号和课号能够找到学生的成绩

  所以,上表中 学号+课号 就是码 ; 学号和课号都是主属性,剩下的都是非主属性

  如上表中,姓名这个非主属性只依赖到了学号这个主属性,并没有依赖于课号这个主属性,这样就产生了非主属性对码的部分函数依赖,要消除这种部分函数依赖,就需要对上表进行拆分,拆分成若干张表,例如:

  这样有学号就能得到其他的所有属性,所以只有学号是主属性,就不存在什么非主属性部分依赖于码,所以上表是第二范式。

  但是班主任不能由学号直接得到,而要通过班号才能得到,所以班主任这个字段对码存在 传递函数依赖 ,故这个表结构不能成为第三范式

本文链接:http://saltstudios.net/feizhushuxing/507.html