Я ищу несколько советов о том, как создать базу данных для приложения в стиле электронной почты, в частности о том, как обрабатывать отправку сообщения нескольким пользователям и отображать, какие сообщения были отправлены каким пользователям.
Это то, что я имею до сих пор:
Сообщения (первичный ключ - Id)
- Id (личность)
- SenderId (внешний ключ для Users.Id)
- <данные сообщения>
ReceivedMessages (первичный ключ - MessageId + RecipientId)
- MessageId (внешний ключ к Messages.Id)
- RecipientId (внешний ключ для Users.Id)
- IsRead
Таким образом, для каждого отправленного сообщения в сообщениях будет одна строка с данными, а затем по одной строке для каждого получателя в ReceivedMessages.
Но что, если я хочу просмотреть все сообщения, отправленные пользователем, и кому они были отправлены? Для каждого сообщения мне нужно найти все строки ReceivedMessages для этого сообщения и объединить все строки с пользовательской таблицей, а затем каким-то образом объединить все имена (что-то вроде этого: Объединить множество строк в один текст строка ). Может ли это вызывать проблемы с масштабированием или не о чем беспокоиться?
Есть мысли / предложения? Спасибо.