Структура списков фильмов - PullRequest
0 голосов
/ 05 марта 2011

Я пытаюсь настроить правильный дизайн базы данных, но я застрял.
Вот что я пытаюсь сохранить.

Каждый пользователь может определить список истории голосования из 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

Каждый список должен быть уникальным и определяется по его идентификатору (указанному в ссылке). Каждый список имеет и принадлежит многим фильмам, как в коде выше.

Каждый пользователь должен иметь возможность выбрать имя для каждого списка. Поэтому вместо того, чтобы сказать

Каждый список 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

Здесь пользователь может выбрать любое имя для списка без вмешательства в имена других пользователей.

Это хороший способ хранения данных?

1 Ответ

1 голос
/ 07 марта 2011

С теоретической точки зрения дизайн базы данных это правильный подход. Например, модель отношения сущностей описывает это так. Вы можете иметь отношения между сущностями и атрибутами в этих отношениях. Если вы сопоставите их с реляционной моделью (таблицами базы данных), вы получите таблицу для отношений, содержащую ссылки как на объекты, так и на всю дополнительную информацию. Вот что теория может сказать нам об этом:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...