【发布时间】:2010-07-15 21:10:13
【问题描述】:
目前这更像是一种好奇心,但让我们想象一下我以坚定的镍和角钱计费的环境。我的系统有许多操作,它们都是可计费的。所有这些操作都记录在不同的表中(这些表需要分开,因为它们记录了非常不同类型的信息)。我还想微观管理我的应收账款。 (如果您在此处发现不一致之处,请见谅,因为此示例并非真实情况)
是否有某种标准方法可以用可以验证我的帐单表上 X 列中的标识符是许多操作记录表之一中的现有标识符的东西替换外键?
一个想法是,在记录帐户活动时,我可以引用操作的标识符以及操作(特别是它所在的表)并使用 CHECK 约束。这可能是最好的方法,这样我的日记就不会模棱两可了。
是否有其他方法可以解决这个问题,无论是事实上的还是专有的?
非关系型数据库能解决这个问题吗?
编辑:
重新表述我最初的问题,
是否有某种标准的方法可以用可以验证我的帐单表上 X 列中的标识符是多个(但不一定是全部)之一中的现有标识符替换外键的方法操作记录表?
【问题讨论】:
-
你所描述的是正是外键的全部意义 - 那么你为什么要避免这种情况呢?不,真的没有其他选择 - 外键正是为此目的而设计的 - 使用它们!
标签: sql database foreign-keys