我在这个 table 中检测到的函数依赖是否正确?

Are the functional dependencies I detected in this table correct?

对于这个基本问题,我很抱歉,但我对 3NF 有点吃力。这就是我所说的table:

User (Nickname, Email, Password, Name, Surname, DocumentId, Telephone, Avatar, Biography)

我认为此 table 未在第三范式中规范化,因为由于两个候选键(DocumentId 和 Telephone)存在多个函数依赖关系:

我错了吗?我不太确定这些功能依赖性的正确性。他们正确吗?另外,我怎样才能规范化这个 table?

编辑:

指定,2个用户不能有相同的DocumentId,相同的Email,相同的电话号码。

所以这应该是另一个函数依赖:

https://en.wikipedia.org/wiki/Third_normal_form “如果所有属性(例如数据库列)在功能上仅依赖于主键,则称数据库关系(例如数据库 table)满足第三范式标准。 Codd 将此定义为第二范式中的关系,其中所有非素数属性仅依赖于候选键,并且对另一个键没有传递依赖性。"

从属性列表中,没有人可能知道您的数据是否为某种正常形式。你从哪里得到这个问题?这就是它告诉你的全部内容吗?

您没有告诉我们有关数据属性的足够信息,但我从属性名称中猜测有 'transitive dependencies'。

DocumentId 之外的所有属性看起来都与一个人有关,因此(例如)Email 可以识别一个人,并且与 [=12] 一样是候选键=].或者可能有人拥有不同的 Telephone 但共享一个 Email

而我希望每个人都有多个文档/DocumentId。或者这是某个特定文档的 DocumentId(例如他们的传记——但在那种情况下,属性 Biography 是什么?)

顺便说一句,引用 Codd 的话:不一定只有一把钥匙是 'primary'。对于 3NF,可以有多个键,每个其他属性都是相关的。 (另请注意,键可能是 compound/not 单个属性。)