У меня есть один вопрос по правильному построению СУБД, мы 2 Джуна пишем приложение, в базе должна храниться информация из разных мессенджер , я думаю что правильно сделать одну таблицу messengers где будет лежать информация типа айди пользователя и ТД и вторую messengers_type где будет названия месседжера и его инкриментный номер, а вот мой коллега настаивает что правильно делать свою таблицу под каждый месседжера , подскажите пожалуйста как правильно
Dmitry Bay, , таблицы месседжеров будут содержать данные пользователя написавшие из данного месседжера, к примеру если пользователь написал из вайбера то в таблице будет его айдишник вабера ник и тд что даёт апи вайбера, так же и с другими месседжерами
xiiicool,
У вас что главнее - пользователь или его аккаунт в менеджере? Могут ли быть у пользователя несколько менеджеров? если вы будете хранить сообщения пользователей - будете ли поддерживать одного пользователя в нескольких?
messengers_type - данная таблица не особо и нужна. можно захардкорить в код.
Если кратко, я бы сделал такую структуру, из условия того, что клиент у нас главнее.
client
id | name | lastname | phone | email
client_messengers
id | client_id | provider_id (тип месенджера) | ид в мессенджере | data (json со всеми данными)
в этом слуаче если клиент идентифицированный обращается к вам, вы можете отследить всю историю его обращений и всю историю сообщений.
Vapaamies, откуда такой вывод? И, если записей будет много и их надо будет пошардить по типу мессенджера?
Хотя, это гадание по гуще, пока не ясно, сколько будет данных и что с ними делать надо будет
Зависит от постановки задачи.
Если предполагается обрабатывать все сообщения юзера из разных месседжеров, то правильнее все сообщения хранить в одной таблице.
А если не предполагается, то зачем тогда ваше приложение нужно?