【发布时间】:2011-01-22 08:42:36
【问题描述】:
我正在寻找一些数据库设计帮助。我有一个现有的应用程序,我想将以下功能添加到:
- 支持站点博客的概念
- 允许每个成员拥有自己的博客
- 管理员可以发布到站点博客,
- 会员可以在自己的会员博客上发帖
由于一个站点只能有一个博客,而每个成员只能有一个博客。我不认为我需要一个博客表。相反,我将在 Sites 和 Users 表中为 blog_name、blog_tagline 或其他内容挂起几列。
我的问题是:我应该使用一张表来发帖,还是应该使用两张表(site_posts 和 member_posts)。
如果我使用 1 个表,我可以轻松地拥有一个类型列(站点或成员)和一个指向相关父记录(站点或成员)的 content_id 列。但是,我正在考虑在资源和控制器方面做到这一点的最佳方法是什么。如果我有 1 个表,那么我将有一个控制器帖子。但是,根据用户的角色,他们将更新站点帖子或成员帖子。这似乎有点混乱,总是检查用户的角色只是为了更新资源。
所以,我倾向于使用 2 个资源(和 2 个表),所以我知道成员总是在 member_posts 上工作,而管理员在 site_posts 上工作。
任何人对此设计有任何想法或发现任何问题?
谢谢。
【问题讨论】:
标签: ruby-on-rails database-design