powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Архитектура базы данных - "Поддержка пользователей"?
17 сообщений из 17, страница 1 из 1
Архитектура базы данных - "Поддержка пользователей"?
    #39630191
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, нужно сделать простенький support.

Типо пользователь создаёт вопрос и потом поддержка отвечает на него. Получается своеобразная переписка. Между поддержкой и пользователем.
Если вопрос решён, то установить спец статус и всё.
Больше ничего не нужно.. Ноо, мне почему-то кажется, что я что-то упускаю или обдумал неверно..

Есть user, у него список support объектов. ( One to many)
Есть support, у него список support_conversation объектов. ( One to many)

Подскажете что-то?

Спасибо!
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39630338
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если все что нужно, это переписка между юзером и техподдержкой, то в SupportItem таблице должны будут оказаться основные данные о проблеме (когда создан тикет, кем, оглавление и время), и таблица переписки, где SupportPersonId будет nullable и содержит id человека из поддержки написавшего ответ. SupportPersonId = Null если сообщение принадлежит пользователю

SupportItem
-Id
-Subject
-Time
-UserId
-Status

SupportConversation
-SupportItemId
-Message
-MessageTime
-SupportPersonId
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39630340
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в случае если несколько человек из суппорта могут отвечать на одно и то-же сообщения пользователя, либо если требуется разделять вопросы и ответы на них - то ответы можно выносить в отдельную таблицу либо вообще превратить в дерево сообщений
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39630407
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StalkerSЕсли все что нужно, это переписка между юзером и техподдержкой, то в SupportItem таблице должны будут оказаться основные данные о проблеме (когда создан тикет, кем, оглавление и время), и таблица переписки, где SupportPersonId будет nullable и содержит id человека из поддержки написавшего ответ. SupportPersonId = Null если сообщение принадлежит пользователю

SupportItem
-Id
-Subject
-Time
-UserId
-Status

SupportConversation
-SupportItemId
-Message
-MessageTime
-SupportPersonId

Большое спасибо за ответ. Исходя из вашего комментария и из того что написал я, то всё приблизительно я сделал правильно. Спасибо, что подтвердили.
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39630408
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StalkerSв случае если несколько человек из суппорта могут отвечать на одно и то-же сообщения пользователя, либо если требуется разделять вопросы и ответы на них - то ответы можно выносить в отдельную таблицу либо вообще превратить в дерево сообщений - думаю, что пока нечего усложнять, пока просто так как я и написал, будет нужда добавлю и поля и таблицы дополнительные.

Спасибо!
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39630420
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_,

а чем у вас send_time отличается от reply_time?
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39630469
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка_webdev_,

а чем у вас send_time отличается от reply_time? - хммм, да, send_time можно убрать, так как оно будет соответствовать первой записи вопроса в таблице "support_conversation"
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39630692
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_Ноо, мне почему-то кажется, что я что-то упускаю или обдумал неверно..
В общем, довольно много.

Прежде всего, в переписке с техподдержкой практически всегда требуется прикладывать файлы. Соответствующую фичу лучше всего внести в support_conversation. Далее, у каждого сообщения должен быть автор. Лично я бы вообще выделил общую сущность person и расширяющие её user и supporter. В support (неудачное название, лучше ticket) нужна обязательная ссылка на первое сообщение, а в самих сообщениях - какая-либо иерархия, последовательность. Сейчас они лежат просто беспорядочной грудой, в которой разве что по reply_time можно попытаться как-то разобраться (и приготовьтесь к большому празднику с авторами из разных часовых поясов). Про сообщения надо решить - хранятся ли они плоским списком либо деревом и, соответственно, добавить в них либо order_no, либо parent_id. Поле subject в сообщениях совершенно лишнее, ему место в support (никто не будет писать отдельные сабжекты у каждой реплики). Про send_time уже сказали.
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631184
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer_webdev_Ноо, мне почему-то кажется, что я что-то упускаю или обдумал неверно..
В общем, довольно много.

Прежде всего, в переписке с техподдержкой практически всегда требуется прикладывать файлы. Соответствующую фичу лучше всего внести в support_conversation. Далее, у каждого сообщения должен быть автор. Лично я бы вообще выделил общую сущность person и расширяющие её user и supporter. В support (неудачное название, лучше ticket) нужна обязательная ссылка на первое сообщение, а в самих сообщениях - какая-либо иерархия, последовательность. Сейчас они лежат просто беспорядочной грудой, в которой разве что по reply_time можно попытаться как-то разобраться (и приготовьтесь к большому празднику с авторами из разных часовых поясов). Про сообщения надо решить - хранятся ли они плоским списком либо деревом и, соответственно, добавить в них либо order_no, либо parent_id. Поле subject в сообщениях совершенно лишнее, ему место в support (никто не будет писать отдельные сабжекты у каждой реплики). Про send_time уже сказали. - Пасиб, дельные советы. Пока что не ожидается много запросов и прям настоящего саппорта, просто, чтоб в начале можно было как-то помогать пользователю, если возникнут трудности. И отвечать будет один пользователь..
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631188
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_Пока что не ожидается много запросов и прям настоящего саппорта, просто, чтоб в начале можно было как-то помогать пользователю, если возникнут трудности. И отвечать будет один пользователь..
Тогда поставьте любой бесплатный форум и вообще не заморачивайтесь. Просто когда вопрос решён - закрывайте топик или там переносите в архив.
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631191
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerТогда поставьте любой бесплатный форум и вообще не заморачивайтесь. - ээээм, немного не понял - для чего? У меня мой нативнй java бекенд и так д...
100500 раз будет дороже интеграцию какую-то проводить..


softwarerПросто когда вопрос решён - закрывайте топик или там переносите в архив. - у меня нет таких полномочий, опций.
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631193
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_ээээм, немного не понял - для чего?
Для саппорта. Пользователь, которому нужна помощь, создаёт топик на форуме. Саппорт ему там отвечает. Вот и всё. Не нужно никакой дополнительной базы, никакой интеграции и так далее.
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631194
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerДля саппорта. Пользователь, которому нужна помощь, создаёт топик на форуме. Саппорт ему там отвечает. Вот и всё. Не нужно никакой дополнительной базы, никакой интеграции и так далее. - понял Вас. Нууу, с моей точки зрения - это "over engineering".
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631209
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer_webdev_ээээм, немного не понял - для чего?
Для саппорта. Пользователь, которому нужна помощь, создаёт топик на форуме. Саппорт ему там отвечает. Вот и всё. Не нужно никакой дополнительной базы, никакой интеграции и так далее.

Очень несекьюрное решение. Я бы, скажем, был бы категорически против, чтобы мою переписку с саппортом (со всеми скриншотами, настройками и т.п.) видела каждая свинья, пользующаяся тем же сервисом (и, соответственно, имеющая возможность зайти на тот же форум)
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631214
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинОчень несекьюрное решение.
А требований по секьюрности и не выставлено.

Кот МатроскинЯ бы, скажем, был бы категорически против, чтобы мою переписку с саппортом (со всеми скриншотами, настройками и т.п.) видела каждая свинья, пользующаяся тем же сервисом (и, соответственно, имеющая возможность зайти на тот же форум)
В животных Вы, конечно, разбираетесь лучше меня, но что касается сути возражения - оно имеет смысл только в некоторых областях деятельности, в большинстве случаев эти "скриншоты и настройки" глубоко по барабану. И даже в них задача дописать в select * from topics фразу where user = ? вряд ли представляет такую уж нерешаемую задачу.
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631311
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Кот МатроскинЯ бы, скажем, был бы категорически против, чтобы мою переписку с саппортом (со всеми скриншотами, настройками и т.п.) видела каждая свинья, пользующаяся тем же сервисом (и, соответственно, имеющая возможность зайти на тот же форум)
В животных Вы, конечно, разбираетесь лучше меня,

Конечно - у нас в Простоквашино без этого никуда.
softwarerно что касается сути возражения - оно имеет смысл только в некоторых областях деятельности, в большинстве случаев эти "скриншоты и настройки" глубоко по барабану. И даже в них задача дописать в select * from topics фразу where user = ? вряд ли представляет такую уж нерешаемую задачу.
Одна беда - работать не будет :) требуется показывать топики не только их автору, а автору + группе суперпользователей "саппорт". Т.е. нужно разобраться, как хранятся группы пользователей в конкретной поделке, найти все места, где показываются сообщения/топики, везде внести изменения, когда в поделке сообщество обнаружит очередную дыру - каждый раз мержить свои изменения с новой версией... На мой взгляд, этот процесс довольно сложно назвать
softwarer вообще не заморачивайтесь
...
Рейтинг: 0 / 0
Архитектура базы данных - "Поддержка пользователей"?
    #39631315
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerА требований по секьюрности и не выставлено. - господа, да. Такие аспекты не уточнял, так как есть задача которую хотел решить так как описал.

Речь идёт о обычной переписке в личном кабинете каждого зарегистрированного пользователя. Тоесть, если у человека возникнет вопрос к сервису - он в личном кабинете сможет создать тикет и на него ответят. Вот в этом и задумка, для этого нужно несколько дополнительных табличек, о которых я и поинтересовался на форуме.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Архитектура базы данных - "Поддержка пользователей"?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]