Каковы наилучшие методы обработки удаления или включения/удаления строк и ссылочных таблиц?
Например, предположим, что у меня очень простое приложение для форума.
У меня есть таблица users
, которая содержит мои учетные записи webapp и threads
, которые содержат потоки пользователей, и таблица comments
, которая содержит комментарии пользователей к потокам.
Теперь скажите, что в момент регистрации я хочу проверить электронную почту пользователя, прежде чем активировать свою учетную запись. Что это лучший способ сделать это? Каковы лучшие практики? Может быть, через представление, которое возвращает только строки с полем is_active=true
? Использование 2 разделенных таблиц, таких как pre_users
(содержит пользователей, которые еще предстоит проверить) и users
(проверенные)?
Аналогично, как бы вы обрабатывали пользователя, который хочет приостановить свою учетную запись? И его темы и комментарии? Добавляете ли вы еще один флаг is_suspended
и обновляете представление, чтобы принять этот флаг? И если это не представление, а две отдельные таблицы, как я могу обрабатывать ссылки?
Кроме того, удалите поток. Предположим, что при удалении потока я не хочу, чтобы поток был фактически удален, потому что я не хочу, чтобы пользователи, которые оставляли комментарии, внезапно не видели своих комментариев. Как с этим справиться?
Каковы наилучшие методы для таких проблем?