多条目维基系统(类似豆瓣图书)的数据表该如何设计?
我在设计一个图书维基系统,要求每本书有多个条目:书名、作者、简要描述等,同时能保存每个图书信息的不同版本。我目前的实现方式是:
- 创建一个数据表,记录每个图书的信息。数据列就是上面提到的各个条目:行id,isbn,书名,作者等
- 每增加一个版本,就是在该数据表中增加一行记录
- 查询某本图书信息的所有版本,只要查询该表中所有isbn为该图书isbn的记录即可
我这样的设计有个缺点是:图书信息有好几个条目,这些条目是作为一个整体保存为一个版本的。当获取图书信息时,只能将某个记录内的所有条目作为一个整体来获取。
我希望能让每个条目独立保存,用户能够编辑某个特定的条目(比如只编辑图书描述),系统会只为该条目创建一个新的版本。当获取图书信息时,图书信息不是数据表中的一行记录,而是通过将数据表中的各个条目组合得到的。
就像豆瓣读书一样:
当编辑图书信息时,用户可以选择某个条目的所有历史版本。
当显示图书信息时,系统会自动抽取每个条目中投票最高的那一项,组合成这个图书的图书信息。
因此我想知道,这样的数据表该如何设计呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论