Предположим, что вы пишете простое приложение. Модель состоит в том, что у «проекта» есть «категория». Категория проекта может быть отредактирована путем выбора из выпадающего списка, который содержит все возможные категории.
Пользователь создает следующие категории: C1, C2, C3.
Пользователь создает следующие проекты, ассоциации категорий: [P1, C1], [P2, C2], [P3, C3]
Позже категория C2 была удалена. Теперь, если пользователь пытается изменить категорию Project P2, возникает несколько проблем:
а. Категории должны быть найдены, чтобы заполнить выпадающий список. Но удаленные категории не будут восстановлены. Следовательно, C2 не будет восстановлен. (Если найдены удаленные категории, раскрывающийся список будет заполнен удаленными, неиспользуемыми полями)
б. Если C2 также извлекается, то существует риск, что пользователь может снова назначить удаленную категорию C2 для P2.
Какой лучший подход к дизайну для этого?