Интеллектуальная система автоматизированного проектирования SQL запросов к базам данных

Автор: Пользователь скрыл имя, 26 Мая 2012 в 13:52, курсовая работа

Краткое описание

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

Оглавление

1. Введение.
2. Постановка задачи проекта.
3. Технические требования к разрабатываемой системе.
3.1. Общие требования.
3.2. Требования к программному обеспечению оболочки интеллектуальных систем (ПОБ)
3.3. Структура исходных данных проекта. Цель проекта.
3.4. Правила формирования цели проекта
4. Структура системы управления учебным процессом «Деканат»
5. Теоретические основы реализации поставленной задачи.
5.1. Состав таблиц, полей и связей.
5.2 Пользовательский интерфейс. Структура пользовательского представления знаний
5.3 структура внутреннего представления знаний.
5.4. Технологии проектирования системы
6.Разработка алгоритма вывода решения. Логика управления алгоритмом вывода решения (пополнения знаний)
6.1.Доказательство истинности предлагаемого решения.
6.2 Алгоритм управления проектом
6.3 Алгоритм объяснения полученного решения
7. Алгоритм проектирования пакета SQL запросов реализации поставленной цели.
7.1. Структурная схема системы МИРА
8. Интеллектуальный Интерфейс системы
9. Заключение.
10. Список используемой литературы.
Интеллектуальная система автоматизированного проектирования SQL запросов к базам данных.

Файлы: 1 файл

Курсовая работа № 1 17 02.docx

— 306.98 Кб (Скачать)

 

Алгоритм пополнения знаний.

Исходные фреймы:

  • Структура БД
  • Выход

 

 Результат  решения  –дополнение фрейма ПОСЛЕДОВАТЕЛЬНОСТЬ.

Номер списка в структуре  ВЫХОД- последний из введенных пользователей.*

В структуре БД всегда единственный список с именем  базы данных ( один элемент списка – одна функциональная связь)

Постановка задачи:

Требуется найти  каждой паре соседних таблиц БД, указанных  во фрейме ВЫХОД  однозначное соответствие идентификаторам связанных таблиц в элементах фрейма «Структура БД»

  Под элементом   фрейма будем понимать структуру  функциональной связи двух таблиц  размещенную  в своих разделителях (открывающей и закрывающей скобке.)

 

Функциональная связь  содержит : идентификаторы левой и правой соединяемые таблиц, идентификаторы ключей связи.

 

Поиск осуществляется всегда по всему фрейму «структуре»,а количество сравниваемых пар определяется по схеме

 

(1,2),(2,3),(3,4),(4,5),…………(N-1,N)

 

Где  N  последний номер таблицы в списке  таблиц, атрибуты которых необходимо разместить  в результирующей таблице

 

В процессе  выполнения поисковых операций возможны варианты:

 

  1. Найдена функциональная связь, имена таблиц которые соответствуют именам таблиц из структуры «ВЫХОД».В этом случае эта связь переписывается во фрейм «ПОСЛЕДОВАТЕЛЬНОСТЬ»
  2. Функциональная связь не найдена. Это означает, что поставленная цель достигнута быть не может.

 

 

 

 

 

 

 

 

 

6.1.Доказательство истинности предлагаемого алгоритма вывода решения.

Задача вывода решения заключается  в поиске в составе фрейма связи  Б1 отношения между двумя сущностями, объявленными  первыми в структуре результата. Дополнительным условием при этом является принадлежность всех идентификаторов полей сущностей из структуры результата сущностей IS1 и IS2.

  Таким образом целью проекта является      отношение R1 (S1,S2)

гдеS1^S2            R1 (S1, S2) = истинно


Из логики высказываний известно, что если функция истинна, то истинны  и конъюнкции её составляющих. Тоесть S1 и S2 истинны. Представим S1 и S2 через  их импликации:

S1 VS2         S1 ;        S2 VS1          S2


Но  если S1 и S2 истинны по определению, то из этого следует, что S1 ^ S2 = ложь  или S1 и S2 = ложь. Из алгоритма редукции следует, что если нужно преобразование  можно получить хотя бы один пустой диз’юнкт , то в этом случае исходное выражение истинно.

 

 

 

 

 

 

 

 

 

 

 

6.2.  Алгоритм управления проектом

 

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

  • Сущность – поля
  • Связи

Фрейм «сущность – поля» содержит списки сущностей базы данных и принадлежащих  и полей

Фрейм «связи» содержит списки отношений  между сущностями и условий их соединений.

Решение поставленной задачи выполняем  в следующей последовательности:

  • Выбираем из заданной структуры идентификаторы очередной пары таблиц – сущностей (элементы списка выбираются в  последовательности  (1,2),(2,3),(3,4)……(N-1,N))

ГдеN – последний номер списка сущностей заданной структуры.

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

 

 

 

 

 

6.3  Алгоритм объяснения полученного решения.

Алгоритм вывода решения.

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

При этом накладываются дополнительные условия:

  • Имена полей не должны повторяться.
  • Очередность имен полей в алгоритме, должна соответствовать порядку обхода таблиц -   сущностей.

Примечание: Последовательность имен полей в одной сущности произвольная. 

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

Для этого будем использовать структуру БЗ «сущность-поле».

Для этого выполняем  следующую последовательность действий:

  • Выбираем очередной элемент в структуре документа проводим поиск этого элемента (имя поля таблицы сущности) в структуре «сущность  связь» во всех её элементах (количество элементов в этой структуре равно количеству таблиц –сущностей в БД,а количество элементов вложенных в неё равно количеству полей в таблице – «сущность»).

 

В процессе выполнения этого  поиска возможны варианты:

  • Найден список полей таблицы, которому принадлежит требуемый элемент. В этом случае имя таблицы переписываем в массив промежуточного результата и выполняем выбор из входящей структуры очередного поля и делаем попытку найти это поле в текущем списке полей таблицы, в случае его отсутствия переходим к его поиску с начала структуры «сущность связь»
  • Не найдена таблица- сущность, которой принадлежит требуемое поле.

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

В результате выполнения указанных  действий получаем список  таблиц-сущностей.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.     Алгоритм проектирования пакета SQL запросов реализации поставленной цели.

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

Для устранения многозначной логики в проектируемых решениях в системе принят следующий алгоритм проектирования структуры пакета SQL запросов:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 нет


 

 


да


 нет 


 


 

 да



 

 

 


 

 

 

 

 

 

 

 

 

Блок схема алгоритма проектирования структур SQL запросов.

К сожалению, многие фирмы  разработчики СУБД утверждают, что  их системы поддерживают стандарт SQL-2003, однако на практике оказывается, что  есть отличия.

В связи с этим в проектируемой  системе принято следующее решение:

БЗ системы ориентирующая на SQL, используемые в локальных базах данных PARADOX, FoxPro, Access, Delphi,пример одного из вариантов приведен ниже.

 

SELECT

<Имя приложения>,[имя  табл. Рез-та]

Where <условие>

 

CREAT VIEW BUF AS

SELECT P1, P2, P3

FROM T1

WHERE студент.группа=’значение’

ORDER BY P1, P2, P3

SELECT BUF1.P1, P2, .. PN, T2.P21

.. PN , … TR.P1,P2, .. PN , INTO REZ

FROM BUF LEFT JOIN T2 ON (P5=P1)AND(P6=PZ)

ORDER BY BUF.P1, P2,T2.P21, P22, T3.P31, P32, .. TR.PR1, PR2

DROP VIEW BUF

 

 

 

 

 

 

7.1.   Структурная схема системы МИРА

 

 

В предлагаемой концепции  систему автоматизированного проектирования SQL запросов – МИРА (машинный интеллект  разработки алгоритмов управления БД) представлен в виде структурной  схемы, изображенной на рис.2

В системе предлагается использование пользовательских интерфейсов  интеллектуального типа.

Первый из них (блок1) отслеживает взаимодействие системы с разработчиком базы знаний в процессе ее создания, второй (блок2) – с пользователем в процессе SQL запросов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 




 

 




 








 

 


 

 

 



 


 


 

 

 

 

Структурная  схема системы МИРА (Машинный Интеллект Разработки Алгоритмов)

Генератор БЗ – выполняет функции преобразования табличного представления структуры  БЗ в их внутреннее представление  в виде вложенных списков (фреймовая  модель)

Основной блок системы  – блок вывода  решений (блок6) обеспечивает проектирование основных структурных компонентов знаний и результирующих SQL запросов.

Пошаговую регистрацию  проектирование знаний, их пополнение в процессе вывода решений выполняется  блок объяснений(блок4)

БЗ содержит собственно сами знания предметной области.

Результат проекта размещаются  в базе знаний результатов проекта (блок5).

Процедуры-функции проектирования SQL запросов представлены блоком 7 и  подключены к основному блоку  системы. Результаты проекта – блок 8.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1.  Интеллектуальный Интерфейс системы.


 


 

 

 

 

 

 

 

 

 

 



нет



 

                                                                                            да




 

 

 

\Цель проекта\:= \Идентификатор\

\Список полей документа\  \Условие\

\Идентификатор\ \Список полей результата\ \Условие\ \вид представления результата\

 

 

 

 

 

 

 

Как известно качество  интерфейса (особенно пользовательского)  в конечном счете определяет качество всей системы в целом.

В разрабатываемом проекте  требуется  выполнить проект двух интерфейсов  – пользовательского и программного.

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

В целях сокращения объемов проектируемых  программ  и унификации проектных  решений предлагается выполнить  проект интерфейсов  по схеме:

 

 




 

 

 

 

 

 

10.  Рекомендуемая литература

 

  1. Избачков Ю., Петров В. Информационные системы: учебник для вузов. СПб.: Питер, 2006. 656 с.
  2. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: учебник для высших учебных заведений / под ред. проф.

    А.Д. Хомоненко. 5-е изд. СПб.: КОРОНА принт, 2006. 736 с.

3. Дейт К. Дж. Введение в системы баз данных: пер. с англ. 8-е изд. М.:   Вильямс, 2006. 1328 с.

4. Олифер В. Г., Олифер Н. А. Компьютерные сети. 3-е изд.   СПб:  Питер, 2008.    958 с.

5.  Смолин Д.В. Введение  в искусственный интеллект: конспект  лекций. 2-е изд., перераб. М.: ФИЗМАТЛИТ, 2007. 264 с.

6. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб.: Питер, 2005. 384 с.

    7. Вагин В.Н., Фомина М.В., Загорянская А.А., Головина Е.Ю.Достоверный и правдоподобный вывод в интеллектуальных системах.2-е изд.,испр. и доп. М.: ФИЗМАТЛИТ, 2008. 712 с.

    8.  Хомоненко А., Гофман В.,  Мещеряков Е., Никифоров В. Delphi 7. Наиболее   полное руководство. СПб.: БХВ – Санкт-Петербург, 2006. 1216 с.

9.  Подбельский В.В. Язык C++: учеб. Пособие. 5-е изд. М.: Финансы и статистика, 2005, 560 с.

10. Шпее М. Профессиональное программирование на C++. СПб.:

      БХВ –  Санкт-Петербург, 2007. 880 с.

11. МамаевЕ.В. Microsoft SQL Server 2008. СПб.: БХВ – Санкт-  Петербург, 2008. 1280 с.

12. Страуструп Б. Программирование. Практика и принципы использования   C++.  М.: Вильямс, 2011. 1284 с.

 

13. Фаронов В.Э., Программирование баз данных в Delphi 7. СПБ.:    Питер, 2006. 457 с.

14. Омельченко. Л.Н.,  Шевякова  Д.А. VisualFoxPro 9.0. СПб.: БХВ-Петербург, 2005. 595 с.

15. Гурвин Г. MicrosoftAccess 2010 СПб.: БХВ – Санкт-Петербург, 2010. 436 с.

16.Эхтер Ш., Робертс Дж. Многоядерное программирование СПб.: Питер, 2010. 316 с.                                                                    


Информация о работе Интеллектуальная система автоматизированного проектирования SQL запросов к базам данных