Как спроектировать модель так, чтобы была возможность отследить изменение должности?
У меня есть сущность сотрудников. Каким образом предусмотреть хранение истории смены должностей сотрудниками? Чтобы можно было запросить,например, количество изменений должностей или сколько раз сотрудник был на такой-то должности?
сотрудники отдельно, должности отдельно, текущая должность сотрудника в теблице сотрудников, ну и отдельная таблица с историей должностей: сотрудник, должность, когда вступил, когда вышел из должности и кто проводил принятие/снятие с должности
Можно повесить отслеживание изменения на триггер.
Лично я давно перешёл на хранение небольших объемов иерархических данных на JSON. И повесил на добавление/изменение триггеры. Имеется таблица истории, куда при срабатывании триггера перебрасываю старые Json данные. Сравнения версий делаю только при необходимости вне БД. Вычислять разницу через язык запросов очень тяжело.