|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
Нужно реализовать систему начисления балов пользователю с описанием за что эти балы были зачислены. Аналогичным образом они могут отниматься. Так вот, я себе вижу эту реализацию следующим образом: Таблица "Balance" с полями: "user_id" - которое одновременно будет первичным ключом. (Почему первичным? Потому что у нас нету таблицы пользователей, она на другом сервере\сервисе. Поэтому мне это показалось логичным). "scores" - собственно сами балы пользователя. Таблица "Description" c полями: "text" - инфо. за что балы зачислены "created" - когда они были зачислены "user_id" - внешний ключ на user_id из таблицы "Balance" Насколько коректная\кривая такая реализация? Благодарю за ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2020, 18:16 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
pyDevНасколько коректная\кривая такая реализация? "Баллы пользователя" (и вообще таблица Balance) - преждевременная оптимизация, способная вылезти боком. Для начала достаточно одной таблицы начисления баллов. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2020, 18:24 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, понимаю. Но если отталкиваться сугубо от условий которые я описал? У нас каждое отдельное начисление сопровождается описанием (за что они были начислены), которое нужно хранить. Здесь одной таблицой не отделаешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2020, 18:35 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
pyDev Нужно реализовать систему начисления балов пользователю с описанием за что эти балы были зачислены. Аналогичным образом они могут отниматься. Так вот, я себе вижу эту реализацию следующим образом: Таблица "Balance" с полями: "user_id" - которое одновременно будет первичным ключом. (Почему первичным? Потому что у нас нету таблицы пользователей, она на другом сервере\сервисе. Поэтому мне это показалось логичным). "scores" - собственно сами балы пользователя. Таблица "Description" c полями: "text" - инфо. за что балы зачислены "created" - когда они были зачислены "user_id" - внешний ключ на user_id из таблицы "Balance" Насколько коректная\кривая такая реализация? Благодарю за ответы. Я бы перенес "scores" во вторую таблицу. Иначе если Вася получил 5 баллов по физкультуре и 3 балла по поведению, в вашей схеме разграничение теряется, остается только сумма. Просуммировать баллы для отчета проблемы не представит. После этого уберите первую таблицу, она лишняя. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2020, 19:44 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
У нас есть такая система. Вот как это выглядит. 1) Таблица одна, ибо в чем смысл "сводной" таблицы, если ее придется править при изменении таблицы начисления, и тот же запрос можно вызывать не КАЖДЫЙ раз при изменении, а только когда надо видеть сумму. 2) Надо продумать, всегда ли надо знать ВСЁ, или иногда баллы только одной категории. Если категории разные, лучше их ввести как вариант для простой сортировки. 3) Если баллы начисляет больше одного человека, лучше ввести поле кто начислил, чтобы знали потом с кого спрашивать. 4) Если пользователей очень сильно много, то можно еще и индекс ввести соответствующий, для оптимизации. Итого "used_id", "баллы", "комментарий", "категория"(опционально, для сортировки), "кто начислил"(опционально, чтобы знать ответственного) В итоге когда надо будет посмотреть баллы пользователя, будете делать просто SELECT * WHERE user_ud='xxx', и еще можно по категории выборку сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2020, 23:07 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
Всем большое спасибо за ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2020, 01:54 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
Решение с хранением в одной таблице понятно. Но что если нам нужно отнять какое-то количество балов от общей суммы (аналогично с описанием за что были сняты)? (Я в первом посте это упоминал). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2020, 10:41 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
pyDev, Два варианта, или сумма считается каждый раз в запросе или создаете на своей стороне таблицу пользователей в которой храните рассчитанную сумму, расчетное поле корректируется каждый раз при добавлении строки в таблицу с баллами. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2020, 11:18 |
|
Помогите с оценкой актуальности решения
|
|||
---|---|---|---|
#18+
pyDevНо что если нам нужно отнять какое-то количество балов от общей суммы (аналогично с описанием за что были сняты)? Про отрицательные числа Вы когда-нибудь слышали? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2020, 12:40 |
|
|
start [/forum/topic.php?fid=32&msg=40005247&tid=1539837]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 151ms |
0 / 0 |