Моделирование и анализ данных
2013. Том 3. № 1. С. 128–133
ISSN: 2219-3758 / 2311-9454 (online)
Интеллектуальная система проектирования SQL запросов, ориентированная на пользователей с ограниченными возможностями
Аннотация
Общая информация
Рубрика издания: Технологии разработки программного обеспечения
Тип материала: научная статья
Для цитаты: Балтрушайтис В.В. Интеллектуальная система проектирования SQL запросов, ориентированная на пользователей с ограниченными возможностями // Моделирование и анализ данных. 2013. Том 3. № 1. С. 128–133.
Полный текст
1. ВВЕДЕНИЕ
В последнее время значительное внимание уделяется созданию инструментальных средств, ориентированных на пользователей с ограниченными возможностями по зрению [1, 2, 3].
Частичное решение этой проблемы в плане создания средств автоматизированного проектирования SQL запросов предложено в работе [2]. Вариант решения этой проблемы предложен в такой системе, как ACCESS [4]. Но графический интерфейс, используемый при этом, непригоден для пользователей с ОВЗ.
Реализация предложенного метода с использованием базы знаний и аппарата логического вывода представлена в работе [3], эффективность такого подхода и позволяет определить пути его дальнейшего развития. В процессе реализации осуществлено автоматизированное проектирование только раздела FROM SQL запроса, но работы с пользователями выявили необходимость автоматизации проектирования структуры результата запроса.
2. МОДЕЛЬ БАЗЫ ДАННЫХ
В работе [1] предложена модель базы данных реляционного вида, ориентированная на представление не только данных, но и знаний. Принципиальным отличием этой модели от известной модели «сущность - связь» является наличие дополнительных категорий модели: отношения между сущностями (связи), набор связанных сущностей, а также название проекта запроса. В результате введения этих категорий в модель базы данных логического вида ее можно представить в виде четырех видов таблиц:
- наборов;
- отношений;
- сущностей;
- проектов.
Структуры этих таблиц имеют следующий вид.
Проект
Проект |
ИД набора |
Полное название проекта |
|
|
|
Наборы
ИД набора |
№ отношения |
ИД левой сущности |
ИД правой сущности |
Структура результата выполнения запроса |
|
|
|
|
|
Отношения
ИД левой сущности |
ИД правой сущности |
ИД поля 1 левой сущности |
ИД поля 2 левой сущности |
Операция реляционной алгебры (РА) |
ИД поля 1 правой сущности |
ИД поля 2 правой сущности |
|
|
|
|
|
|
|
Сущности
ИД сущности |
ИД поля |
|||||
ИДП1 |
ИДП2 |
ИДП3 |
ИДП4 |
|
ПР конец записи |
|
|
|
|
|
|
|
* |
3. МОДЕЛЬ БАЗЫ ЗНАНИЙ
В таблицах «Проект», «Наборы», «Отношения» размещена информация с правилами проектирования запросов, а в таблице «Сущность» — идентификаторы всех полей, им принадлежащих и используемых для организации интерфейса.
В модели предложено правила представлять в виде продукции следующего вида [5, 6]:
Правило 1:
Правило 2:
Правило 3:
Текстовое изложение этих правил дает более детальное представление о выполняемых действиях:
Правило 1.
Если существует некоторая сущность S с идентификатором ISl из которой необходимо выбрать записи по условию или без него, а ISp = NULL, то выполнить присоединяемую процедуру SELECT (ISl).
Правило 2.
Если существует некоторый набор отношений с идентификатором IN, в котором определены идентификаытор левой сущностей, то выполнить присоединяемую процедуру JOIN с циклической обработкой всего набора отношений в диапазоне от первого до последнего (NR).
Правило 3.
Если существует некоторый набор сущностей одинаковой структуры с идентификатором IN, в котором идентификатор правой сущности равен ПУСТО, то выполнить присоединенную процедуру UNIX для всех сущностей заданного набора.
4. АЛГОРИТМ ВЫВОДА РЕШЕНИЙ
Алгоритмы вывода решений базируются на следующих основных положениях.
- Информационная часть правил размещена в четырех таблицах БД («Проекты», «Наборы», «Отношения», «Сущности»).
- Операторная часть правил размещена в присоединенных процедурах.
В процессе вывода решений необходимо:
- по заданному идентификатору проектируемого документа найти набор отношений обработки, выполнение которого приведет к решению;
- по заданному идентификатору документа определить тип и структуру проектируемого запроса и выполнить проектирование структуры документа (состав полей);
- по заданным идентификаторам связываемых сущностей найти условия соединения сущностей и осуществить проектирование раздела FROM со всеми его структурными компонентами (идентификаторами сущностей, операциями реляционной алгебры и условиями соединения таблиц);
- выполнить проекты множества запросов SELECT с последующим их объединением с помощью операторов UNION.
В качестве основного механизма вывода используется алгоритм прямого вывода в ширину:
- по заданному ключу связи между сущностями условия их соединения;
- по заданному составному ключу набора отношений и идентификатора сущности, а также полей, выбираемых из этой сущности в результат.
Найденное решение во всех случаях является окончательным и единственным. Количество проходов выполняется в цикле проектирования запроса, равно количеству соединяемых или объединяемых таблиц, уменьшенному на единицу.
5. ПРИМЕР РЕАЛИЗАЦИИ ПРЕДЛОЖЕННОЙ МОДЕЛИ И АЛГОРИТМА ПРОЕКТИРОВАНИЯ ЗАПРОСА
Все сказанное проиллюстрируем примером логической базы данных (БД) (рис. 1).
Рис.1. Фрагмент базы данных системы психологического тестирования ПСИ.
На рисунке представлен фрагмент базы данных системы психологического тестирования ПСИ, состоящий из двух структурных компонентов:
1) базы данных с результатами тестирования;
2) базы знаний, используемой для обработки результатов тестирования [7].
К первой части относятся таблицы БД:
<TEST_PR>, <SCAL>, <PRAVILA>, <PR_ZAGR>.
Ко второй части таблицы - <PROECT>, <SET>, <RELATION>, <ENTITY>.
Вторая часть представляет собой Мета-данные и содержат факты и правила, необходимые для решения основной задачи системы - обработки результатов тестирования.
В приведенном фрагменте базы данных содержится следующая информация
1. таблица <TEST_PR>:
- полное название теста - NAIME,
- идентификатор теста - IDTEST,
- программная структура, используемая при обработке этого теста - IDSTR;
2. таблица <SCAL>:
- идентификатор программной структуры - IDSTR,
- идентификатор элемента - IDEL,
- идентификатор шкалы - IDSC,
- формат элемента - FORMAT;
3. таблица <PRAVILA>:
- идентификатор теста - IDTEST,
- идентификатор правила - IDPRAV,
- идентификатор шкалы - IDSC,
- предикат - PRED1,
- предикат - PRED2,
- эталонные значения параметров - ZN1, ZN2,
- операторы выхода из правил - VIHOD,
- операторы вывода результатов - VIVOD;
4. таблица <PR_ZAGR>представляет собой загрузочный вариант таблицы <PRAVILA>, в которой произведена замена идентификаторов шкал на идентификаторы программных структур и их элементов.
Проиллюстрируем работу предложенного алгоритма на практическом примере проектирования SQL запросов к базе данных психологического тестирования, приведенной в таблицах ниже.
Проект
Проект |
ИД набора |
Полное название проекта |
Проект набора правил |
SET_PR |
Проект набора правил обработки результатов тестирования |
Наборы
ИД набора |
№ отношений |
ИД левой сущности |
ИД правой сущности |
Структура результата выполнения запроса |
SET_PR |
1 |
TEST_PR |
SCAL |
IDTEST, IDSTR, |
|
2 |
SCAL |
PRAVILA |
IDSC, IDEL, |
|
3 |
PRAVILA |
PR_ZAGR |
IDPRAV, PRED, ZN, VIH, VIV |
Отношения
ИД левой сущности |
ИД правой сущности |
ИД поля 1 левой сущности |
ИД поля 2 левой сущности |
Операция реляционной алгебры (РА) |
ИД поля 1 правой сущности |
Ид поля 2 правой сущности |
TEST_PR |
SCAL |
IDTEST |
|
JOIN |
IDTEST |
|
SCAL |
PRAVILA |
IDTEST |
IDSC |
JOIN |
IDTEST |
IDSC |
PRAVILA |
PR_ZAGR |
IDPRAV |
GRUP |
JOIN |
IDPRAV |
GRUP |
Сущности
ИД сущности |
ИД поля |
|||||||||
ИДП1 |
ИДП2 |
ИДП3 |
ИДП4 |
ИДП5 |
ИДП6 |
ИДП7 |
ИДП8 |
ИДП9 |
К.з.* |
|
TEST_PR |
IDTEST |
IDSTR |
NAIM |
* |
|
|
|
|
|
|
SCAL |
IDSTR |
NEL |
IDSC |
IDEL |
FORMAT |
* |
|
|
|
|
PRAVILA |
IDTEST |
IDPRAV |
GRUP |
SC |
PRED |
ZN |
VIH |
VIV |
* |
|
PR_ZAGR |
IDTEST |
IDPRAV |
GRUP |
IDSTR |
IDEL |
PRED |
ZN |
VIH |
VIV |
* |
* К. з. - конец записи.
Предположим, что перед нами поставлена задача выполнить проект создания таблицы правил обработки результатов тестирования в терминах идентификаторов программного уровня. В исходной таблице <PRAVILA>эти правила представлены в терминах идентификаторов пользовательского уровня. Решение такой задачи может потребоваться, например, после редактирования базы данных.
Для выполнения проекта пользователю системы необходимо выбрать вариант проекта из таблицы <PROECT>и запустить систему. Возможен вариант, когда требуется уточнить условия проекта, однако в данной случае это не нужно.
В результате решения получим SQL следующего вида.
SELECT TEST_PR. IDTEST, SCAL, SCAL. ISC, IDEL, PRAVILA. IDPRAV, GRUP, PRED, ZN, PR_ZAGR. VIHOD, VIVOD
FROM TEST. PR LEFT OUTER JOIN SCAL ON TEST_PR. = SCAL. IDTEST AND TEST. PR IDSTR = SCAL. IDSTR
LEFT OUTER JOIN PRAVILA ON IDTEST = PRAVILA. IDTEST
TEST. PR LEFT OUTER JOIN SCAL ON TEST_PR. = SCAL. IDTEST
AND IDSTR = PRAVILA. IDSTR
LEFT OUTER JOIN PR_ZAGR ON IDPRAV = PR_ZAGR. IDPRAV
AND IDSC = PR_ZAGR. IDSC
WHERE
ORDER BY IDTEST, IDPRAV, GRUP;
6. ЗАКЛЮЧЕНИЕ
Преимущества предложенного подхода заключаются в следующем:
- выполняется автоматизированное проектирование не только раздела FROM, но и раздела структуры результата;
- повышается качество проекта за счет системного представления структуры базы данных;
- снижается трудоемкое программирование SQL запросов, что особенно важно для пользователей с нарушениями зрения.
Литература
- Балтрушайтис В.В. Модель базы данных, ориентированная на использование в практи- ческих задачах психодиагностики // Моделирование и анализ данных: научный журнал. 2007. № 3. С. 97–100.
- Балтрушайтис В.В. Поисковый процессор базы данных семантического вида, ориенти- рованный на пользователей с ограниченными возможностями // Моделирование и анализ данных: научный журнал. 2009. № 4. С. 72–82.
- Балтрушайтис В.В. Интеллектуальная инструментальная система проектирования алго- ритмов и программ, ориентированная на пользователей с ограниченными возможностями здоровья // Моделирование и анализ данных: научный журнал. 2011. № 1. С. 153–163.
- Михеева В., Харитонова И. Microsoft Access 2003. Наиболее полное руководство. СПб.: БХВ-Петербург, 2002. 1040 с.
- Поспелов Г.С., Поспелов Д.А. Искусственный интеллект ― прикладные системы. М.: Знание, 1985. 48 с.
- Поспелов Д.А Моделирование рассуждений. Опыт анализа мыслительных актов / Д.А. Поспелов. М.: Радио и связь, 1989. 184 с.
- Стернин М.Ю., Шепелев Г.И. Метод представления знаний в интеллектуальных систе-мах
Информация об авторах
Метрики
Просмотров
Всего: 1071
В прошлом месяце: 3
В текущем месяце: 4
Скачиваний
Всего: 461
В прошлом месяце: 2
В текущем месяце: 2