为什么下面的 table 是第二范式?

Why is the following table in the 2nd normal form?

这是我在 1. 范式中的 table,主键 Student_ID 和 Course_Nr:

这是我在 2. 范式中的 table:

要使 table 处于第二范式,它不应具有部分依赖性。

但是学生 table 中的教师列依赖于 Co.Nr 列(课程编号)。 那不应该在单独的 table(课程编号 | 教师)中吗?

第二范式的定义要求在关系模式中,非主属性不应依赖于任何候选键的真子集。

在第二个关系模式中,唯一的候选键是 StudentId,并且由于属性 Teacher 依赖于 CourseNumber,它不是任何候选键的一部分,因此定义是尊重并且关系模式是第二范式。

显然存在冗余,因为该关系不是第三范式 (3NF),应该进行归一化。

事实上,第二范式不再被认为是重要的,并且只是出于历史原因对其进行描述,因为所有规范化技术旨在使关系模式至少 在第三范式或 Boyce-Codd 范式中。这是如此真实,以至于没有正式的算法可以在第二范式中引入关系模式,而有用于第三范式和 Boyce-Codd 范式的算法。