|
|
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
Есть уродская таблица (вернее их целая куча) уже с актуальными данными без 1-3 НФ. Заказчик --------- ID Имя организации Город Субъект федерации Ведомство ....... Есть новая структура этой таблицы Заказчик ---------- ID Имя организации ID Города ID Субъекта федерации ID Ведомства И соответственно эти справочники Город ---------- ID Города Город Ведомство ---------- ID Ведомства Ведомство Теперь у меня морока с написанием скриптов по импорту данных? Загвоздка в том, что я не знаю: что могли написать пользователи .. например - "Ульяновская область" или "Ульяновская обл-ть"?! Какой критерий использовать like или полнотекстовый поиск для исключения ошибок и потерь данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2008, 15:12 |
|
||
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
как-то мучался с подобным... если работа разовая, и база не очень большая, то: открываем базу удобной тузлой... сортируем/группируем по исправляемому параметру... пролистываем... смотрим что разное... либо Ctrl+V, либо заменой (UPDATE...)... один день - и список челов в 50тыс был приведён в нормальный вид, 2 колонки правилось...процентов 20% было не корректно можно и "алгоритм" придумать... но всёравно надо будет ручками чё-нить да править... если задача решается регулярно... то надо делать "список замены" "Тверская обл." -> "Тверская область" " Тверская обл-ть" -> "Тверская область" "Тверская об" -> "Тверская область" "Тверская обл" -> "Тверская область" и по мере работы с программой дополнять его... он конечно будет большой, и алгоритм будет долго работать, но это всёравно не ручками... а после каждого импорта - группировать и просматривать глазками список на странные записи... когда листаешь... в глаза бросается выпадающие из общего строки... как вариант, обращаться к соответствующему справочнику базы В КОТОРУЮ это импортируется... и если ест новый элемент в пришедшем (и прошедшим обработку) списке, то смотрим что с ним делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2008, 16:57 |
|
||
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
vitaliy14Какой критерий использовать like или полнотекстовый поиск для исключения ошибок и потерь данных? Можно попробовать такой вариант (если все названия начинаются с правильного наименования области). 1 Создаете из исходной таблицы временную, строки которой cодержат первый символ названия области. Смотрите, есть дубликаты строк? Наверняка есть. 2 Повторяете шаг 1 с двумя (тремя, четырмя...) первыми символами названия области исходной таблицы, пока временная таблица не будет иметь дубликатов, например, Арх Бел ... Тве Уль Яро 3 Во временной таблице для каждой области заносите правильное название или ставите ID из справочника областей. 4 В исходной таблице все строки, первые два (три, четыре...) символа которой совпадают со строкой временной таблицы, заменяете на правильные значения из неё (или напрямую из справочника). 5 В полученной исходной таблице удаляете дубликаты названий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2008, 19:45 |
|
||
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
Кифирчик Спасибо вам за ответ. Но к сожалению , я неправильно сообщил , актуальные данные секретны и заказчик их не даст! Имеются только данные забитые тестировщиками и мне прийдется смоделировать ситуацию, а не реально ее разрешить с реальными данными:) зы В результате я должен получить ХП которыми администратор заказчика правильно конвертирует данные. Вот такая засада :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2008, 22:56 |
|
||
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
vitaliy14 wrote: > "Ульяновская область" или "Ульяновская обл-ть"?! > Какой критерий использовать like или полнотекстовый поиск для исключения > ошибок и потерь данных? Как правило, в таких случаях нужно проанализировать данные, применить несколько критериев поиска одинаковых данных, а потом еще и доправить то, что не удалось выправить автоматически, руками. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2008, 23:50 |
|
||
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
vitaliy14 wrote: > актуальные данные секретны и заказчик их не даст! Имеются только данные > забитые тестировщиками и мне прийдется смоделировать ситуацию, а не > реально ее разрешить с реальными данными:) > > зы В результате я должен получить ХП которыми администратор заказчика > правильно конвертирует данные. Вот такая засада :( Тогда пошли таких заказчиков подальше. Без шуток. БДА, который не имеет доступ к данным, не может сделать НИЧЕГО. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2008, 23:51 |
|
||
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
Сделайте идентификацию по нескольким первым символам (8-10-15). Но вручную править данные юзерам всеравно придется. Значит придется делать процедуру корректировки ИД новых таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2008, 09:10 |
|
||
|
Что делать с переносом данных
|
|||
|---|---|---|---|
|
#18+
vitaliy14Теперь у меня морока с написанием скриптов по импорту данных? Загвоздка в том, что я не знаю: что могли написать пользователи .. например - "Ульяновская область" или "Ульяновская обл-ть"?! Какой критерий использовать like или полнотекстовый поиск для исключения ошибок и потерь данных?А вы посмотрите все что навводили пользователи и потом решите что с этим делать. Код: plaintext 1. 2. как посмотрите на весь зоопарк, сразу наступит просветление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2008, 10:24 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1543703]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
198ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 546ms |

| 0 / 0 |
