MySQL — Какова процедура для нормализации базы данных с помощью PHP?

Я просто взял на себя довольно ужасную работу по разработке базы данных, в которой для хранения данных часто используются значения, разделенные запятыми. Я знаю, я знаю, это ад.

БД — это mysql, в настоящее время доступ к ней осуществляется с помощью MySql Workbench.

Я уже имел в виду, что нужно удалить и для чего нужна новая таблица отношений.

Итак, мой вопрос: как мне перенести данные, разделенные запятыми, в новую таблицу? Какие-нибудь инструменты специализируются на нормализации базы данных?

Редактировать:
Код сервера на PHP.

0

Решение

Сначала определите новые таблицы и атрибуты.

Затем используйте PHP или Python или ваш любимый язык с вызовами MySQL и напишите 1-кратный преобразователь, который зацикливает и читает старые таблицы и записи и вставляет соответствующие записи в новые таблицы.

1

Другие решения

Похоже, вы ищете стандартные практики. Существуют различные степени денормализованных баз данных. Те, с которыми я столкнулся, были нормализованы с помощью пользовательского кода и инструментов.

SQL Server Integration Services (SSIS) могут быть использованы в некоторых случаях. В вашем случае я бы создал скрипт для миграции, который включает в себя:

  • создание нормализованных таблиц
  • создание хранимой процедуры или сценариев PHP для чтения данных из денормализованной таблицы, их преобразования и загрузки в нормализованную таблицу
  • создание таблицы журнала или файла журнала
  • выполнение миграции в песочнице; при этом пишите логи
  • контроль версий скрипта
  • исправьте proc / script по мере необходимости
  • создать другую песочницу
  • запустить полный скрипт в песочнице
  • в случае успеха запустите полный скрипт на prod (с логированием)

SSIS используется для ETL во многих организациях; это стандартный инструмент для стека Microsoft BI, который также можно использовать для переноса данных между базами данных других производителей.

Инструмент ETL с открытым исходным кодом под названием Talend также может помочь в преобразовании ваших данных. Я лично считаю, что PHP-скрипт будет самым быстрым и простым для манипулирования данными.

1

По вопросам рекламы [email protected]