我在access数据库中有两个表。第一个表名为Program,其字段为Program和Program,程序ID是该表的主键。第二个表命名为Partner,其字段是合作伙伴ID和合作伙伴名称,合作伙伴ID是合作伙伴表的主键。我有另一个表,它是一个交集表,它显示程序和合作伙伴表之间的所有连接。交集表有程序ID、程序名称、合作伙伴ID和合作伙伴名称的字段。我在程序表和交集表之间有一个多的关系,在合作伙伴表和交汇表之间有一个多个关系。我还在这两种关系上都选择了引用完整性(同时选择了更新和删除)。我的问题是:如果我对程序表中的程序名做了任何更改,那么我也希望将更改更新到交集表程序名称字段中。类似地,对于合作伙伴名称字段。我做不到。我尝试在程序和交集表之间的程序ID上的现有关系中添加Program字段,但是access不允许我强制执行引用完整性,它会产生错误:“主表中引用字段没有唯一索引”。我还尝试在“程序名称”字段(不是主键)上创建一个唯一的索引。有人能告诉我一些选择吗。谢谢。
发布于 2013-09-10 16:07:25
您的交集表应该是(而不是)包含程序/合作伙伴名称,它应该只包括程序/合作伙伴ID值。
通过在交集表中保留名称的副本,您已经取消了数据的规范化。这通常被认为是“不好的事情”。
https://stackoverflow.com/questions/18723722
复制相似问题