Методы и алгоритмы трансляции естественно-языковых запросов к базе данных в SQL-запросы. Найханова Л.В - 77 стр.

UptoLike

77
Обязательная часть оператора соответствует наиболее простому варианту запроса.
При её построении необходимо сформировать список выводимых идентификаторов
столбцов (select_list) и список идентификаторов таблиц (table_source), в которые входят
выводимые столбцы. Однако чаще встречается оператор SELECT, обладающий
следующим синтаксисом:
SELECT select_list
FROM table_source
WHERE search_condition
В этом случае необходимо сформировать условную и объектную части SQL-запроса.
Объектную часть составляют ключевые слова «SELECT» со списком выводимых
идентификаторов столбцов (select_list) и «From» со списком идентификаторов таблиц
(table_source), в которые входят выводимые столбцы. В условную часть запроса входят
ключевое слово WHERE и фильтр (search_condition) отбора объектов, принадлежащих
select_list.
Рассмотрим метод формирования объектной и условной частей.
Формирование объектной части. Select_list ключевого слова «SELECT» включает в
себя атрибуты таблиц, соответствующих вершинам графа
G
, имеющие характеристические
признаки. В случае, когда таблица имеет валентные атрибуты, то необходимо осуществить
отбор характеристических атрибутов таблиц графа
G , в которых валентные атрибуты
являются дифференциальными.
В список table_source включаются все без исключения таблицы, содержащиеся в
вершинах графа
G
и элементах кортежа вектора τ.
Формирование условной части. Условная часть запроса search_condition может
включать два типа фильтра. Первый связан с отображением связи добавленных вершин,
второйс отображением условий, заданных в запросе, например, х>5, хатрибут базы
данных, а «5» - его значение.
Первый тип формируется на основе анализа графа
G
и элементов x
i4
вектора τ
i
,
приписанным к вершинам. Так как граф
G
и граф
G
~
гомеоморфны, то добавленные путем
разбиения некоторых дуг вершины составляют часть A(
G
), подграфы графа
G
, состоящие
из связанных между собой не добавленных вершин, изоморфны графу
G
~
. Таких частей
A(
G
) в графе
G
может быть несколько, т.е. они составляют множество подграфов
В={A
i
(
G
)| i=1..n, n-количество подграфов добавленных вершин}. Таким образом, задача
анализа состоит в поиске каждого A
i
(
G
) и формировании для него фильтра. Тогда
количество фильтров будет равно n.
Поиск осуществляется на основе анализа значения элемента x
i4
вектора τ
i
, если он
имеет значение «1», это означает, что вершина добавленная. Как только встретилась такая
вершина, необходимо сформировать первое условие i-того фильтра. Это условие на
равенство уточненных атрибутов базы данных. Уточненный атрибут состоит из
идентификатора атрибута, разделителя «точки» и идентификатора таблицы.
Идентификатор атрибута записан в элементе x
i2
вектора τ
i
. При этом слева записывается
атрибут вершины верхнего уровня, а справа - вершины нижнего уровня. Таких условий в i-
том фильтре может быть несколько. Количество зависит от мощности множества вершин
подграфа A
i
(
G
) и количества совпавших дифференциальных атрибутов рассматриваемых
таблиц.
      Обязательная часть оператора соответствует наиболее простому варианту запроса.
При её построении необходимо сформировать список выводимых идентификаторов
столбцов (select_list) и список идентификаторов таблиц (table_source), в которые входят
выводимые столбцы. Однако чаще встречается оператор              SELECT, обладающий
следующим синтаксисом:
      SELECT select_list
      FROM table_source
      WHERE search_condition
      В этом случае необходимо сформировать условную и объектную части SQL-запроса.
Объектную часть составляют ключевые слова «SELECT» со списком выводимых
идентификаторов столбцов (select_list) и «From» со списком идентификаторов таблиц
(table_source), в которые входят выводимые столбцы. В условную часть запроса входят
ключевое слово WHERE и фильтр (search_condition) отбора объектов, принадлежащих
select_list.
      Рассмотрим метод формирования объектной и условной частей.
      Формирование объектной части. Select_list ключевого слова «SELECT» включает в
себя атрибуты таблиц, соответствующих вершинам графа G , имеющие характеристические
признаки. В случае, когда таблица имеет валентные атрибуты, то необходимо осуществить
отбор характеристических атрибутов таблиц графа G , в которых валентные атрибуты
являются дифференциальными.
      В список table_source включаются все без исключения таблицы, содержащиеся в
вершинах графа G и элементах кортежа вектора τ.
      Формирование условной части. Условная часть запроса search_condition может
включать два типа фильтра. Первый связан с отображением связи добавленных вершин,
второй – с отображением условий, заданных в запросе, например, х>5, х – атрибут базы
данных, а «5» - его значение.
      Первый тип формируется на основе анализа графа G и элементов xi4 вектора τi,
                                                  ~
приписанным к вершинам. Так как граф G и граф G гомеоморфны, то добавленные путем
разбиения некоторых дуг вершины составляют часть A( G ), подграфы графа G , состоящие
                                                                        ~
из связанных между собой не добавленных вершин, изоморфны графу G . Таких частей
A( G ) в графе G может быть несколько, т.е. они составляют множество подграфов
В={Ai( G )| i=1..n, n-количество подграфов добавленных вершин}. Таким образом, задача
анализа состоит в поиске каждого Ai( G ) и формировании для него фильтра. Тогда
количество фильтров будет равно n.
      Поиск осуществляется на основе анализа значения элемента xi4 вектора τi, если он
имеет значение «1», это означает, что вершина добавленная. Как только встретилась такая
вершина, необходимо сформировать первое условие i-того фильтра. Это условие на
равенство уточненных атрибутов базы данных. Уточненный атрибут состоит из
идентификатора атрибута, разделителя «точки» и идентификатора таблицы.
Идентификатор атрибута записан в элементе xi2 вектора τi. При этом слева записывается
атрибут вершины верхнего уровня, а справа - вершины нижнего уровня. Таких условий в i-
том фильтре может быть несколько. Количество зависит от мощности множества вершин
подграфа Ai( G ) и количества совпавших дифференциальных атрибутов рассматриваемых
таблиц.
                                          77