Лучшая практика для комментария, голосующего за структуру базы данных

Таким образом, 1 и 3 технически не связаны. 1 обозначает метки для объекта развертывания и имеет значение только для ваших собственных организационных целей. 3 являются метками, которые будут помещены в сгенерированные пакеты. Что касается того, почему Deployments полагаются на ручное указание селектора на ярлыки модуля, то это гарантирует отсутствие состояния. Контроллер развертывания может перезапуститься в любое время, и все будет в безопасности. Это может быть улучшено в будущем, если у кого-то есть солидное предложение, которое позаботится обо всех крайних случаях.

7
задан mdolon 1 May 2009 в 02:31
поделиться

3 ответа

Чтобы убедиться, что каждый голосующий голосует только один раз, создайте таблицу голосов с этими полями - CommentID, UserID, VoteValue. Сделайте CommentID и UserID первичным ключом, который гарантирует, что один пользователь получит только один голос. Затем, чтобы запросить голоса для комментария, сделайте что-то вроде этого:

SELECT SUM(VoteValue)
FROM Votes
WHERE CommentID = ?

Это помогает?

9
ответ дан 7 December 2019 в 03:20
поделиться

Почему бы вам не сохранить итоговые голоса за каждый комментарий? Увеличивайте / уменьшайте это, когда происходит новый голос.

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

0
ответ дан 7 December 2019 в 03:20
поделиться

You can put a sql join condition which returns all the votes on comments made by the current user for this object, if you get no rows, the user hasn't voted. That is just slightly different from you checking each comment one by one in the program.

as far as the database structure is concerned, keeping these things separate seems perfectly logical. vote { user_id, object_id, object_type, vote_info...)

You may be already doing this, sorry but I couldn't interpret from you post if that was the case.

0
ответ дан 7 December 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: