访问一对一关系表

时间:2014-02-07 11:07:58

标签: ms-access

我正在尝试基于一个单独的表(父表)构建几个表:想法是所有子表的前3列与父表相同,并且每个子表都有更多信息提供。无论父表中所做的任何更改都将反映在子表中。例如,如果父表中的前一行是harry True True更改为Harry True Sad,则子表也将更改。此外,如果删除父表中的记录,则还将删除子表中的相应行。创建父表中的新记录,子表还将生成反映更新的一行记录。

我认为Access中的一对一关系将是实现这一目标的好方法。这是否可行,因为我对数据库没有太多的理论上的理解。谢谢。

1 个答案:

答案 0 :(得分:0)

是的,这正是关系应该如何运作的,因此您不必在每个相关表上重复3列。

Parent
ID(PrimaryKey)  C1  C2  C3

Child1
ID(PrimaryKey) C4 C5

Child2
ID(PrimaryKey) C6 C7

至于删除,如果您选中CASCADE DELETE框,则可以选择Enforce Referencial Integrity完全符合您的目的。

然而,关系是1对1还是1对N,很大程度上取决于您正在构建的数据库。

如果是1比1,则对于相同的记录,主键应该相同。否则,您应在子表中包含RelatedParentId (ForeignKey)字段。

Table View Mode Relationship