Как гарантировать неизменность данных в таблице если есть FK?
Есть таблица заявок пользователей и нужно гарантировать каким то образом неизменность данных после вставки в таблицу, чтобы никто не смог данные поменять. Тут можно сделать подпись хэшем, но проблема в том, что эта таблица имеет FK на справочники(т.е. если справочник кто-то поменяет, то хэш то будет тот-же)
Разумно ли в данной ситуации вместо id справочников хранить значения и тем самым избавиться от FK?
Для правильного вопроса надо знать половину ответа
Простой, но увеличивающий объём данных способ - копирование значений из справочников в заявку на момент её создания.
Более сложный способ - добавление к справочникам дополнительных таблиц-регистров, хранящих изменения в справочниках (время, id_в_справочнике, значение) и взятие значений из регистра на момент формирования заявки.
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.
А еще можно у юзера отобрать доступ на запись в этой таблице.