首页 > 试题广场 >

定义学生、教师和课程的关系模式: S (S#,Sn,Sd,

[单选题]

定义学生、教师和课程的关系模式: S (S#,Sn,Sd, SA )(属性分别为学号、姓名、所在系、年龄); C C#,Cn,P# )(属性分别为课程号、课程名、先修课); SC S#,C#,G) (属性分别为学号、课程号和成绩)。则该关系为(

  • 第三范式
  • 第一范式
  • 第二范式
  • BCNF范式

范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。目前关系数据库有六种范式:第一范式( 1NF )、第二范式( 2NF )、第三范式( 3NF )、 Boyce-Codd 范式( BCNF )、第四范式( 4NF )和第五范式( 5NF )。满足最低要求的范式是第一范式( 1NF )。在第一范式的基础上进一步满足更多要求的称为第二范式( 2NF ),其余范式以次类推。一般说来,数据库只需满足第三范式( 3NF )就行了。 第一范式:主属性(主键)不为空且不重复,字段不可再分(存在非主属性对主属性的部分依赖)。 第二范式:如果关系模式是第一范式,每个非主属性都没有对主键的部分依赖。 第三范式:如果关系模式是第二范式,没有非主属性对主键的传递依赖和部分依赖。 BCNF 范式:所有属性都不传递依赖于关系的任何候选键。 题目中关系模式没有非主属性对主键的传递依赖和部分依赖,满足第三范式,但不满足 BCNF 范式。故本题答案为 A 选项。

发表于 2017-02-13 00:38:45 回复(1)
第二范式:非主属性 完全/不完全依赖于 主键
第三范式:非主属性 直接/间接依赖于 主键
题中,关系模式都满足第三范式,非主属性直接依赖于主键
但是,
BC范式:主属性必须 直接并且完全依赖于 主键
关系模式C中,P#依赖于C#,也就是间接依赖于主键。所以不符合
发表于 2018-09-26 13:09:44 回复(0)
注意后面加井号的是主码或者联合主码
发表于 2017-07-11 11:50:48 回复(0)
BCNF消除的是主属性之间的部分依赖,表2 P依赖C,所以不满足BCNF
发表于 2017-11-07 08:47:31 回复(0)
wrc头像 wrc
不对呀,课程名只依赖于课程号,没有完全依赖主键(课程号,先修课程)啊,就不就不满足第二范式吗?

哦懂了,这个表 C     C#,Cn,P#   ) 三个属性中,Cn是主属性,而第二范式是一个表必须有一个主键,非主属性必须完全依赖于主码。所以符合第二范式。
而存在主属性 P#对 候选码(C#,P#)的部分函数依赖,所以不符合BCNF。
但把表 C改为   C#,Cn,P   )就符合BCNF了。
编辑于 2017-02-22 00:18:55 回复(4)
BCNF:决定因素必须含有码,(属性分别为学号、姓名、所在系、年龄)中  姓名-> 所在系  。姓名不是码
发表于 2017-10-04 14:51:34 回复(0)
第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。
第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。
发表于 2019-11-07 16:48:28 回复(0)
这个题有问题吧,因为如果把p#看做联合主码,就会出现非主属性部分依赖主码,如果不把它看做联合主码,看做非主属性,那么这个题就是BCNF啊,以为主属性之间没有部分依赖和传递依赖。
发表于 2019-05-25 18:50:29 回复(0)
完全不知道什么规律
发表于 2017-10-31 08:46:47 回复(0)
为什么不满足bcnf范式
发表于 2017-04-13 09:43:55 回复(0)