在这里以1.普通格式显示我的表,带有主键Student_ID和Course_Nr:
要使表格具有第二范式,它不应具有部分依赖性。
但是,student表中的Teacher列取决于Co.Nr列(Course Nr)。 那也不应该放在单独的表中吗(课程编号#|教师)?
答案 0 :(得分:2)
“第二范式”的定义要求在关系模式中,任何非主属性都不应依赖于任何候选键的适当子集。
在第二个关系模式中,唯一的候选键是StudentId
,并且由于属性Teacher
依赖于CourseNumber
,而它不是任何候选键的一部分,因此应遵循该定义并关系模式为第二范式。
由于关系不是第三范式(3NF),因此应该进行规范化,因此显然存在冗余。
实际上,第二范式不再重要,而只是出于历史原因对其进行描述,因为所有规范化技术都旨在将关系图式至少引入 表格或Boyce-Codd普通表格。的确如此,以至于没有正式的算法可以将关系模式带入第二范式,而有第三种和博伊斯-科德范式的算法。