Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Основы автоматизации проектирования в строительстве

..pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
13.8 Mб
Скачать

Современные реляционные СУБД: 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.Прагматическое: создание программ, имитирующих на ком­

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

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

Программа = Алгоритм + Данные,

Соседние файлы в папке книги