У меня есть 7 таблиц MySQL, которые содержат частично перекрывающиеся и избыточные данные примерно в 17000 строк. Все таблицы содержат имена и адреса школ. Иногда одна и та же школа дублируется в таблице с немного другим именем, и иногда одна и та же школа появляется в нескольких таблицах, опять же, с небольшими различиями в ее имени или адресе.Советы и инструменты для нормализации базы данных
Моя задача - создать единую таблицу с идентификатором, именем и полем города/города, в котором будут содержаться данные из 7 таблиц. Будет отдельная таблица для городов с идентификатором и полем имени.
Это осложняется тем фактом, что исходные таблицы не имеют отдельного поля для города, его необходимо извлечь из поля адреса, в котором есть данные в совершенно разных форматах.
Я понимаю, что большую часть этого нужно сделать вручную, я ожесточил свою душу, и я готов бороться с живым адом, это навлечет на меня. Мои вопросы:
- как бы вы начали такую задачу? что было бы разумной стратегией для автоматизации как можно большего количества?
- Есть ли какие-либо инструменты, которые могли бы сделать это быстрее? как что-то, что может сравнить строки, определить их «подобие» и предложить возможные дублирования?
Спасибо!
Благодарим вас за отличный совет! Я написал быстрый Perl-скрипт для загрузки списка всех венгерских школ с веб-сайта Министерства образования и создания SQL-записей вставки из данных. Это спасло меня около 2 недель. Еще раз спасибо!! – neo2862