Как сравнить данные между базой данных и руководством, которые имеют разную структуру? - PullRequest
0 голосов
/ 22 июня 2009

Довольно сложная проблема в обмене данными между базой данных и книжной формой:

Организация, в которой я работаю, имеет базу данных в mysql для всех общественных организаций в Брюсселе, Бельгия. В то же время в Indesign был создан буклет, который был разработан в другое время и с другими людьми, нежели база данных, и, следовательно, имеет другую структуру.

Каждый год издается новая книга, и данные необходимо сравнивать вручную из-за этой разницы в структуре. Книга меняет свой способ отображения записей в соответствии с необходимостью главы. Было бы полезно иметь кроссплатформенный инструмент поиска и изменения, лучше всего не с одним ключевым словом, а со всеми соответствующими данными для записи в книге.

Пример записи в буклете:

BESCHUTTE WERKPLAATS BOUCHOUT Neromstraat 26 • 1861 Wolvertem • Тел 02-272 42 80 • Факс 02-269 85 03 • Gsm 0484-101 484 Электронная почта info@bwbouchout.be • Веб-сайт www.bwbouchout.be Werkdagen: 8u - 16u30, vrijdag tot 14u45. Personen встретил een fysieke en / of verstandelijke для инвалидов. Ook psychiatrische Patiennten En Mensen встретил инвалидность. Capaciteit: 180 tewerkstellingsplaatsen.

Проблема: номер переносного телефона записывается в другом формате, как в базе данных. База данных скажет: 0484 10 14 84 Книга говорит: 0484-101 484

Время открытия сформулировано совершенно по-разному, но некоторые из них похожи.

Существуют ли инструменты, которые облегчили бы жизнь? Инструменты, в которых вы сможете найти похожие данные, например: аналогичный поиск данных для Excel , но затем кроссплатформенный и с большими возможностями? Я считаю, что большинство программ обмена данными работают очень «в одну сторону для каждой записи». Есть ли более гибкая программа?

Для ясности: мне нужно сравнивать данные, а не генерировать данные из базы данных.

Это может означать экономию времени, денег и напряжения глаз. Спасибо,

Эрик Виллекенс

Ответы [ 2 ]

1 голос
/ 22 июня 2009

Эрик

Конкретную проблему сравнения двух телефонных номеров, отформатированных по-разному, относительно легко решить, удалив все нечисловые символы.

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

Реально это невозможно без наличия очень четко определенных правил форматирования. Например, форматирование названия организации, вероятно, очень важно, тогда как форматирование номера телефона - нет.

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

0 голосов
/ 23 июня 2009

Одним из возможных решений является сохранение информации о буклете для каждой записи в вашей базе данных вместе с правильно отформатированными. Это позволяет вам выполнить ручное преобразование один раз для всего буклета, а затем каждый последующий год - просто сравнить новые значения буклета со старыми значениями буклета, хранящимися в БД.

Пример может сделать это более понятным. Представьте, что у вас есть очень простая запись:

Org Name    Booklet Org Name  GSM            Booklet GSM
--------    ----------------  ---            -----------
BESCHUTTE   BESCHUTTE WERKP   0484 10 14 84  0484-101 484

Когда вы получите буклет следующего года, тогда, пока номер GSM в новом буклете все еще говорит 0484-101 484, вам не придется беспокоиться о преобразовании его в формат базы данных, а затем проверять, изменился ли он .

Это не будет хорошим подходом, если большая часть деталей в буклете меняется каждый год

...