【问题标题】:Creating Surrogate Keys in Access在 Access 中创建代理键
【发布时间】:2019-04-21 19:41:41
【问题描述】:

我正在进行一个项目,我们必须在 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 字段应该是No 用于FirstName,但是页面底部的这个注释使它看起来应该是@ 987654332@我不知道该放什么。

那么谁能帮我弄清楚如何使FirstName 成为代理键,以及我应该在Index 字段中输入什么?

【问题讨论】:

  • 这是课堂作业吗?你指的是什么“页面”? FacultyID 是自动编号字段吗?这是主键字段吗?这是代理键。谷歌这个话题。 mssqltips.com/sqlservertip/5431/…。由于多人可以有相同的姓名,因此姓名字段中必须允许重复。
  • @June7 是的,这是一个课堂作业。抱歉,我指的页面是教授提​​供的说明页面。 FacultyID 是主键,但数据类型是 Short Text。应该是Number类型但是老师指定应该是Text
  • 那你需要从导师那里得到澄清,因为我当然无法解释。你读过链接吗?

标签: ms-access surrogate-key


【解决方案1】:

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

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

你最终会得到一个复合主键:

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

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

但是,如果没有看到完整的作业表,我将很难拨入您具体需要的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多