Мне кажется, что ваша компания переключается между двумя совершенно разными мотивами использования технологий баз данных. Первое - это поддержка приложений. Второе - интеграция данных. Если я прав по этому поводу, этот процесс откроет огромную кучу червей, и многие из проблем даже не будут решены путем помещения всех данных в одну большую базу данных.
Рассмотрим два из ваших замечаний. Первый - полное отсутствие ссылочной целостности в разных базах данных. Второе - идея, что у каждого приложения будет своя схема. То, что это позволяет случиться, - это полное отсутствие ссылочной целостности в схемах, что возвращает вас в ловушку, в которой вы находитесь сейчас.
Исправление данных для обеспечения ссылочной целостности и исправление схем для обеспечения ссылочной целостности, а также исправление приложений таким образом, чтобы приложения соответствовали новым схемам, окажется монументальной задачей.
Вот что на самом деле нужно сделать вашей компании: иметь единую КОНЦЕПТУАЛЬНУЮ базу данных, которая содержит все «данные предприятия» и определена таким образом, что обеспечивается соблюдение как ссылочной целостности, так и целостности сущностей. Пересмотрите существующие схемы, чтобы они соответствовали базе данных CONCEPTUAL, за исключением данных, которые являются чисто локальными по отношению к этой схеме и не документированы в единой концептуальной базе данных. Используйте ограничения везде, где это необходимо, чтобы гарантировать, что данные, охватываемые этими схемами, не потеряют целостность.
Принимайте решение о том, принадлежат ли эти схемы одной или нескольким базам данных, на основе требований к администрированию базы данных, несоответствия требованиям безопасности, безопасности и производительности, а НЕ необходимости интеграции данных. Используете ли вы одну платформу или несколько платформ - это отдельное решение.
При необходимости хранить синхронизированные копии одних и тех же данных в отдельных базах данных. Включите накладные расходы на выполнение этого в ваших соображениях производительности выше.
Документируйте концептуальную базу данных из gazoo. Не просто соглашайтесь на определения ФОРМЫ данных. Настаивайте также на определениях семантики данных.
Обратите внимание, что если вы используете поля идентификаторов вместо естественных ключей для обеспечения ссылочной целостности, вам придется сгенерировать каждое поле идентификатора в одной схеме и позволить распространению связи между идентификатором и зависимыми данными с помощью синонимов, представлений и синхронизированных репликация.
Это будет непросто.