为什么下表是第二范式?

问题描述 投票:-2回答:1

这是我在1. Normal Form中的表,主键为Student_ID和Course_Nr:

enter image description here

这是我的表格2.正常形式:enter image description here

对于处于第二范式的表,它不应该具有部分依赖性。

但是学生表中的列教师依赖于列号Co.Nr(Course Nr)。那不应该在一个单独的表(课程Nr#|老师)吗?

database database-normalization
1个回答
2
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.