книги / Основы автоматизации проектирования в строительстве
..pdfСовременные реляционные СУБД: Access (фирмы Microsoft), Approach (фирмы Lotus), Paradox (фирмы Borland) поддерживают технологию OLE и язык управления данными SQL.
В центр современных информационных технологий постепен но перемещаются более мощные реляционные СУБД с SQL-дос тупом под управлением операционных систем Windows и UNIX: Oracle, Centura, SyBase, Informix и других. В их основе лежит тех нология «клиент-сервер».
2. Классификация СУБД
СУБД можно классифицировать по используемой модели данных:
реляционные {dBase, FoxPro, Access, Paradox, Clipper, Informix,
идр.);
иерархические {PC Focus, Teap Up, Data Edge, и др.); сетевые {db Vista III, ADABAS, Oracle, и др.);
объектно-ориентированные {Oracle, Progres 5, и др.), объеди няющие в себе две модели данных (реляционную и сетевую) и ис пользуемые для создания крупных БД со сложными структурами.
По характеру использования СУБД делятся на персональные
и многопользовательские.
Персональные {Access, dBase, FoxPro, Paradox, Clipper, и др.) для создания персональных БД и недорогих приложений. Поддерж ка функционирования в сети обеспечивается средствами ОС управ ления доступом к совместно используемым ресурсам {OLE, DDE).
Многопользовательские {Oracle, Informix, и др.) включают в себя серверную и клиентскую часть; могут работать в неоднородной вычислительной среде, допускают различные типы ЭВМ и ОС. На их базе можно создавать информационные системы, работающие по тех нологии «клиент-сервер».
В наиболее полном варианте СУБД должна содержать следую щие компоненты:
♦среду пользователя, котбрЗзг'дает возможность управлять данными с клавиатуры;
♦алгоритмический язык запросов и манипулирования дан ными. С помощью его создаются прикладные программы для ра боты с информацией в БД. Обычно это язык-интерпретатор',
♦компилятор для придания завершенной программе вида го тового коммерческого продукта, в форме исполняемого.ехе-файла;
♦программы-утилиты для быстрого программирования рутин ных операций: создания отчетов, форм, меню и других приложений.
Не все СУБД имеют все названные компоненты.
§3. ОСНОВЫ АВТОМАТИЗИРОВАННОЙ
ОБРАБОТКИ ИНФОРМАЦИИ
Основная функция СУБД в системах автоматизированного проектирования - ведение информационного фонда8 САПР, заклю чающееся в решении следующих задач:
♦хранение и работа с информацией, представляющей резуль тат всех стадий процессов принятия проектных решений;
♦прием и обработка запросов от проектировщиков, подсистем
ипрограмм САПР, и выдача результатов поиска в требуемой форме (буквенно-цифровой, графической);
♦проверка корректности вводимой и гарантия правильности хранимой и выдаваемой информации;
♦быстрая корректировка информации и доведение ее до поль зователя.
Для решения указанных задач требуется, определив модель
иструктуру БД, ввести данные в базу данных. При этом необхо димо иметь возможность корректировать вводимую информацию, изменяя, добавляя новые или удаляя устаревшие сведения, быстро находить нужную информацию и выводить ее в требуемом виде (текстовых, графических и других документов). Изменение коли чества записей в БД происходит путем удаления ненужных запи сей и добавления новых. Часто в СУБД по команде удалить запи си, предназначенные для удаления, лишь помечаются, а удаление их из файла происходит после выполнения процедуры сжатия файла. Добавленная запись помещается в конец таблицы.
Для просмотра, ввода или изменения данных можно использовать созданные таблицы, в которых на экране отображается сразу несколь
Q
Информационный фонд САПР - совокупность данных, используемых
всеми компонентами САПР.
ко записей, но если таблица большая, то для просмотра всех полей требуется прокрутка. При этом обновление данных сразу в нескольких связанных таблицах не допускается. Поэтому чаще для ввода и редак тирования таблиц используются формы, создаваемые с помощью СУБД, и с использованием стандартного или созданного пользовате лем макета. Формы - это другой взгляд в таблицу, в них записи ото бражаются по одной, но позволяют вывести поля сразу из нескольких таблиц. Это дает возможность обеспечить санкционированный доступ пользователей только к разрешенной для них информации. Форма в основном предназначена для работы с информацией на экране.
Для распечатки информации из БД, выполнения вычислений и подсчета итоговых значений по большому объему данных исполь зуется отчет, который представляет собой еще один способ про смотра таблиц БД.
Обычно при решении конкретных задач или для справки требу ются не все записи, а только часть из них, удовлетворяющая какому-то условию поиска. Для поиска и отбора данных, удовлетворяющих опре деленным условиям поиска, используются фильтры или создаются запросы. Фильтр - это нечто, отсеивающее определенные элементы - одно или несколько условий, которым должна удовлетворять запись, чтобы быть выведенной на экран. Запрос- это вопрос, с которым пользователь обращается к БД. В результате выполнения запроса вы дается набор данных - выборка, удовлетворяющая поставленным ус ловиям. При сохранении запроса сохраняется вопрос, а не ответ.
В основе всех механизмов отбора информации лежит аппарат логической алгебры. Приведем основные сведения, необходимые для работы с данными в СУБД и информационных системах.
1. Логические выражения и логические операции
Наличие строгой математической основы для построения реля ционной модели позволяет использовать языки манипулирования данными на основе реляционной алгебры и исчисления предикатов9
9 Предикат - логическая функция одного или нескольких аргументов,
принимающая значения 0 или 1 («ложь» или «истина»), а значения аргументов могут принадлежать различным множествам объектов.
Вкомандах СУБД условие поиска записывается в форме логи ческого выражения. Логическое выражение, подобно математиче скому выражению, выполняется (вычисляется), но в результате полу чается не число, а логическое значение: истина (true) или ложь (false).
Влогических выражениях имена полей БД могут связываться
ссоответствующими значениями знаками отношений:
= равно, |
< меньше, |
о не равно, |
>= больше или равно, |
> больше, |
<= меньше или равно, |
или знаками логических операции:
AND |
операция логического умножения (конъюнкция), знак |
|
операции «и» или «&» |
OR |
операция логического сложения (дизъюнкция), знак |
|
операции «или» или «V» |
NOT |
операция отрицания (инверсия), знак операции «не» |
|
или «!» |
Операции логического умножения и сложения - двухместные, т.е. они связывают между собой две логические величины (два опе ранда). В результате логического умножения получается истина, если оба операнда истинны. В результате логического сложения получается истина (True), если значение хотя бы одного операнда истинно. Отрицание изменяет значение логической величины на противоположное.
Таблица 7.3 иллюстрирует все правила выполнения трех логи ческих операций и называется таблицей истинности. В ней буква ми А и В обозначены логические операнды.
|
|
|
|
Таблица 7.3 |
|
|
Таблица истинности |
|
|
А |
В |
А & В |
AVB |
!А |
истина |
истина |
истина |
истина |
ложь |
ложь |
ложь |
ложь |
ложь |
истина |
истина |
ложь |
ложь |
истина |
ложь |
ложь |
истина |
ложь |
истина |
истина |
Среди логических операций, как и среди арифметических, есть различие по старшинству (по приоритету). По убыванию старшин ства они располагаются в таком порядке:
1)отрицание (не), 2) конъюнкция (и), 3) дизъюнкция (или).
Влогических операциях, как и в математических, можно ис пользовать круглые скобки, которые влияют на последовательность выполнения операций. Если нет скобок, то операции выполняются по старшинству.
Примеры вычисления некоторых логических выражений. Пусть А, В, С - логические величины, которые имеют следующие значения: А - истина, В - ложь, С - истина. Результаты вычисления логических выражений:
А&В = ложь |
A&BVC = истина |
AVB = истина |
AVB&C = истина |
!AVB = ложь |
! AVB&C = ложь |
(AVB) & (CVB) = истина
!(AVB) & (CVB) = ложь
!(А&В&С) = истина
2.Сортировка информации, языки запросов, условия поиска (отбора записей) в БД
Хранимые в базе данные можно просматривать, редактировать и выбирать с помощью имеющихся в каждой СУБД средств про смотра и редактирования.
Чтобы система могла быстро найти нужные записи, таблицу следует упорядочить по значениям ключа поиска (по возрастанию или убыванию). Процесс упорядочения записей в таблице называет ся сортировкой. Упорядочить можно и символьные поля. Система точно знает, какая буква (символ) больше, а какая меньше. В качест ве ключа поиска можно использовать первичный ключ или вторич ные ключи, при этом значения ключа поиска в таблице может быть не уникальным. Как правило, при упорядочивании записей в таблице саму таблицу система не трогает, а создает для нее специальный мас сив данных, который называется индексом. От ключа поиска зависит не только время поиска по определенному запросу, но и сама воз можность ответить на запрос, не перебирая все записи.
Индекс - это набор указателей на строки таблицы, упорядочен ный по значению ключа. Каждый элемент этого набора состоит из двух частей: порядкового номера записи в таблице и значения ключа сортировки. В разных СУБД индексы формируются по-разному.
Для повышения эффективности обработки данных создаются и выполняются запросы.
Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке или модификации хранимых данных.
Для подготовки запросов с помощью различных СУБД, как правило, используются два основных языка описания запросов:
-структурированный язык запросов SQL (Structured Query Language).
-язык запросов по образцу QBE (Query By Example);
По возможностям манипулирования данными эти языки прак тически эквивалентны. Отличие их - в способе формирования за просов.
Структурированный язык запросов SQL основан на реляцион ном исчислении и предназначен для выполнения операций над таб лицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также неко торых сопутствующих операций. Обычно SQL автономно не исполь зуется, а погружен в среду встроенного языка программирования СУБД. С помощью SQL можно создать любой произвольный запрос, однако в реальности пользуются этим языком только специалисты. А для пользователей разработчики придумали упрощенный меха низм создания запросов, называемый QBE - запрос по образцу.
Язык запросов по образцу QBE позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Это обеспечивает высокую наглядность и не требует указа ния алгоритма выполнения операции - достаточно описать образец ожидаемого результата. В каждой современной СУБД имеется свой вариант языка QBE. С помощью языка QBE можно задавать запро сы, выбирающие или обрабатывающие данные из нескольких свя занных таблиц. При задании запросов допустимы следующие опе рации: выборка, вычисление и модификация данных-, вставка и уда ление записей. Все эти операции выполняются с использованием
условий, задаваемых с помощью логических выражений. Результа том выполнения запроса может быть новая таблица или модифици рованная исходная таблица. Ниже приведены некоторые примеры
выражений в условиях поиска информации на значение какого-либо поля или при создании сложных критериев отбора информации для запросов.
Вы ражения >100 AND <500
<50 OR>100
NOT<100
<1/1/06
Цена Between 100 And 50 или
Цена >=50 AND <=100
In (50, 100,200)
Like
Like (ко??)
Like (ко*)
Like ( * K O * )
Пояснения Величина в этом поле должна быть больше 100,
но меньше 500.
Значение в поле должно быть или меньше 50, или больше 100.
Величина в поле должна быть больше или равна 100.
Записи со значениями даты ранее 1 января 2006 г. (предполагается, что это поле типа Дата). Выражение проверяет, попадет ли значение аргу мента Цена в диапазон от 50 до 100, и, если это так, возвращает значение Истина, а если н ет -
Ложь.
Условие, проверяющее значение выражения на совпадение с любым из элементов указанного списка, которое позволит ввести в это поле только одно из указанных в скобках значений.
Условие, проверяющее совпадение строковых выражений. При этом знак ? заменяет один любой символ; * - любую комбинацию симво лов, а # - любую цифру.
Выражение находит все записи в указанном поле со словами из четырех букв, начинающиеся на буквы «ко»; Выражение находит все записи в данном поле со
словами, начинающимися на буквы «ко» (любое количество букв); Выражение находит все записи в данном поле, в которых есть буквы «ко».
Если слово для поиска написано с большой буквы, то будет осуществляться поиск именно таких слов, а если с маленькой - то поиск будет осуществляться по словам, начинающимся как с большой, так и с маленькой буквы.
3. Информационные системы
Информационные системы (ИС) - это прикладные программы, связанные с организацией и обработкой информации в БД для реше ния конкретных задач автоматизации проектирования.
Цель ИС - обработка данных об объектах реального мира с уче том связей между объектами.
Фундаментальными понятиями ИС являются объект, атрибут
и связь.
Объект - это нечто существующее и различимое (фирма, чело век, конструкция и т.п.);
Атрибут - это некоторый показатель, характеризующий некий объект и принимающий для конкретного экземпляра объекта чи словое, текстовое или иное значение. Списки возможных значений атрибутов обычно называют классификаторами (справочниками, словарями).
Связи между объектами обусловлены смыслом задачи и не зави сят от произвола разработчика. По характеру связи между объектами могут быть типа: (1:1), (1:N), (N:l), (N:M).
Контрольные вопросы
1.Состав информационного обеспечения САПР.
2.Какие виды данных используются проектировщиками в про цессе работы?
3.Раскройте сущность понятия «база данных».
4.Каковы основные структуры данных, реализуемые в базах данных?
5.Какие модели представления данных используются в инфор мационном обеспечении САПР?
6.Раскройте сущность реляционной модели данных. Что вклю чают понятия «ключевое поле» и «типы связей».
7.Системы управления базами данных (СУБД). Основная функ ция СУБД в системах автоматизированного проектирования.
8.Поиск информации в БД.
9.Что такое «информационные системы»?
ЛЕКЦИЯ 8
Б А З Ы З Н А Н И Й И Э К С П Е Р Т Н Ы Е С И С Т Е М Ы
Как уже отмечалось, в настоящее время в составе информаци онного обеспечения САПР наметилась тенденция к созданию и ис пользованию в проектном процессе баз знаний.
§1. О б щ и е с в е д е н и я
Знание- это совокупность сведений, образующих целостное описание, соответствующее определенному уровню осведомленно сти об описываемой проблеме.
Основное отличие знаний от данных в том, что данные описы вают лишь конкретное состояние объектов или группы объектов в текущий момент времени, а знания кроме данных содержат сведе ния о том, как оперировать этими данными.
Знания, на которые опирается человек, решая ту или иную зада чу, существенно разнородны. Это прежде всего:
♦понятийные знания - набор понятий из фундаментальных
наук и их взаимосвязи. Например: «архитектура», «архитектурная форма», «конструктивная форма», «строительные конструкции», «прочность», «САПР»;
♦конструктивные знания - знания о структуре и взаимодей ствии частей различных объектов, которые формируются в сфере прикладных и технических наук. Например, «САПР - организаци
онно-техническая система»;
♦процедурные знания - методы, алгоритмы и программы реше ния различных задач. Например, методы расчета и проектирования ин женерного оборудования; методы и программы для ЭВМ расчета строи тельных конструкций; программы выпуска сметной документации;
♦фактографические знания - качественные и количествен ные характеристики и показатели реальных объектов. Например, справочники, таблицы, СНиПы.
База знаний- это |
формализованная совокупность сведений |
о некоторой предметной |
области, содержащая данные о свойствах |
объектов, закономерностях процессов и явлений и правила исполь зования в задаваемых ситуациях этих данных для принятия новых решений.
Знания в конкретной предметной области, формализованные определенным образом и заложенные в память ЭВМ, называются компьютерной базой знаний, которая является необходимой со ставляющей систем искусственного интеллекта (СИИ).
Следует отметить, что имеются определенные трудности фор мализации профессиональных знаний специалистов строительного комплекса, связанные со все возрастающим многообразием строи тельных объектов.
§2. ВВЕДЕНИЕ В ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
Искусственный интеллект (ИИ) - это научная дисциплина, воз никшая в 50-х годах на стыке кибернетики, лингвистики, психологии и программирования.
Предметом изучения науки ИИ является человеческое мышле ние. Цели искусственного интеллектасоздание модели человече ского интеллекта и реализация ее на компьютере.
С самого начала исследования в области ИИ пошли по двум направлениям:
1.Бионическое: попытки смоделировать с помощью искусствен ных систем психофизиологическую деятельность человеческого моз га с целью создания искусственного разума.
2.Прагматическое: создание программ, имитирующих на ком
пьютере мышление человека. Здесь достигнуты важные результаты, имеющие практическую ценность. В дальнейшем речь будет идти об этом направлении.
Искусственный интеллект, как следует из самого названия, придает компьютеру черты разума. Если обычная программа может быть представлена в парадигме:
Программа = Алгоритм + Данные,