Научная статья на тему 'Алгоритм генерации запросов SQL на основе запроса-образца'

Алгоритм генерации запросов SQL на основе запроса-образца Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
620
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕРАЦИЯ ЗАПРОСОВ / GENERATING QUERIES / SQL / ТАБЛИЦЫ ПРИНЯТИЯ РЕШЕНИЙ / DECISION TABLES / БАЗЫ ДАННЫХ / DATABASES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Привал Данил Андреевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Алгоритм генерации запросов SQL на основе запроса-образца»

Образовательные сайты, имеют более широкое распространение. Использование такого вида образовательных ресурсов позволяет затрагивать различные стороны дистанционного обучения, в частности обеспечивается более глубокое понимание темы. Однако, многие сайты в области инженерного образования имеют недостатки, в частности: не имеют структурированный интерфейс предоставления информации, в большинстве из них отсутствует навигационное меню [4].

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

Использование ЭОР в образовательном процессе позволяет более детально изучить учебный материал, а обширный иллюстративный материал позволяет наглядно демонстрировать представленную информацию, что определяет целесообразность применения мультимедийных технологий [5].

В области технических наук в настоящее время растет интерес к методам обработки визуальной информации при помощи вычислительных средств и применения их в различных областях науки и техники. Выявляется проблема отсутствия качественного образовательного ресурса для исследования задач обработки и анализа изображений и видео, который отвечал бы требованиям разработки ЭОР. Следовательно, проблема эффективной работы с визуальной информацией является актуальной.

Литература

1. Мониторинг ЭОР. [Электронный ресурс]. Режим доступа: http://eor-np.ru/node/55.

2. Колин К. Информатизация образования: новые приоритеты [Текст] / Alma Mater, 2013, № 2. 16 с.

3. Кравченя Э. М. «Основы информатики, компьютерной графики и педагогические программные средства» / Э. М. Кравченя «Тетра-Систем», 2014. 350 с. С. 295-320.

4. Кудрявцев Л. Д. Математическое образование: тенденции и перспективы [Текст] / Л. Д. Кудрявцев, А. И. Кириллов, М. А. Бурковская, О. В. Зимина - Высшее образование сегодня, 2011. № 4. 20 с.

5. Алешкина О. В. Применение электронных учебников в образовательном процессе / О. В. Алешкина // Молодой ученый, 2012. № 11. С. 389-391.

Algorithm of generating SQL queries based on query sample Prival D. (Russian Federation) Алгоритм генерации запросов SQL на основе запроса-образца Привал Д. А. (Российская Федерация)

Привал Данил Андреевич /Prival Danil — бакалавр, студент магистратуры, кафедра математического моделирования, факультет компьютерных технологий и прикладной математики, Кубанский государственный университет, г. Краснодар

Аннотация: в статье описывается первичное приближение алгоритма, решения задачи автоматизированной генерации запросов SQL на основе запроса-образца, являющейся подзадачей генерации тестовых примеров для проверки знаний языка запросов SQL.

Abstract: this article describes primary approximation of the automated generation problem solution of the SQL based sampling algorithm. This task is subtask of tasks for generation SQL tests.

Ключевые слова: генерация запросов, SQL, таблицы принятия решений, базы данных. Keywords: generating queries, SQL, decision tables, databases.

Рассматривается задача генерации запросов SQL на основе запроса-образца. Данная задача является ключевой подзадачей генерации тестовых примеров для проверки знаний языка запросов SQL.

Ограничения: рассматриваются только SQL-инструкции для построения выборок [1] данных и только в базовом объеме синтаксиса, при построении правил автозамены не вводится семантическое расстояние.

Составлена следующая совокупность признаков для автоматической замены элементов запроса: фраза запроса, наличие DISTINCT, функция, операндом которой является элемент, тип совокупных операндов элемента, является ли элемент псевдостолбцом, является ли элемент константой, тип элемента, содержит ли элемент значения NULL, наложено ли на элемент ограничение целостности

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

Продукция строится при помощи следующих вспомогательных символов: «&» — конъюнкция атомарных признаков, «|» — дизъюнкция атомарных признаков, «_» — пустое значение всех признаков, «||» — дизъюнкция совокупных признаков, «^» — необязательное правило (нарушение влечет к вырожденному примеру), «*» — обязательное правило (нарушение правила влечет синтаксическую ошибку).

Для всех признаков, кроме, связанных с применяемой функцией, если признак опущен, значит подходит любое его значение [2]. Если не указан признак функции или совокупных операндов, считаем, что они отсутствуют.

Построенные продукции: S || DISTINCT || Функция (is NULL) || Функция (преобразование регистра) || Функция (манипулирование символами) || Функция (to_char) || Функция (in | like) || O || Функция (CASE | DECODE) || Функция (общего назначения) || G || Функция (MIN |MAX | COUNT) * _; (Number | date) & Функция (арифметическая функция) & o_number || Функция (ROUND | TRUNC) * Number||Date; Number & арифметическая функция & o_date || Функция (арифметические операторы сравнения | between_and) & o_number || Функция (MOD) || Функция (SUM | AVG) * Number; Функция (арифметические операторы сравнения | between_and) & o_date || Функция (MONTH_BETWEEN | ADD_MONTH | NEXT_DAY | LAST_DAY) * Date; Функция (арифметические операторы сравнения | between_and) & o_char * Char; DISTINCT ^ not unique; W & Функция (оператор IS NULL) ^ NULL; Функция (преобразование регистра символов) ^ char; Функция (манипулирование символами (кроме конкатенации)) ^ char | date; Функция (TO_CHAR) ^ number | date; Функция (TO_NUMBER, TO_DATE) ^ char; Функция (общего назначения) ^ NULL; Функция (групповые (SUM, AVG)) ^ number & NOT NULL | number & NULL & Функция (общего назначения); G ^ NOT UNIQUE; Функция (оператор соединения таблиц) ^ FK.

Для автоматического разбора текста запроса SQL, предполагается использовать механизм таблиц принятия решений:

Таблица 1. Механизм принятия решений

Условия Варианты выполнения условий

Действия Необходимость действий

Присутствует соединение Y N

Переход на таблицу 2 X X

Разбиваем запрос на несколько, ранее соединенных. По дальнейшему пути идет каждый по отдельности. При дальнейшем рассмотрении для каждого из них учитывать ограничение: в каждом запросе количество столбцов во всех запросах должно совпадать (если не совпадает, дополнить фиктивными столбцами), также не должен отличаться порядок типов. X X X X

Добавлена возможность генерации: «Смена типа соединения» X X

Таблица 2. Особенности структуры запроса, соединение запросов

Присутствуют подзапросы Y N

Переход на таблицу 4 X

Переход на таблицу 3 X

Выделяем все подзапросы, проходим дальнейший путь с каждым по отдельности, затем с внешним запросом X

Таблица 3. Особенности структуры запроса, подзапросы

Коррелированный? Y N

Переход на таблицу 2 X X

Добавлено ограничение: соответствие столбцов из условия подзапроса внешнему запросу X

Добавлено ограничение: тип возвращаемых подзапросом значений X X

Добавлено ограничение: количество возвращаемых подзапросом строк (однострочный, многострочный) X X

Присутствует соединение таблиц Y N

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

Добавлено ограничение: соответствие столбцов в условии соединения соединяемым таблицам X

Таким образом, можно сформулировать общий алгоритм генерации запросов SQL на основе текста запроса-образца.

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

Разобрать запрос на составные части, простейшие запросы, получая по ходу разбора дополнительные ограничения.

Произвести классификацию элементов запроса в соответствии с приведенными признаками, значения которых получаются на основе запроса.

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

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

Литература

1. Моисенко Сергей. SQL Задачи и решения. [Электронный ресурс]: SQL. URL: http://www.sql-tutorial.ru/ru/content.html. (дата обращения: 31.05.2016).

2. Астахова И. Ф., Толстобров А. П., Мельников В. М. SQL в примерах и задачах. Мн.: Новое знание, 2002. 176 с.

Construction project management and risk management Kaab M. (Russian Federation) Управление строительными проектами и управление рисками Кааб М. А. (Российская Федерация)

Кааб Мохаммед Ажми Дшабер /Kaab Mohammed - бакалавр гражданского строительства,

Инженерно-строительный институт, Санкт-Петербургский государственный политехнический университет, г. Санкт-Петербург

Abstract: present article is devoted to some questions of project and risk of management. Construction industries are exposed to wide array of risks, such as financial, design, and contractual ones, which might have a direct impact on their performance toward achieving the desired objectives. Risk Management is a proactive decision-making process used to minimize and manage the risks in the most efficient and appropriate manner.

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

Keywords: construction Project Management, Risk Management, construction projects, construction project management methodologies.

Ключевые слова: строительство, управление проектами, управление рисками, проекты строительства методологии управления строительного проекта.

i Надоели баннеры? Вы всегда можете отключить рекламу.