Нужно составить список диалогов между пользователями наподобии вконтакте. Имеется две таблицы для сообщений в диалоге межу пользователем использую такой запрос "SELECT * FROM inbox WHERE user='$login' AND author='$sobesednik' UNION ALL SELECT * FROM outbox WHERE user='$sobesednik' AND author='$login' ORDER BY time"
не будет ли конфликтов между таблицами? название полей в таблицах одинаковые если что можно переименовать название полей на inbox_user, inbox_author и outbox _user, outbox _author. Пока справляюсь только с простыми sql запросами... Заранее спасибо.
Когда есть одинаковые данные, но их нужно показывать разным пользователям или разделить по уровням доступа - создавайте для каждого уровня доступа/пользователя таблицы и пишите данные туда. Сколько уровней доступа/пользователей - столько и таблиц! Все просто :)
...а потом мучайтесь с запросами и другими вопросами..А теперь по делу...
Думаете будут только конфликты? Оставьте такую архитектуру...немного подождите и будет нарушение согласованности данных, излишнее дублирование приводящее к неграмотному использованию дискового пространства, а также проблемы производительности и построения запросов.
Ваша архитектура допускает излишнее дублирование данных, мало того, указанная архитектура, как Вы видите приводит лишь к усложнению процесса написания запросов и усложнению процесса ее поддержки.
В базах данных часто не используют для удаления данных метод прямого исключения записи из памяти, а просто ставят флаг, кому эта запись больше не видна и не может быть использована. Например, в вашем случае можно было бы создать таблицу dialog_deleted_messages с полями message_id и user_id которая определяет сообщения, которые не видны определенному пользователю.
Когда вы проектируете реляционную базу данных, знайте, что одинаковые данные должны хранится в одной таблице, а остальные таблицы должны на них ссылаться и лишь в исключительных случаях хранить агрегированное значение, чтобы не делать лишнюю работу.
Почитайте про нормализацию базы данных - это вам пригодится для дальнейшего проектирования баз данных.
Таблица для хранения общей информации по диалогу.
Таблица для хранения сообщений диалога - здесь будут храниться все сообщения привязанные к диалогу.
Таблица участников диалога
Таблица скрытых (удаленных) сообщений
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть json-файл сохранённый в строке вида {"Org1":[{"a":1,"b":2},{
ПриветствуюИспользую Simple HTML DOM для парсинга товаров интернет-магазина
Добрый день, можете помочь объяснить, почему после отправки сообщения, сообщение приходит со сломанной кириллицей? Правильно ли написаны...
Нужно вставить в вектор векторов еще один вектор векторов после k-той строки, но компилятор выдаёт ошибкуВот код: https://hastebin