logo
Лекции ИТМ

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

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

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

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

В настоящее время создано большое количество СУБД, имеющих приблизительно одинаковые возможности. Одной из наиболее известных среди них является система dBase. Кроме нее существуют Access, FoxPro, Paradox, Clipper, Oracle и другие.

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

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

Выбор СУБД определяется многими факторами, но главный из них – адекватность модели базы данных решаемым задачам. Поэтому одной из основных характеристик является тип модели (иерархический, сетевой, реляционный), который поддерживается СУБД. Имеются системы для работы с иерархическими и сетевыми базами данных, например, Oracle. Однако большинство СУБД для персональных компьютеров работают с реляционными базами данных. Такими являются системы Access, FoxPro, Paradox, Clipper. Реляционные СУБД различаются набором выполняемых реляционных операций. Перечисленные СУБД эффективны для создания небольших изолированных систем с несложной структурой данных, с относительно небольшими объемами данных и несложными запросами. За пределами такого рода ограничений эффективность использования указанных СУБД снижается.

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

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

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

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

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

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

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

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

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

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

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