Архитектура базы данных для пользовательских рейтингов - PullRequest
2 голосов
/ 28 февраля 2011

Вероятно, это действительно простой вопрос, но по какой-то причине я не могу придумать ответ, в котором чувствую себя на 100% уверенно.

Я создаю небольшой сайт об Оскаре для себя и нескольких друзей. У меня есть стол для Films , стол для Nominees , стол для Awards (например, Best Film), стол для Сама церемония (например, год ее проведения и т. Д.) И таблица, которая связывает их всех: Номинации .

Таблица Номинации выглядит (как и ожидалось) так:

NominationID * 
FilmID 
AwardID 
NomineeID 
CeremonyID

Сейчас я собираюсь составить таблицу Users , но я не могу придумать подходящее место для хранения данных об этих вещах:

  • Пользовательский рейтинг данного фильма и / или ...
  • видел ли пользователь данный фильм
  • Прогноз пользователя на победу в номинации

Для первых двух я думал о таблице UsersFilms , которая выглядела бы примерно так:

UsersFilmsID *
FilmID
UserID
UserRating
UserSeenIt (boolean)

Для третьего: Прогнозы Таблица:

PredictionsID * 
NominationID 
UserID

Кто-нибудь может дать совет, является ли это хорошим способом сделать это? Спасибо!

1 Ответ

1 голос
/ 28 февраля 2011

Как вы планировали управлять тем, что номинацией может быть человек или фильм?

Планировалось ли спасать победителей?

Я думаю, вам следует опубликовать колонкивы планировали иметь для каждой таблицы.Есть много потенциальных проблем, о которых я думаю, но, возможно, вы уже решили их все;)

Для UsersFilm, так как я сомневаюсь, что пользователь может оценить фильм до его просмотра, я недумаю, что логическое значение является обязательным, поскольку, на мой взгляд, оно всегда будет истинным.

И в заключение, я не думаю, что проблема моделирования базы данных может быть простой, всегда есть много разных способов думать, и никто не можеткогда-нибудь сказать "Это решение будет работать в каждом случае".

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