Фиктивные записи требуются только тогда, когда разработчик модели не может легко изменить определение базы данных, что означает, что определение и / или модель данных довольно плохая. Никогда не следует попадать в ситуацию, когда на уровне приложения должен быть специальный код для обработки особых случаев в базе данных. Это кошмар гарантированного обслуживания.
Любое хорошее определение или модель позволит легко вносить изменения, не «затрагивая существующий код».
Вся бизнес-логика [которая определена в базе данных] должна быть реализована с использованием ограничений, проверок и правил ANSI SQL. (Конечно, структуры нижнего уровня уже ограничены с помощью доменов / типов данных и т. Д., Но я бы не классифицировал их как «бизнес-правила».) Я гарантирую, что мне не придется реализовывать пустышки, просто делая это.
Если этого нельзя сделать, то модельеру не хватает знаний и опыта. Или требования более высокого уровня, такие как нормализация, были нарушены, и это создает препятствия для реализации зависимостей, которые зависят от них; также означает, что модельер не удалось.
Мне никогда не требовалось нарушать такие ограничения или добавлять фиктивные записи (и я работал с огромным количеством баз данных). Я удалил фиктивные записи (и дубликаты), когда переработал базы данных, созданные другими.