Просто найдите некоторые предложения о том, как подойти к дизайну базы данных для этого.Дизайн базы данных - подход для хранения баллов для пользователей
На моем сайте пользователь может получить очки за выполнение различных видов деятельности. В настоящее время есть 3 мероприятия, для которых я награждаю очки, но дизайн должен быть масштабируемым, где я могу добавить другие действия для награждения очков.
Итак, сегодня - пользователь получает очки 1) Когда он добавляет новый магазин он получает 10 баллов (магазин информация хранится в запасниках таблице) 2) Когда он отвечает на вопрос, он получает 7 баллов (вопросы/ответы хранится в таблице ОТВЕТЫ) 3) Когда он называет друзей, которые присоединяются к сайту он получает 5 баллов
так это то, что я до сих пор - но он не выглядит правильно :)
Points_Table point_id user_id action (Это будет фиксировать, для какого действия даются очки) баллов
Я должен быть в состоянии вывести из базы данных, что этот пользователь получил точки xxxx для создания этого магазина или для обращения к этим друзьям или для ответа на этот вопрос. Вышеупомянутая конструкция, очевидно, не позаботится об этом.
Спасибо за ваши советы
Спасибо Jeffrey - я вообще не думал об этом подходе – Gublooo
@Jeffrey, очень интересный подход в самом деле. Смотрите, что это очень старая нить. Любопытно, действительно ли этот подход хорошо масштабируется в системе, скажем, такой же большой, как SO? Это представление может быть довольно сложным, и набор данных может быть довольно большим. –