在Access中创建代理密钥

时间:2019-04-21 19:41:42

标签: ms-access surrogate-key

我有一个项目正在研究,我们必须在其中为Access中的大学创建注册系统。其中一个表需要其中一个字段的代理密钥,但我不确定如何创建代理密钥。

列说明如下:

Field Name Data Type Field Size Caption Format Req'd Index Unique Key Ref. Table Other

FacultyID Text 4 blank blank Yes Yes Primary blank Input Mask '0000;1;_'

FirstName Text 32 blank blank Yes No Surrogate* blank blank

因此,第一个字段FacultyID简单明了。但是FirstName字段需要一个我不知道如何制作的替代密钥。

它旁边还有一个星号,在页面底部,星号显示为:

*Index [LastName], [FirstName]: Duplicates Allowed (surrogate key)

稍后将列出LastName字段,但我没有在问题中显示它。但是,令我感到困惑的是,在列说明中,它指出Index的{​​{1}}字段应为No,但是该页面底部的注释使它成为可能。似乎应该是FirstName,但我不知道该放什么。

那么有人可以帮助我弄清楚如何制作Yes (Duplicates OK)代理密钥,以及我应该在FirstName字段中输入什么内容吗?

1 个答案:

答案 0 :(得分:0)

您需要发布更多信息(例如,是否有一个employees表?),但说明似乎希望您使用员工的姓氏和名字作为组合键与替代键。设计表格时,可以按住SHIFT键和要包含在键中的字段:

enter image description here

然后在顶部的“工具”部分中按“主键”按钮:

enter image description here

然后您将得到一个复合主键:

enter image description here

我认为您的需求表上的措辞有些古怪。我认为获取LastName,FirstName列的唯一方法是通过某种数据宏或通过追加查询。

此外,即使您不使用它,我也建议您始终使用“自动编号ID”字段。在每个表上都没有键时,我遇到了数据库完整性问题。

但是,在没有看到完整的作业表的情况下,我很难拨入您具体需要的内容。