3NF table 是否可以具有具有重复值的 PK,但所有非键都依赖于 PK(无传递依赖性)?

Can a 3NF table have a PK with repeating values but all nonkeys are dependent on the PK (no transitive dependency)?

我知道PK要有独特的价值。我也知道对于一个 table 在 3NF 中,不能有依赖于另一个非键的非键。

我正在尝试根据这些要求创建一个 table:数据反映一位教授可以有多个顾问,可以在多个委员会任职,并且可以编辑多个期刊。

我有一位教授 table 具有这些属性(全部取决于 PK):

A 教授有 5 个 COMMITTEE_CODE,所以我将不同的 COMMITTEE_CODE 放在不同的行上(以使每个框原子化),但这意味着我将不得不重复 EMP_NUM , PROF_RANK 和 PROF_OFFICE 5 次。所以现在idk if EMP_NUM可以被认为是PK了。

我在一些网站上看到了 3NF table 中具有重复 PK 值的示例。但是idk,PK不是应该只有唯一值吗?

如果我将 EMP_NUM 和 COMMITTEE_CODE 分开为一个新的 table,我仍然需要为 5 个不同的 [=] 重复相同的 EMP_NUM 5 次40=].

据我了解,Professor-Commitee 是一种 many-to-many 关系。在这种情况下,您应该创建一个连接 table PROF_COMM_REL table 它应该有

SURROGATE ID
EMP_NUM (FK)
COMMITTEE_CODE(FK)

教授 table 不应有任何 COMMITTEE_CODE,因为关系存储在联接 table 中。

我还建议使用代理键 - 没有任何意义的 ID,就像任何可以随时间变化的东西一样。例如,名字不能是 PK,因为一个人的名字可以改变,这将涉及更新整个数据库结构