@MOWS

Как гарантировать неизменность данных в таблице если есть FK?

Есть таблица заявок пользователей и нужно гарантировать каким то образом неизменность данных после вставки в таблицу, чтобы никто не смог данные поменять. Тут можно сделать подпись хэшем, но проблема в том, что эта таблица имеет FK на справочники(т.е. если справочник кто-то поменяет, то хэш то будет тот-же)
Разумно ли в данной ситуации вместо id справочников хранить значения и тем самым избавиться от FK?
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Простой, но увеличивающий объём данных способ - копирование значений из справочников в заявку на момент её создания.
Более сложный способ - добавление к справочникам дополнительных таблиц-регистров, хранящих изменения в справочниках (время, id_в_справочнике, значение) и взятие значений из регистра на момент формирования заявки.
Ответ написан
Комментировать
BuriK666
@BuriK666
Компьютерный псих
dev.mysql.com/doc/refman/5.7/en/create-table-forei...
ON DELETE RESTRICT
ON UPDATE RESTRICT
RESTRICT: Rejects the delete or update operation for the parent table. Specifying RESTRICT (or NO ACTION) is the same as omitting the ON DELETE or ON UPDATE clause.


А еще можно у юзера отобрать доступ на запись в этой таблице.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы