0

我有一张这样的桌子:

CREATE TABLE accounts (
  id    INT,
  start DATETIME,
  end   DATETIME,
  addy  TEXT,
  PRIMARY KEY (id, start, end)
);

这与用于以 Temporal 术语存储更新的 ORM 模型相关联,因此UPDATE您可以创建具有相同id和新start/end日期的新记录,而不是 ing。

好的,现在如果我有这样的(时间)子记录accounts

CREATE TABLE invoices (
  id INT,
  start DATETIME,
  end   DATETIME,
  amt   DECIMAL(6,2)
)

如何区分反映父帐户更改的发票和不反映更改的发票?

例如:

Accounts
id  start  end   addy
1   d0     null  123 Main St

Invoices
id    act    start    end     amt
1     1      d0       null    100

发票显然与主街 123 号的账户记录有关。

Accounts
id  start  end   addy
1   d0     d1    123 Main St
1   d1     null  234 First St

Invoices
id    act    start    end     amt
1     1      d0       null    100

现在, 的价值是Invoice.Account.addy多少?123 还是 234?

我是否需要其他字段来帮助确定是哪一个?如果是这样,这些列会是什么样子?

谢谢!

4

0 回答 0