代码之家  ›  专栏  ›  技术社区  ›  Ksagar

引用完整性访问

  •  1
  • Ksagar  · 技术社区  · 11 年前

    我在access数据库中有两个表。第一个表名为Program,其字段为Program ID和Program Name,Program ID是该表的主键。第二个表名为Partner,其字段为Partner ID和Partner Name,Partner ID是Partner表的主键。我有另一个表,这是一个交集表,它显示了程序和伙伴表之间的所有连接。交叉表包含字段Program ID、Program Name、Partner ID和Partner Name。我在程序表和交集表之间有一个一对多的关系,在伙伴表和交集表格之间有一对多关系。我还选择了这两个关系的引用完整性(选择了更新和删除)。我的问题是:如果我对程序表中的程序名称进行了任何更改,那么我也希望将更改更新到交叉表的程序名称字段中。合作伙伴名称字段也是如此。我无法做到这一点。我尝试将“程序名称”字段添加到程序和交叉表之间程序ID上的现有关系中,但访问不允许我强制执行引用完整性,这会出现错误:“主表中引用字段没有唯一索引”。我还尝试在“程序名称”字段(不是主键)上创建一个唯一索引。有人能给我一些选择吗。 非常感谢。

    1 回复  |  直到 11 年前
        1
  •  0
  •   Gord Thompson    11 年前

    您的交集表应该 包括计划/合作伙伴 姓名 总之,它应该只包括计划/合作伙伴 身份证件 价值观

    通过在交集表中保留名称的副本 规格化 您的数据。这通常被认为是一件“坏事”。