问题
单项选择题
在学生选课关系SC(学号姓名,年龄,课程,学分,成绩)中,有:
学号,课程→成绩
学号→姓名,年龄
关系SC最高达到哪级范式______。
A) 不满足 B) 1NF
C) 2NF
D) 3NF
答案
参考答案:B
解析: 对于关系模式R(F,U),如果R的每一个属性值都是不可分的数据项(原子项),则此关系模式为第一范式。显然,关系SC中每一项属性均不可再分,但是成绩不能由学生id唯一决定,即成绩不完全依赖于学生id,所以不满足第二范式。这个选课关系表会存在如下问题:
(1) 数据冗余:同一门课程有n个学生选修,“学分”就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。
(2) 更新异常:若调整了某门课程的学分,数据表中所有行的“学分”值都要更新,否则会出现同一门课程学分不同的情况。
(3) 插入异常:假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有“学号”关键字,课程名称和学分也无法记录人数据库。
(4) 删除异常:假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。所以本题的答案为B。