我想将时态信息存储在数据库中。我想出了下面的设计。这是最好的方法吗?
MasterTable
DetailsTable
虽然它适用于我的目的,只有一个ID字段的MasterTable感觉不对,但是我没有其他方法可以将详细记录链接在一起。
有更清洁/标准的方法吗?
答案 0 :(得分:1)
请忽略MasterTable。
通过使用相同的ID列值,您的DetailsTable中的行仍将“链接在一起”,就像您所说的那样。
您可能想要做的任何其他有用的“链接”(例如将一行链接到其直接后继者或前任者)都无法通过拥有该MasterTable来实现。它没有任何成就(除非你想要其中有ID,没有详细信息,因此从未创建过ID,这似乎不太可能)。把它拿出来。
答案 1 :(得分:1)
一个想法是如下设计2个表:
实体表:EntityId - PK,标题,内容
EntityHistory 表:EntityId - PK,版本 - PK,CreatedOn,标题,内容
关于的一些想法: