Большой проблемой является определение того, что вы собираетесь делать с данными о проблеме:
- ничего
- восстановление из данных, хранящихся в другом месте и доступных через код
- восстановить данные вручную
- удалить (или желательно заархивировать)
И для этого вам необходимо установить, как данные проблемы влияют на систему / организацию и как разрешение повлияет на систему / организацию.
Это ваш первый уровень классификации. Получив это, вы должны начать определять конкретные проблемы и на основе этого получить набор семантических правил, определяющих ошибочные шаблоны.
Это должно позволить вам определить требуемые исправления, расставить приоритеты в работе и спланировать использование ресурсов. Это также должно позволить вам расставить приоритеты, спланировать и частично идентифицировать устранение первопричины.
Я не уверен, каково ваше определение «огромного», но я хотел бы заключить, что это означает, что этому способствует множество программистов, и в этом случае вам, безусловно, нужно установить стандарты и процедуры для управления целостностью данных. идти вперед, так же, как вы должны делать с производительностью и безопасностью.
Правила, которые вы определили, являются отправной точкой для текущего управления данными, но вы должны подумать о том, как вы собираетесь применять их в будущем - добавление поля временной метки в каждую таблицу / ведение таблиц, ссылающихся на строки, которые нарушают определенные правила, означает, что Вам не нужно обрабатывать все данные каждый раз, когда вы хотите проверить данные - только то, что изменилось с момента последней проверки - это хорошая идея, чтобы отслеживать случаи, удаляемые из списка нарушений. как добавляемые.
Ведите учет примененных исправлений и соответствующих нарушений правил и анализируйте данные, чтобы выявить горячие точки, в которых повторный факторинг может привести к более понятному коду.