Допустим, у меня есть служба обмена сообщениями между пользователями, с открытыми и закрытыми сообщениями.Я бы хотел, чтобы «публичные» были видны всем, а «приватные» были ДЕЙСТВИТЕЛЬНО приватными.Какой из обоих проектов будет лучшим?
a)
Наличие единой базы данных с названием "messages" со столбцами
- id
- отправитель
- получатель
- отметка времени
- значение
- конфиденциальность (это будет логическое значение, 0 для частного и 1 для открытого)
или b)
Наличие двух баз данных, одна из которых называется "messages_public", а другая - "messages_private" с такими же следующими столбцами
- id
- отправитель
- получатель
- отметка времени
- значение
Я знаю, что второй подход избыточен, но безопаснее в том смысле, что в случае возникновения ошибки личные сообщения не будут отображаться случайно для всех (что будет катастрофа ), я прав?В первом случае, с другой стороны, это действительно возможно.Простая ошибка в запросе SQL может не отфильтровать личные сообщения, и она будет отображать каждое из них.