将1NF规范为2NF,应该( )。
A、消除非主属性对码的部分函数依赖
B、消除非主属性对码的传递函数依赖
C、消除主属性对码的部分函数依赖
D、消除主属性对码的部分函数依赖和传递函数依赖
第一范式(1NF):要求关系中的每...
用户登录可进行刷题及查看答案
第一范式(1NF):要求关系中的每个属性都是不可再分的原子值,即属性不能包含多个值或嵌套的子结构。满足 1NF 的关系模式可能存在数据冗余、插入异常、删除异常等问题,需要进一步规范化。
第二范式(2NF):在满足 1NF 的基础上,要求每一个非主属性完全函数依赖于码。如果关系模式 R 属于 1NF,但存在非主属性对码的部分函数依赖,就不满足 2NF。所以将 1NF 规范为 2NF 的关键就是消除非主属性对码的部分函数依赖。
举例说明:假设有一个关系模式 R(学生学号,课程号,学生姓名,课程名称,成绩),其中(学生学号,课程号)是码。这里 “学生姓名” 只依赖于 “学生学号”,“课程名称” 只依赖于 “课程号”,它们都对码存在部分函数依赖,导致数据冗余等问题。要将其规范为 2NF,就需要将关系模式分解为 R1(学生学号,学生姓名)和 R2(课程号,课程名称)以及 R3(学生学号,课程号,成绩),这样就消除了非主属性对码的部分函数依赖,使关系模式满足 2NF。
而 “消除非主属性对码的传递函数依赖” 是将 2NF 规范为 3NF 的主要任务;“消除主属性对码的部分函数依赖和传递函数依赖” 一般不是从 1NF 到 2NF 规范化的任务重点,在一些更高级的范式如 BCNF 等中会涉及到对主属性相关依赖的处理。
登录后提交答案
暂无评论,来抢沙发