我对 Access 很陌生,所以如果这是一个基本主题,我将不胜感激。
我正在创建很多需要链接的表。我有两张表,Keyword 和 KeywordOrthography。KeywordOrthography 有一个 KeywordFK 字段连接到 Keyword.ID 字段。
据我所知,有两种方法可以将 KeywordFK 连接到 KeywordID:
进入关系窗口,将关键字“ID”拖到“KeywordFK”,创建一对多关系(强制参照完整性。)
清除两个表之间的任何现有关系,进入表设计视图,然后在 KeywordFK 字段中,选择查找向导。选择从另一个表中获取值,并从关键字中导入 ID 字段。然后,当我在 KeywordOrthography 中输入新记录时,我可以从现有的关键字中选择输入。
两种方法都与表建立一对一的关系,第二种方法更容易手动输入新记录,但我不确定在添加新记录时使用 SQL 或其他方法是否会导致任何复杂性。另一方面,第一种方法在链接表时要快得多。
问题是:这些方法是否与我预先假设的一样?以一种方式或另一种方式这样做有优势吗?
通过关系窗格创建关系做了一件事:它创建了一个关系(显然)。
相比之下,查找向导可以做多种事情:
如果使用最后一个选项,迁移时会遇到麻烦,因为其他数据库通常不支持多值字段。此外,多值字段通常是一团糟,需要进一步处理,我强烈建议不要使用它们。
第二个选项也会造成一些混乱,因为显示的数据(来自链接记录的数据)不等于存储的数据(外键)。这可能会在尝试查询/过滤/导出数据时导致意外行为(因为有时您对显示的数据进行操作,而其他时候对存储的数据进行操作),但在迁移它时并不是真正的问题(因为它只是迁移外键)。不过,您可能需要在迁移后重新应用组合框设置。