【问题标题】:Structure movie lists结构电影列表
【发布时间】: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


    【解决方案1】:

    从理论数据库设计的角度来看,这是正确的方法。 例如,实体关系模型就是这样描述的。您可以在这些关系中建立实体和属性之间的关系。如果您将它们映射到关系模型(数据库表),您将获得一个包含对实体和所有附加信息的引用的关系表。 这就是理论可以告诉我们的:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多