在第一范式中识别主键的具体步骤是什么

问题描述 投票:0回答:1

我对如何识别第一范式中的主键非常困惑

在第一个示例中:我可以理解SR_ID和Cus_No是主键的原因。但为什么Mngr_ID不是主键?为什么Mngr_ID依赖于SR_ID和Cus_No enter image description here

在另一个例子中:为什么staff_No不是主键?因为在讲座中,我教授检查的第一步是从发现PK开始。但我不知道该怎么做?在此示例中,所有其他属性可以依赖于property_no和IDate,因此它们是pk。但我不明白为什么staff_no依赖于property_no和IDate

enter image description here enter image description here

database primary-key database-normalization functional-dependencies candidate-key
1个回答
-1
投票

主键是列或列的组合,使表中的行唯一。在第一个示例中,mgr Id不是密钥的一部分,因为管理器直接分配给用户,因此每个用户只有一个管理器。因此,如果您了解用户,那么管理器就是无关紧要的,因为它来自用户。另一方面,如果用户可以拥有多个经理,那么您可以从此表中提取经理Id并创建经理销售代表以保持该关系。无论哪种方式,经理确实不需要做销售代表 - 客户关系是唯一的。

第二个例子更令人困惑,因为它取决于对(不是很好的)问题描述的解释。如果每天只有一个人可以检查房子,则不需要工作人员作为主要钥匙的一部分。然而,由于问题是可能有不止一个人共用汽车,所以有可能两个人可以在一天内一起检查房子。这意味着工作人员应成为该案件的关键部分。

最后,就像软件开发中的所有内容一样,这一切都取决于您尝试使用应用程序完成的任务。

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