每个表都需要主键吗?

时间:2017-07-05 09:56:51

标签: key ms-access-2010 entity-relationship

以下面的贷款表为例。它需要任何主键吗?

Application.Current.Windows

2 个答案:

答案 0 :(得分:1)

您的贷款表看起来像一个联结表,因此PK应该是DocumentIDEmployeeID的组合。

答案 1 :(得分:1)

每个表都需要主键:否。

每个表都应该有一个主键:是的。可能存在表不需要主键的情况,但这些很少见,通常每个表都应该有一个。这是因为您需要唯一地标识记录,并且很难处理没有主键的记录。

在您的情况下,YES您的贷款表应该有一个主键。正如安德烈已在答案中所说,它应该是DocumentIDEmployeeID的组合。

存在引入混淆的风险:使用DocumentID + EmployeeIDEmployeeID + DocumentID。订单可以有所作为。如果你说DocumentID + EmployeeID(按此顺序),那么数据库将在DocumentID加上EmployeeID(查询中的任何订单)进行搜索时使用主键,仅针对DocumentID进行搜索,但仅在EmployeeID搜索时不会使用它。