Системы управления базами данных и базами знаний

Для работы с файлами баз данных созданы специальные пакеты прикладных программ, называемые системой управления базами данных (СУБД). Средствами СУБД любой пользователь может соз­дать файлы БД, просматривать их, изменять, выполнять поиск, формировать отчеты произвольной формы.

В настоящее время существует большое количество СУБД, имеющих приблизительно одинаковые возможности. Все они позволяют создавать файлы БД на диске, вводить данные, просматривать созданные файлы, редактировать их, обновляя записи, удаляя ненужные, добавляя новые. Созданные файлы БД можно упорядочивать по значе­нию определенного ключевого реквизита или нескольких рекви­зитов, выполнять поиск информации в базе, формировать отче­ты заданной формы по ее данным. Кроме того, очень важной является функция изменения структуры уже созданного файла базы данных. Часто в связи с изменяющимися внешними условиями требуется увеличить разрядность какой-либо графы или доба­вить новый реквизит, функция изменения структуры базы дан­ных разрешает эту проблему автоматически, перезаписывая файл на новое место на диске с измененной структурой. При этом файлу с измененной структурой присваивается тоже имя, а вторая копия файла сохраняется на диске с тем же именем, но с расширением. Расширение - это дополнительная страховка, выполняемая СУБД, которая предохраняет пользователя от по­тери данных при выполнении операции перезаписи и служит одной из мер защиты данных в БД. Кроме этой меры предусмотрен еще ряд возможностей, предохраняющих пользователя от случайной потери данных: предупреждения перед необратимыми операциями типа очистки файла от данных, перезапись файлов и так далее. Средства СУБД также позволяют организо­вать систему паролей для защиты от несанкционированною доступа к данным базы.

Наиболее известными среди СУБД являются системы dBASE, FoxPro, Paradox, SQL, Sybase, Clipper, Oracle и др.

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

Большинство современных комплексов программ, решающих экономиче­ские задачи, написаны на языках СУБД. Эти языки позволя­ют создать программы, имеющие удобный "дружественный" пользовательский интерфейс.

Выбор СУБД определяется многими факторами, но главный из них - возможность работы с построенной моделью данных. По­этому одной из важнейших характеристик является тип модели, который поддерживается СУБД. Имеются системы для работы с иерархическими и сетевыми моделями, однако большинство СУБД для персональных ЭВМ ра­ботают с реляционной моделью. Таковы системы dBase, FoxPro, Clipper, Paradox, R:base. Реляционные СУБД для персо­нальных ЭВМ различаются набором реляционных операций, кото­рые СУБД может выполнять. Перечисленные СУБД эффективны для создания небольших изолированных систем с несложной структурой данных, с небольшими объемами данных (10-40 Мбайт) и несложными запросами. За пределами такого рода ограничений эффективность использования указанных СУБД су­щественно снижается.

В частности, далеко не все СУБД обеспечивают представление доступа нескольким пользователям, режим секретности и надежно­сти, целостность и согласованность данных при многопользова­тельской работе. Нередко все эти функции развитых сложных СУБД переносятся на программистов. На практике это означает, что указанные важнейшие требования не будут реализованы в пол­ной мере. Практика показывает, что необходимо переходить на новую аппаратную, а следовательно, и программную основу, если объем данных и сложность решаемых задач достигнут предела воз­можностей ЭВМ и СУБД.

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

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

Удобство и комфортность работы пользователя с СУБД во мно­гом определяются пользовательским интерфейсом. Пользователь­ский интерфейс - это средство и часть СУБД, ориентированные на взаимодействие пользователя с компьютерной системой. Благодаря разветвленным иерархическим меню, всевозможным подсказкам и разнообразной помощи, пользователю легко ориентироваться в выборе действий, адекватных возникающей в процессе работы си­туации. Очень важна в интерфейсе минимизация действий пользо­вателя, необходимых для подключения часто требуемых функций. Для этой цели применяются функциональные клавиши. Их нажатие вызывает исполнение программных модулей, которые реализуют требуемую функцию. Пользовательский интерфейс может быть многоуровневым, рассчитанным на более широкий круг разнообразных пользователей. Благодаря дружественному характеру интерфейса пользователь из­бавляется от необходимости знать язык программирования системы, чем достигается более высокая его производительность. Соче­танием простоты освоения и использования функциональных воз­можностей с помощью простого интерфейса обеспечивается широкая сфера применения таких массовых СУБД. При усложнении информационных потребностей пользователя возникает необходимость в более развитых СУБД и в знании языка программирования используемой СУБД.

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

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

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

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

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

Базы данных и связанные с ними технологии играют ключевую роль в создании современных информационных систем. Рост инфор­мационно емких отраслей индустрии и повышение эффективности всех видов бизнеса - факторы, которые ставят развитие технологий на основе баз данных на первое место. В связи с этим требуются новые подходы к организации баз данных и созданию СУБД.

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

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

Изменение различных системных параметров в прикладном программном обеспечении влияет на производительность банков данных. Добавление новых транзакций, новых объектов, пользовате­лей проявляется количественно изменением времени доступа к данным. Радикально меняются требования, предъяв­ляемые к системам баз данных, и для того, чтобы вписаться в стратегии прикладного программного обеспечения, необходи­мы новые подходы к их разработке. Наблюдается тенденция к ус­ложнению структур данных. Появляются новые виды и источники данных.

Главная функция любой СУБД - координация совместной работы множества пользователей с разделяемой информацией.

При переходе от персональных к многопользовательским СУБД пользователи сталкиваются с необходимостью четкого понимания механизма транзакций. Под транзакцией понимается не­делимая в отношении воздействия на базу данных последовательность операций манипулирования данными.

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

Поддержание механизма транзакций - показатель уровня развития СУБД. Результаты всех операций, входящих в транзакции, либо отображаются в базе полностью, либо результат воздействия отсутствует совсем.

Растущие информационные потребности отчетливо выявляют ограничения существующих технологий СУБД. Это также определяет направление их совершенствования.

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

Большинство информационных систем в нашей стране исполь­зуют простейшие СУБД, которые функционируют на персональных компьютерах. Такие системы покрывают первоначальные потребности организаций, но они не перспективны.

Базой систем нового поколения являются профессиональные СУБД и архитектура "клиент - сервер", реализуемая на их основе.

Профессиональные СУБД обеспечивают выполнение более сложных операций. Они позволяют разработчику расширять сер­висные возможности - процедуры базы данных, которые вызыва­ются клиентом и выполняются сервером более производительно, чем компьютерами на рабочих местах пользователей. К профессио­нальным СУБД относятся Oracle, Sybase, Informix, Ingress, Progress. Перечисленные системы имеют средства обработки информации, распределенной по нескольким узлам сети. Распределенная обра­ботка данных позволяет разместить базу в различных узлах таким образом, чтобы отслеживать изменения на всех узлах и чтобы каж­дый компонент данных располагался на том узле, где он будет об­рабатываться.

Новейшей технологией управления распределенными базами данных является тиражирование. Профессиональные СУБД под­держивают те или иные механизмы тиражирования.

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

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

Особенностью современных информационных систем, напри­мер биржевых или банковских, является требование оперативного оповещения пользователей о происходящих событиях; предполагается наличие некоторого количества процессов, которые должны исполняться параллельно и синхрони­зироваться во время исполнения. Это приводит к необходимости обмена информации между ними. Профессиональные СУБД типа Orасlе позволяют организовать эти процессы в виде отдельных приложений на одной базе данных. Например, при совершении сделки процесс, занимающийся их регистрацией, возбуждает собы­тие "совершена сделка". Результаты ее включаются в общий поток информации о сделках. Если же этот процесс не исполняется, то событие "совершена сделка" не приводит ни к каким дополни­тельным действиям. Механизмы событий, реализованные в совре­менных профессиональных СУБД, являются готовым технологиче­ским средством, которое позволяет разработчикам информацион­ных систем экономить значительное количество времени и усилий.

По мере развития любой хозяйственной деятельности появля­ется потребность в наращивании информационной системы. Воз­никает вопрос, как встроить имеющееся локальное приложение в новую систему. Профессиональные СУБД предоставляют доста­точно широкие возможности. Развитые системы шлюзов позволяют строить информационные системы, распределенные по узлам с различными аппаратными и программными платформами. Боль­шой интерес представляет также использование локальными при­ложениями так называемого ODBC-стандарта (Open DataBase Connectivity), который дает возможность прозрачного доступа к данным СУБД различных типов. Таким образом, приложение, разработанное с учетом стан­дарта ODBC, имеет большую гибкость при интеграции в существующую информационную систему.

Потребность в гибких решениях для современных информационных систем диктуется жизнью. На практике чаще всего встречается потребность в объединении возможностей отдельных подсис­тем или программных модулей. Причем все это нужно иметь ни одной базе данных. Через некоторое время соотношение потреб­ностей может измениться. Поэтому для построения информационной системы важно иметь инструмент, который наиболее приспо­соблен для построения открытых и гибких систем. Таким инстру­ментом в настоящий момент являются профессиональные СУБД SQL, обеспечивающие работу в модели "клиент - сервер" и обладающие развитыми средствами разработки и сопровождения баз данных. Использование профессиональной СУБД позволяет иметь программное обеспечение, в большей степени отвечающее кон­кретным потребностям организации.

Защита данных от несанкционированного доступа в профес­сиональных СУБД обеспечивается на разных уровнях: операционная система поддерживает разграничение прав дос­тупа пользователей; СУБД представляет свое разграничение прав доступа; защита данных средствами приложения - еще один уровень, который может быть настолько развитым и многообразным, насколько хватит фантазии у программиста, разрабатываю­щего приложение.

СУБД поддерживают достаточно сложную структуру таблиц. Требования к непротиворечивости данных в этих таблицах доволь­но жестки. Рассмотрим типичный пример, включающий счета клиентов в журнал сделок. Информация о ценных бумагах, находя­щихся на счетах клиентов, должна соответствовать информации, содержащейся в журнале сделок, иными словами повторения всех сделок. Занесенные в журнал данные с начала функционирования системы до настоящего времени должны привести к текущему со­стоянию таблицы счетов. Проверка этого соответствия - операция длинная и трудоемкая. Кроме того, если проверка показала несо­ответствие, то возникает следующий вопрос: где произошло рас­согласование? Какая информация правильна: о счетах или сдел­ках? Ответить на эти вопросы практически невозможно, если раз­работчики информационной системы не предприняли специаль­ных усилий для поддержания ссылочной целостности базы данных.

Методы поддержания целостности данных известны. Это - ве­дение журналов изменения таблиц и обработка транзакций. Разли­чие между персональными и профессиональными СУБД здесь в том, что в первом случае разработчик должен брать их реализацию на себя, а во втором - они уже реализованы внутри СУБД.

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

Современные профессиональные СУБД поддерживают средст­ва, значительно ускоряющие разработку программ. Это языки чет­вертого поколения, интегрирующие средства высокого уровня для создания интерфейса с элементами CASE-технологии, средства для организации сложных запросов к базе данных, возможности под­ключения фрагментов, написанных на языках низкого уровня, поддержка SQL-интерфейса. Все это ускоряет разработку прило­жений. Реализация интерфейса запросов к базе данных занимает минимум времени и усилий. Это позволяет разработчику сосредо­точить усилия на предметной области.

Профессиональные СУБД, поддерживающие технологию "клиент - сервер", позволяют наиболее эффективно использовать имеющийся парк персональных компьютеров за счет превращения их в рабочие места пользователей системы. Таким образом, выиг­рыш получается по трем направлениям:

1) наиболее эф­фективно задействуется мощный процессор сервера;

2) освобождается от ненужной загрузки сеть;

3) отпадает не­обходимость в высокопроизводительных компьютерах на рабочих местах пользователей.

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

Среди недостатков современных профессиональных СУБД выделяют дублирование функций операционной системы и невозможность использования в полном объеме в конкретной разработке всех их многочисленных возможностей.

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

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

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

Основой экспертной системы является совокупность знаний (базы знаний), структурированных в целях формализации процесса принятия решений.

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

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

• достигнутая компетентность не утрачивается, может докумен­тироваться, передаваться, воспроизводиться и наращиваться;

• имеют место более устойчивые результаты, отсутствуют эмо­циональные и другие факторы человеческой ненадежности;

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

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

Экспертная система должна демонстрировать компетентность, т.е. достигать в конкретной предметной области того же уровня, что и специалисты-эксперты. Недостаточно находить хорошие ре­шения, это надо делать быстро. Системы должны иметь не только глубокое, но и достаточно широкое понимание предмета. Методы нахождения решений проблем достигаются на основе рассужде­ний, исходящих из фундаментальных принципов в случае некор­ректных данных или неполных наборов правил. Такие свойства наименее разработаны в компьютерных экспертных системах, но именно они присущи специалистам высокого уровня.

Отличия экспертных систем от обычных компьютерных следующие: экспертные системы манипулируют знаниями, тогда как лю­бые другие системы - данными; экспертные системы, как правило, дают эффективные опти­мальные решения и способны иногда ошибаться, но в отличие от традиционных компьютерных систем они имеют потенциальную способность учиться на своих ошибках.

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

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

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

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

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

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

Экспертная система FOLIO (Stanford University, USA) помогает консультантам по инвестициям определять цели и подбирать портфели ценных бумаг, наиболее соответ­ствующие этим целям. Система определяет нужды клиента в ходе интервью и затем рекомендует, в каких пропорциях надо распределить капиталовложения между разными фондовыми инструмента­ми, чтобы наилучшим образом удовлетворить запросы клиента. Система различает небольшое число классов ценных бумаг и содержит знания о свойствах ценных бумаг каждого класса. В системе применена осно­ванная на правилах схема представления знаний с прямой цепоч­кой рассуждений для вывода целей и схема линейного программи­рования для максимизации соответствия между целями и предла­гаемым портфелем. Система доведена до уровня демонстрацион­ного прототипа.

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

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