Matching data between electronic documents and database tables with automated SQL-query generation
The paper describes a method of automated generation of SQL-queries to making data relevant electronic documents and relational database tables for actualization the information space organization. Method which describe in this paper allows considerably to shorten the number of hand operations of cr...
Saved in:
| Date: | 2025 |
|---|---|
| Main Author: | |
| Format: | Article |
| Language: | Russian |
| Published: |
PROBLEMS IN PROGRAMMING
2025
|
| Subjects: | |
| Online Access: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/707 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Problems in programming |
| Download file: | |
Institution
Problems in programming| id |
pp_isofts_kiev_ua-article-707 |
|---|---|
| record_format |
ojs |
| resource_txt_mv |
ppisoftskievua/00/cc6836a3bd3afcf05a5ba394056b1e00.pdf |
| spelling |
pp_isofts_kiev_ua-article-7072025-04-09T22:22:32Z Matching data between electronic documents and database tables with automated SQL-query generation Генерация SQL-запросов в задаче согласования данных электронного документа и таблиц базы данных Marulin, S.Yu. UDC 004.043 УДК 004.043 The paper describes a method of automated generation of SQL-queries to making data relevant electronic documents and relational database tables for actualization the information space organization. Method which describe in this paper allows considerably to shorten the number of hand operations of creation SQL-query.Prombles in programming 2014; 2-3: 160-165 В работе описывается методика автоматизированной генерации SQL-запросов, позволяющих согласовывать данные электронных документов и соответствующих таблиц реляционной базы данных с целью актуализации информационного пространства организации. Методика представленная в работе позволяет значительно сократить число ручных операций создания SQL-запросов.Prombles in programming 2014; 2-3: 160-165 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2025-04-09 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/707 PROBLEMS IN PROGRAMMING; No 2-3 (2014); 160-165 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2-3 (2014); 160-165 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2-3 (2014); 160-165 1727-4907 ru https://pp.isofts.kiev.ua/index.php/ojs1/article/view/707/759 Copyright (c) 2025 PROBLEMS IN PROGRAMMING |
| institution |
Problems in programming |
| baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| datestamp_date |
2025-04-09T22:22:32Z |
| collection |
OJS |
| language |
Russian |
| topic |
UDC 004.043 |
| spellingShingle |
UDC 004.043 Marulin, S.Yu. Matching data between electronic documents and database tables with automated SQL-query generation |
| topic_facet |
UDC 004.043 УДК 004.043 |
| format |
Article |
| author |
Marulin, S.Yu. |
| author_facet |
Marulin, S.Yu. |
| author_sort |
Marulin, S.Yu. |
| title |
Matching data between electronic documents and database tables with automated SQL-query generation |
| title_short |
Matching data between electronic documents and database tables with automated SQL-query generation |
| title_full |
Matching data between electronic documents and database tables with automated SQL-query generation |
| title_fullStr |
Matching data between electronic documents and database tables with automated SQL-query generation |
| title_full_unstemmed |
Matching data between electronic documents and database tables with automated SQL-query generation |
| title_sort |
matching data between electronic documents and database tables with automated sql-query generation |
| title_alt |
Генерация SQL-запросов в задаче согласования данных электронного документа и таблиц базы данных |
| description |
The paper describes a method of automated generation of SQL-queries to making data relevant electronic documents and relational database tables for actualization the information space organization. Method which describe in this paper allows considerably to shorten the number of hand operations of creation SQL-query.Prombles in programming 2014; 2-3: 160-165 |
| publisher |
PROBLEMS IN PROGRAMMING |
| publishDate |
2025 |
| url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/707 |
| work_keys_str_mv |
AT marulinsyu matchingdatabetweenelectronicdocumentsanddatabasetableswithautomatedsqlquerygeneration AT marulinsyu generaciâsqlzaprosovvzadačesoglasovaniâdannyhélektronnogodokumentaitablicbazydannyh |
| first_indexed |
2025-07-17T09:37:19Z |
| last_indexed |
2025-07-17T09:37:19Z |
| _version_ |
1850412964167811072 |
| fulltext |
Моделі і засоби систем баз даних і знань
© С.Ю. Марулин, 2014
160 ISSN 1727-4907. Проблеми програмування. 2014. № 2–3. Спеціальний випуск
УДК 004.043
ГЕНЕРАЦИЯ SQL-ЗАПРОСОВ В ЗАДАЧЕ
СОГЛАСОВАНИЯ ДАННЫХ ЭЛЕКТРОННОГО ДОКУМЕНТА
И ТАБЛИЦ БАЗЫ ДАННЫХ
С.Ю. Марулин
Одесский национальный политехнический университет
65044, Одесса, проспект Шевченко, 1.
Тел. 8 (048) 779 7566
stasfoot@mail.ru
В работе описывается методика автоматизированной генерации SQL-запросов, позволяющих согласовывать данные электронных
документов и соответствующих таблиц реляционной базы данных с целью актуализации информационного пространства организа-
ции. Методика представленная в работе позволяет значительно сократить число ручных операций создания SQL-запросов.
The paper describes a method of automated generation of SQL-queries to making data relevant electronic documents and relational database
tables for actualization the information space organization. Method which describe in this paper allows considerably to shorten the number of
hand operations of creation SQL-query.
Введение
Для связанной и эффективной роботы всех структурных подразделений большой организации, которая
использует информационную систему (ИС) для поддержки производственных процессов, необходимо решать
задачу согласования разнородных структур данных с единым хранилищем – базой данных (БД). В основном вся
информация уже хранится в виде электронных документов (ЭД) различных форматов и чем быстрее исходные
данные из ЭД будут перенесены в БД, тем эффективнее будет управление. Такой процесс согласования называ-
ется schema matching (SM) [1] и позволяет установить однозначные информационные потоки между ЭД и БД
ИС.
Обеспечить процесс согласования данных из разных источников можно с использованием ETL-
технологии [2], который включает три этапа: извлечение – Extract, преобразования – Transform и загрузку –
Load данных, показанных на рис. 1.
Електронні
документи
формату
*.doc, *.xls
Електронні
документи
формату
*.doc, *.xls
Электронные
документы
MS Office,
OOffice
БД Отдела
кадров
БД
Пользователей
БД ……...
БД
Администрация
Б
И
З
Н
Е
С
П
Р
И
Л
О
Ж
Е
Н
И
Я
ИЗВЛЕЧЕНИЕ
ИЗВЛЕЧЕНИЕ
Промежуточная БД
Платформа преобразования
данных
ETL сервер
ИЗВЛЕЧЕНИЕ
ЗАГРУЗКА
ЗАГРУЗКА
ЗАГРУЗКА
БД
ИНФОРМАЦИОННОЙ
СИСТЕМЫ
ПРЕОБРАЗОВАНИЕ
ПРЕОБРАЗОВАНИЕ
Електронні
документи
формату
*.doc, *.xls
Електронні
документи
формату
*.doc, *.xls
Электронные
документы
*.*
S
C
H
E
M
A
M
A
T
C
H
IN
G
Рис. 1. Типичная схема ETL процесса большой организации
В работе [3] представлена ETL технология переноса содержимого ЭД в БД, где согласование структуры
ЭД и таблиц БД осуществляется через создание модифицированной объектной модели ЭД с учетом словаря
предметной области (СПО) и словаря БД (СБД). Однако, представленная ETL технология не реализует этап
SM, поэтому цель работы – создание связи между ЕД и БД в виде SQL-запросов, автоматизирующей процесс
согласования ЭД и БД.
Задачу SM необходимо решать при переходе из этапа преобразования к этапу загрузки (рис. 1), исполь-
зуя алгоритмы SM, представленные в работе [1]. Наиболее распространенным является синтаксический подход,
основанный на вероятности совпадении названий – алгоритмы Левенштейна, N-грамм, SoundEx. Наряду с син-
mailto:stasfoot@mail.ru
Моделі і засоби систем баз даних і знань
161
таксисом в схемах данных используется семантическая составляющая (формат и типы данных, допустимые
значения) а также терминологические отношения (синонимы, гиперонимы, гипонимы), что требует использо-
вание дополнительных структур (словари, онтологии). При структурном подходе к согласованию используются
графовые алгоритмы [4], учитывающие взаимное расположение элементов в схемах данных. Оптимальным
подходом считается комбинированный алгоритм [1]. Однако предложенные подходы не учитывают конкретные
условия (предметную область) в которых выполняется процедура согласования и которые значительно влияют
как на сам процесс согласования, так и на выявление точек согласования.
Объектная метамодель ЭД
Таким образом, точкой согласования со стороны системы электронного документооборота является ин-
формация ЭД, а со стороны БД модели SQL-запросов четырех типов: insert, select, update, delete.
Предложено представлять любой ЭД табличной структуры в виде объектной метамодели – ОМЭД моде-
ли. ОМЭД модель представлена в виде объединения двух элементов, образующих множество узлов:
ОМЭД=head∪body= in ,
где head – заголовочная часть ЭД; body – содержательная часть ЭД; in – объект ОМЭД. Под объектом следует
понимать информационную область (ИО), которая в исходном ЭД имеет вид объединенных ячеек или вид яче-
ек границы которых определяются наличием линий разграфки. Каждый объект ОМЭД характеризуется корте-
жем характеристик:
mlixvnpnni ,,,,, ,
где pn – номер узла родителя; n – номер узла; v – значение узла; ix – индекс значения узла v в словаре пред-
метной области (СПО); l – уровень схожести значения узла v с эталоном в СПО; 3,2,1,0m – метка при-
надлежности узла v к определенному типу ( 2,1,0 – статический, критериальный, динамический тип, соответ-
ственно).
В дальнейшем метка принадлежности узла ЭД к определенному типу позволяет устанавливать соответ-
ствия между блоками данных в ЭД и генерируемыми SQL-запросами.
Определение структурной зависимости ИО ОМЭД-модели
Для восстановления структуры ЭД появляется необходимость в обнаружении зависимости ИО одна от
другой (1).
npnnpn OIOIOIOI . (1)
Для определения такой зависимости разработана функция – GetParentNode:
GPN (inRange As Range, compRange As Range).
Функция, в качестве входного параметра, принимает массив координат 2,2,1,1 yxyx всех ячеек, кото-
рые образовывают ИО и их порядковый номер n и значение координат iiii yxyx 2,2,1,1 текущей ячейки и ее
порядковый номер in .
Функция GPN возвращает значение порядкового номера родительской ИО – pn , а в случае если такого
значения не найдено возвращает 0. Значение 0pnИО свидетельствует о зависимости nИО от самого ЭД. В
табл. 1 показано результат работы функции GPN.
Таблица 1. Значения зависимости дочерней и родительской ИО
Значение информационной области n 1y 1x 2y 2x pn
форма 1 1 9 1 9 0
c-21 2 1 10 1 10 0
навчальний рік 5 5 1 5 1 4
семестр 7 5 9 5 9 0
напрям підготовки 8 6 1 6 1 5
курс 10 6 9 6 9 7
группа 13 7 9 7 9 10
ас091 14 7 10 7 10 11
відомість обліку успішності № 15 9 3 9 3 0
дисципліна 17 10 1 10 1 0
Для определения значений показателей уровня схожести и индекса лексем ОМЭД-модели разработано
три функции: FuzzyMATCH, GetIndex, MaxFuzzu .
Моделі і засоби систем баз даних і знань
162
Функция FuzzyMATCH – использует методику нечеткого сравнения двух лексем [5] и возвращает коэф-
фициент совпадения в диапазоне от 0 до 1, где 0 – лексемы полностью не совпадают, 1 – лексемы совпадают на
100%.
Функция MaxFuzzy – возвращает максимальный коэффициент совпадения двух лексем. З целью опреде-
ления максимального коэффициента текущая лексема сравнивается со всеми лексемами в СПО. Определение
максимального коэффициента должно удовлетворять (2).
..,... ji wСПОvОМЭДMaxFuzzulОМЭДvОМЭД (2)
Функция GetIndex – возвращает значение индекса лексемы из СПО уровень схожести которой макси-
мальный с лексемой из ОМЭД-модели ЭД (3).
..,... ji wСПОvОМЭДMaxFuzzuGetIndexixОМЭДvОМЭД (3)
В табл. 2 представлен пример показателей созданной ОМЭД-модели ЭД.
Таблица 2. Значение показателей ОМЭД-модели ЭД
vОМЭД. nОМЭД. pnОМЭД. ixОМЭД. lОМЭД.
форма 1 0 56 0,55
c-21 2 0 56 0,40
інститут комп'ютерних систем 4 0 22 1,00
навчальний рік 5 4 32 1,00
семестр 7 0 51 1,00
напрям підготовки 8 5 35 1,00
6050103 9 6 1 0,04
курс 10 7 29 1,00
группа 13 10 12 1,00
ас091 14 11 52 0,13
відомість обліку успішності № 15 0 37 0,80
1282 16 0 3 0,10
дисципліна 17 0 15 1,00
Типы блоков данных ЭД и правила их разметки
Статический тип данных (S) (4) – данные, которые постоянно присутствуют в ЭД и определяются на ос-
новании эталонных фраз из СПО:
СПОЭД S ~)(
. (4)
Представим правила разметки узлов ОМЭД в терминах кванторов существования.
Правило № 1. mОМЭД. СПО 1. mОМЭД , где 1 – статический узел ЕД.
Словесное описание алгоритма:
в цикле по всем узлам ОМЭД-модели ЭД определить наличие значение узла в СПО;
если сходство найдено, то пометить узел как статический, иначе перейти к следующему узлу.
СПО имеет вид множества значений, каждое из которых характеризует одну запись предметной области –
}{ ivocVoc= Voc={voci}, где dbrixntrimwwvoci ,,,, ,
где w – эталонная лексема для сравнения; mw – возможные варианты написания лексемы; intr – интерпрета-
ция лексемы; ix – индекс лексемы в словаре; dbr – связь лексемы с таблицами в БД. dbldbsdbr , – сло-
варь БД (СБД), множество записей, которые описывают связь таблиц одна с другой в БД ИС. dbs = {<r, a, t,
v>} – множество кортежей, которые ставят в соответствие узел ЭД in таблицу r, атрибут таблицы a и значение
v, t∈{vh, int, dt} – тип атрибута: строковый, число и дата соответственно; 2,1,2,1 aattdbl – множество
кортежей, которые определяют связь атрибута 1a таблицы 1t с атрибутом 2a таблицы 2t .
Динамический тип данных (D) (5) – данные образующие регулярные структуры в ЭД соответствующих
статических полей. Динамические данные определяют SQL-запрос типа update, delete:
),,(ЭД )()( СПОСВДЭДf SD . (5)
Динамические узлы, дерева ЭД, образовывают регулярные структуры – Regular.
Моделі і засоби систем баз даних і знань
163
Regular – это структура, образованная появлением в ЭД ряда однотипных значений, которые принадле-
жат к значениям из СБД, между каждой парой которых нет отличных значении. Пример регулярной структуры
показан на рис. 2.
Рис. 2. Пример регулярной структуры в ЭД
В последствии регулярные структуры сливаются в одно шаблонное значение.
Правило № 2. ∀ОМЭД.m ∉ СПО∧∀ОМЭД.m ∈ Regular→ОМЭД.m=3, где 3– динамический узел ЕД.
Словесное описание алгоритма:
для всех не помеченных узлов ОМЭД-модели ЭД выполнить поиск значений, которые отвечают значе-
ниям из СБД;
для найденных узлов ОМЭД-модели выполнить поиск регулярных структур.
Для поиска регулярности необходимо сравнивать значения, таблицы и поля двух соседних улов ОМЭД-
модели ЕД:
ОМЭД. iv СБД. jv and ОМЭД. nv СБД. kv and СБД. jc = СБД. kc and СБД. jt = СБД. kt ,
где nv – соседнее значение iv . Под соседним значением следует понимать узел ОМЭД-модели, который стоит
правее или ниже узла iv (рис. 3).
v
vi vn
vn
Рис. 3. Определение соседства узлов дерева электронного документа
Критериальный тип данных (С) (6) – задают ограничения на набор данных в ЭД и определяются на осно-
вании СБД и СПО. Критериальные данные отображаются в качестве условий на выборку после фразы where в
SQL-запросах типа select:
).,()( СПОСБДfЭД С (6)
Правило № 3. ∀ОМЭД.m ∉СПО∧∀ОМЭД.m ∉ Regular∧∀ОМЭД.m ∈СБД→ОМЭД.m=2, где 2– критериаль-
ный узел ЕД. Пример раскраски данных ЭД показан на рис. 4, а.
а – разбиение данных ЭД на три типа
Моделі і засоби систем баз даних і знань
164
б – замена блоков данных условными обозначениями
Рис. 4. Разметка блоков данных электронного документа табличной структуры
Словесное описание алгоритма:
для всех оставшихся не помеченных узлов ОМЭД-модели ЭД выполнить поиск значений, которые
отвечают значениям из СБД;
для всех найденных узлов ОМЭД-модели ЭД выполнить поиск узлов, которые не принадлежат
Regular;
все найденные узлы пометить как критериальные.
Генерация SQL-запросов
После разметки ЭД критериальные и динамические данные изменяются на условные переменные типа
“$Name”, где Name – имя условной переменной (рис. 4, б). Name формируется по правилу: в СБД ищется зна-
чение, соответствующее значению в текущем узле ЭД. Таблица и поле найденного значения подставляются в
качестве значения Name:
(∀ОМЭД.m=2∧∀ОМЭД.m=3)∃СБД.dbr.db.r , где ОМЭД.v=СБД.dbr.dbl.v.
Алгоритм генерации SQL-запроса типа Select.
SQL-запроса типа Select представлено как кортеж из трёх элементов:
SQL=<Sl, F, W>,
где Sl= }{ ia – множество атрибутов фразы select; F= }{ it – множество таблиц фразы from; W= }{ iw – множе-
ство условий фразы where.
1. Генерация выражения Sl. Для всех n, где n.m=1, сформировать фразу Select, где каждый атрибут Sl ра-
вен атрибуту dbs.a словаря Voc каждого in , который является наследником текущего n:
Select{ai=voc.dbr.dbs.aj}.
2. Генерация выражения F. Для всех n, де n.m=1, сформировать выражение from, где каждый атрибут F
равен dbs.r словаря Voc каждый узел in , который является наследником текущего n:
from{ai= voc.dbr.dbs.rj}.
3. Генерация выражения W. Для всех n, где n.m=1, сформировать фразу where, где каждый атрибут W,
формируется как ответ функцию path(dbd)+ условие. Условие сформировано для каждого текущего узла in , для
которого название атрибута ia равно названию соответствующего атрибута из Voc:ai=voci.dbs.a, а значение ia
равно конкретному значению узла vni . :
where{path(dbr)+ ia = }.vni .
4. Сборка целостного SQL-запроса:
Select{ ia =voc.dbr.dbs. ja }||from{ ia =voc.dbr.dbs. jr }||where{path(dbr)+ ia = }..vni
Пример сгенерированного SQL-запроса типа select для критериального типа данных:
“select groupName from tableOfGroupName, tableOfStudyYear, tableOfCode, tableOfCourse where
studyYear='$studyYear' and code='$code' and course='$course' +‘and’+ PATH(tableOfGroupName,
tableOfStudyYear) + ‘and’ + PATH(tableOfGroupName, tableOfCode) +‘and’+ PATH(tableOfGroupName,
tableOfCourse)”.
Моделі і засоби систем баз даних і знань
165
Функция PATH jiji tttt ,...,),( – выполняет поиск кратчайшего пути между таблицей it и таблицей
jt на основе алгоритма Дейкстры [6].
Пример сгенерированного SQL-запроса типа update для динамического типа данных:
“update tableOfVedomost_marks set studMark ='$studMark' where stNum=$stNum and studName=$studName”
+‘and’+ PATH(tableOfVedomost_marks,tableOfstNum) +‘and’+ PATH(tableOfVedomost_marks, tableOfstudName)”
Для определения количества операций автоматизированного создания SQL-запросов предложена ком-
плексная методика определения этого количества, учитывающая не только этапы непосредственного создания
запросов но предварительные этапы подготовки к процессу генерации.
Методика определения количества операций автоматизированного создания SQL-запросов
Для создания SQL-запросов администратору системы, выполняющего объединения двух информацион-
ных пространств – ЭД и таблиц БД информационной системы необходимо владеть знаниями в той предметной
области, для которой создается запрос, а также знать структуру таблиц, которые обеспечивают обмен данными
между конкретными ЭД и таблицами БД.
Таким образом, необходимо выполнять следующие операции:
анализ структуры и содержание ЭД, с целью определения типов данных. Число операций (| ЭДO |) за-
висит от количества найденных отдельных блоков динамического, критериального и статического типа;
поиск регулярности и объединение данных. Число операций (| egRO |) зависит от содержимого ЭД и
количества блоков данных, которые образовывают регулярные структуры в ЭД;
анализ зависимых таблиц БД информационной системы. Число операций (| ExtO |) зависит от числа
таблиц, обслуживающих конкретный тип ЭД;
сопоставление данных ЭД и таблиц БД. Число операций (| MatchO |) равно числу связей между табли-
цами БД и ЭД (количество SQL-запросов).
Расчет количества операций автоматизированного создания SQL-запросов предложено высчитывать по
формуле:
.загO = | ЭДO |+| egRO |+| ExtO |+| MatchO |,
где .загO – общее число операций, которое выполняется при генерации SQL-запросов.
Выводы
Предложенный подход автоматизированной генерации SQL-запросов был протестирован на смеси из 21
класса ЭД трех предметных областей и показал сокращение числа ручных операций согласования структур ЭД
и таблиц БД на основе SQL-запросов в 9 раз.
1. Rahm E., Bernstein P.A. A survey of approaches to automatic schema matching // VLDB Journal. – 2001. – N 10. – P. 334–350.
2. Vassiliadis P. A survey of extract-transform-load technology. International Journal of Data Warehousing and Mining (IJDWM), 5(3):1-27,
2009.
3. Alexander A. Blazhko., Marulin Stanislav, Kalashnikova Victoria Data Exchange Technology Between Electronic documents and Relation
Databases [Text] // Procs of 6th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology
and Applications (IDAACS), September 15–17, 2011, Prague,Czech Republic. – P. 624–628.
4. Horst Bunke, Peter J. Dickinson, Miro Kraetzl. Theoretical and Algorithmic Framework for Hypergraph Matching. ICIAP 2005: 463–470.
5. Кунгурцев А.Б., Блажко А.А., Марулин С.Ю., Альсаффади Т.Д. Алгоритмы сравнения однофразних текстов в технологии переноса
содержимого электронных документов в реляционную БД [Текст] // Вестник Херсонского национального технического университета.
– 2007. – № 4(27). – С. 308–311.
6. Ибаа Сауд М.Р. Информационная технология управления доступом к базам данных корпоративной информационной системы ин-
струментальными средствами СУБД : дис. канд. тех. наук по информационным технологиям. – Одесский национальный политехниче-
ский университет. – Одесса, 2013. – 137 с.
|