首页 > 试题广场 >

将其规范化到第三范式,正确的答案是?

[单选题]
在某企业中,有关系 W(工号,姓名,工种,工资),其中工资由工种唯一决定。将其规范化到第三范式,正确的答案是?
  • W1(工号,姓名) W2(工种,工资)
  • W1(工号,工种,工资) W2(工号,姓名)
  • W1(工号,姓名,工种) W2(工种,工资)
  • 以上都不对
选 C
第一范式:原子性,字段不可分割
第二范式:没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式:不能存在传递依赖

关于A:表W1和W2没有建立联系,不知道某个人的是什么工种的
关于B:工号->工种,工种->工资(题目强调工资由工种唯一决定)。存在传递依赖
关于C:工号->姓名,工号—>工种 是可以确定的,但是 姓名->工种?不一定,因为可能存在同名的情况下,所以选项C是消除了传递依赖
编辑于 2016-09-10 10:03:29 回复(4)
第三范式需要确保数据表中的 每一列数据都和主键直接相关,而不能间接相关
发表于 2016-08-18 16:57:24 回复(1)
推荐一篇数据库范式文章:

http://www.cnblogs.com/ybwang/archive/2010/06/04/1751279.html

发表于 2016-11-26 18:04:47 回复(0)
学过数据库的话应该知道:第三范式是在第二范式上的基础上增加条件消除非主属性的传递依赖。由此C
发表于 2016-08-22 22:48:07 回复(0)

第一范式1NF

定义:数据库表中的字段都是单一属性的,不可再分。

第二范式2NF

定义:没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分

第三范式3NF

定义:不存在传递依赖


发表于 2020-12-12 19:11:01 回复(0)
第一范式是指数据库表中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无重复的列。

如果关系模型R为第一范式,并且R中的每一个非主属性完全函数依赖于R的某个候选键,则称R为第二范式模式(如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R的非主属性)。

例如,在选课关系表(学号,课程号,成绩,学分),关键字为组合关键字(学号,课程号),但由于非主属性学分仅依赖于课程号,对关键字(学号,课程号)只是部分依赖,而不是完全依赖,因此此种方式会导致数据冗余以及更新异常等问题,解决办法是将其分为两个关系模式:学生表(学号,课程号,分数)和课程表(课程号,学分),新关系通过学生表中的外关键字课程号联系,在需要时进行连接。

如果关系模型R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。

以学生表(学号,姓名,课程号,成绩)为例,其中学生姓名无重名,所以该表有两个候选码(学号,课程号)和(姓名,课程号),故存在函数依赖:学号——>姓名,(学号,课程号)——>成绩,唯一的非主属性成绩对码不存在部分依赖,也不存在传递依赖,所以属性属于第三范式。


发表于 2018-04-20 15:32:26 回复(0)
a虽然符合原则但是,两个表没有联系
编辑于 2024-02-21 22:27:16 回复(0)
第一范式:原子性,字段不可分割
第二范式:没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式:不能存在传递依赖
发表于 2021-07-24 13:26:02 回复(0)
2NF 消除部分依赖 必须全部依赖于主关键字,所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来成为一个新的实体,新实体和原实体是一对多的关系。第二范式主属性只依赖主关键字!
发表于 2017-12-12 18:51:57 回复(0)
C
发表于 2016-10-14 19:06:02 回复(0)