学习案例
如果我有例如库对象。 图书馆里有书。 每本书都有公共信息,如姓名,日期,......以及其他一些依赖,如Autor,Reseller,....
我有Person对象。 如果有人读了这本书,那么我想把新的记录写入历史。
现在问题是,更好的是:
1)使用Book实体及其依赖项中的所有数据在历史记录中创建静态记录(在这种情况下,如果书籍将被更改,则历史记录将不是实际的)
或
2) Strore依赖于Book对象(在这种情况下,历史记录将是实际的,但在每个请求中我都必须查看所有依赖项)
我认为书籍会被更改
历史记录将显示在个人资料中。 (此假设响应将答案1 ))
但是应该是基于实际Book数据的历史记录吗?或者历史记录应该包含创建历史记录的信息表格日期?
书籍和人只是例子
答案 0 :(得分:1)
现在问题是,更好的是:
1)使用Book实体和的所有数据在历史记录中创建静态记录 他的依赖关系(在这种情况下,如果本书将被更改,那么 历史不会是真实的)
或
2)存储对Book对象的依赖(在这种情况下,历史将是 实际上,但在每个请求中我都必须查看所有依赖项)
不确定这里的“实际”是什么意思,但更好的选择是适合您的需求。
使用选项1,当您稍后在人员档案中显示历史记录时,它将包含有关在创建历史记录时当前的书籍的信息。使用选项2,配置文件将显示有关在查看配置文件时当前的书籍的信息。
您希望在个人资料中看到哪些内容?
如果实际上您希望始终显示创建历史记录时的当前信息,这是构建具有时间维度的数据仓库的原因之一。如果这是您所需要的,并且如果您需要处理大量历史数据,则可能需要研究构建与事务数据库分开的数据仓库。
有关数据仓库的一些信息,this IBM Redbook article可能很有用。