Я назначен в проекте, где мне нужно работать со средней базой данных. Когда я открываю эту базу данных, я видел, что база данных выполнена неправильно, и она ДОЛЖНА иметь больше таблиц, чем должно быть. Никакая нормализация не применяется даже!
Но проблема заключается в том, что в базе данных имеется средний размер данных почти 500 пользователей. когда я сломаю более старую базу данных, более старые пользователи потеряют свои данные.
Но я должен скопировать эти данные в недавно отформатированную таблицу новой базы данных. (Но все поля могут не совпадать.) Я думаю, что нет средства для автоматизации, есть ли какие-либо?
Существует ли какая-либо передовая практика для выполнения такого рода работ?
Является ли схема действительно проблемой или вы просто хотите ее исправить, потому что это не третья нормальная форма?
В любом случае, я бы создал совершенно новую базу данных с нужной, нормализованной схемой и написал некоторые процедуры импорта.
Если база данных была/сильно использована, я бы создал несколько представлений для поддержки совместимости чтения (представления имели бы те же имена, что и прежние таблицы и те же столбцы), таким образом все, что вам нужно изменить, это вставка/обновление частей и ofc. строки подключения.
Заданный вопрос:
Есть ли какой-либо инструмент, который может преобразовывать ненормированную базу данных в нормализованную базу данных, сохраняя при этом все ее содержимое.
Ответ: no.
Вы должны точно настроить оптимизацию базы данных в соответствии с вашими потребностями.