【发布时间】:2013-03-20 03:15:52
【问题描述】:
考虑为交通部门设计一个数据库。有一个表格:违规、合法性和驱动程序。
在合法性表中,我们有罚款成本、条款编号、解释、原因等属性......
现在,如果我们将来更改成本和条款编号,我不希望这影响已经存在的记录。但是表的违规和合法性已经在一起了,因此如果查询它们,这将更改旧记录。
我举了一个简单的例子来说明我的担心,但我想知道解决这种情况的概念。
如何做到这一点?
更新 1)
我觉得我可能没有准确地解释我想要什么,因为有些答案没有朝着正确的方向发展。因此,我将解释: 我有以下实体:
violation, committee, decision, meeting, and legal terms
关系 1 说:committee 持有一个 meeting 并接受一个关于 violation x 的 decision。
另一个关系说:decision 是基于legal terms 拍摄的。
现在,不深入“法律条款”表的详细信息,假设它具有罚款、法律条款和参考等属性...如果有一天我们将条款“abc”的罚款改为 100 美元而不是50 美元,然后我们检索一条旧违规记录,其罚款基于“abc”条款,成本将显示为 100 美元,尽管它应该显示为 50 美元。
【问题讨论】:
-
我很确定我的答案符合您的要求您可以挑选出违规以及违规发生时适用的价格。如果您需要我进一步解释详细信息,请告诉我。
-
如果其他属性也可能发生变化,例如从句文本中的几个单词怎么办?
-
视情况而定。如果文本更改,违规仍然有效吗?只是需要跟踪的文本和成本还是每个字段?如果不是每个字段,您是否设想将来被要求扩展功能以包含其他字段?
-
主要是我想永久保存以下信息:违规决策期间的委员会成员、条款文本和罚款费用。
-
如果您将我的解决方案扩展为以与子句文本相同的方式工作,那么我的解决方案是否有效? IE。将子句文本保留在一个单独的表格中,这将为您提供完整的历史记录(有点像本网站上的编辑历史记录)?
标签: database database-design relational-database