【发布时间】:2010-12-25 02:52:49
【问题描述】:
我正在为一本杂志建立一个网站,其中包括三个不同的部分——文章、博客文章和评论。所有这三种对象类型都有以下共同的列:标题、描述、标题、副标题、正文和作者。我应该将它们分别存储在自己的表中,还是应该只创建一个 Posts 表并添加一个类别,以便区分 ['article','blog','review']?
要明确一点——这三者中的每一个都将以完全不同的视觉格式呈现给用户,因此它不像只是一个带有文章、博客和评论的类别或标签的博客。但是应该在幕后这样吗?
很难决定是否应该仅根据它们实际上是独立的对象这一事实来拆分它们,还是将它们全部放在一起以保持我的应用程序 DRY。这会导致后续的维护问题吗?性能问题?正常化?数据的完整性?我不是数据库专家,因此非常感谢任何帮助。
我认为这根本不重要,但我使用的是 Rails,所以我想弄清楚我是否最终会得到 3 个不同的控制器、3 个模型和 12 个视图,我如果背后有充分的理由,我们很乐意这样做。
提前致谢!
【问题讨论】:
-
感谢所有回复的人,非常感谢您的建议。
标签: mysql ruby-on-rails database database-design data-modeling