【发布时间】:2011-03-05 01:39:59
【问题描述】:
我正在尝试建立一个合适的数据库设计,但我被卡住了。
这是我要保存的内容。
每个用户都可以从 imdb 定义一个投票历史列表,类似于 this。
两个用户可以定义同一个列表。
首先我希望能够将每个列表保存为imdb_vote_history_list - 列表。
class ImdbVoteHistoryList < ActiveRecord::Base
has_and_belongs_to_many :vote_history_list
has_and_belongs_to_many :movies
# Fields
# id (Integer) - defined by the user
end
每个列表都应该是唯一的,并且由它的 ID 定义(在链接中给出)。 每个列表都有并属于许多电影,如上面的代码所示。
每个用户都应该能够为每个列表选择一个名称。 所以不要说
每个 imdb_vote_history_list 都属于_用户
我创建了一个名为 vote_history_list 的新关系。
class VoteHistoryList < ActiveRecord::Base
has_and_belongs_to_many :imdb_vote_history_lists
belongs_to :user
# Fields
# name (String)
end
在这里,用户可以为列表选择任何名称,而不会干扰其他用户的名称。
这是存储数据的好方法吗?
【问题讨论】:
标签: ruby-on-rails database database-design