【发布时间】:2011-11-04 09:41:21
【问题描述】:
学习案例:
如果我有例如库对象。 图书馆里有书。 每本书都有共同的信息,例如名称、日期……以及其他一些依赖项,例如 Autor、Reseller、……
我有 Person 对象。 如果Person读了这本书,那我想再创历史。
现在的问题是,什么更好:
1) 使用 Book 实体及其依赖项的所有数据在历史记录中创建静态记录(在这种情况下,如果 Book 将被更改,则历史记录将不是实际的)
或
2) 对 Book 对象的依赖关系(在这种情况下,历史将是真实的,但在每个请求中我都必须查看所有依赖关系)
我想这本书会被改掉
历史记录将显示在个人资料中。 (此假设响应将回答 1)
但应该是基于实际图书数据的历史记录吗?或者历史应该有创建历史的信息表单日期?
Book 和 Person 只是示例
【问题讨论】:
-
您应该向一本书添加一个名为 ID 的属性。然后只需存储该人阅读的书籍的 ID。如果您想获取书籍详细信息,可以通过 ID 获取。例如,您可以有一个书籍对象字典,其中键显然是 ID;)另一种方法是与存储有关人员和书籍信息的历史对象建立多对多关系。更多信息:tomjewett.com/dbdesign/dbdesign.php?page=manymany.php
-
@neurotix :) 谢谢你的回答,但当然所有实体都有自己的 ID,但这不是问题。我知道解决方案,但我想知道什么更好,什么时候更好。阅读我的帖子中的第 1) 和 2) 点
标签: c# sql design-patterns android-activity history