• режим корректировки, в котором осуществляется обновление, добавление и удаление информации, находящейся в банке данных;
• режим диалога, в котором пользователи обращаются к банку данных и производится обработка запросов. Такие запросы могут предусматривать:
– только выдачу пользователю информации о тех или иных параметрах процесса. Эта информация в требуемом формате содержится в банке данных;
– решение поставленной задачи с использованием сведений, находящихся в банке данных;
• режим реорганизации и анализа, в котором выполняются операции, непосредственно связанные с поддержанием банка данных в рабочем состоянии:
– реорганизация структур БД;
– копирование и восстановление БД;
– анализ статистических данных, связанных с функционированием информационного фонда.
Пользовательские запросы к банку данных
Из всех перечисленных выше запросов для пользователя наиболее важен режим диалога, а остальные носят служебный, вспомогательный характер. Режим диалога позволяет формировать самые различные запросы и является первым и необходимым шагом к аналитической обработке информации.
Конечно, нельзя заранее предусмотреть все возможные варианты запросов. Назовем лишь самые характерные типы запросов пользователя к банку данных в порядке возрастания сложности:
• запросы на обработку данных, связанных с одной таблицей (выборка, удаление, корректировка и ввод данных);
• запросы на групповую обработку данных (сумма, среднее значение и т. д.), связанных с одной таблицей;
• запросы, при которых условием отбора записи является полное значение поля;
• запросы, при которых условием отбора записи является неполное значение поля;
• запросы с несколькими условиями отбора записей в разных полях;
• запросы с несколькими условиями отбора записей в одном поле;
• запросы с заданием параметров;
• запросы на создание объединенной выборки из нескольких разнородных таблиц и т. д.
Как уже говорилось, наличие в банке разнородных баз данных несколько усложняет работу. Подробнее этот вопрос рассматривается в следующих разделах.
Проблемы, связанные с выбором СУБД
Говоря о создании банка данных и его последующей работе в производственном режиме, надо определить, в какой программной среде он будет функционировать. Вопрос этот не так прост, и при его решении надо учитывать два существенных аспекта проблемы:
• для упорядоченного накопления и хранения поступающей информации приходится разрабатывать новые базы данных. Логично, что вы будете оценивать различные СУБД именно с этой точки зрения. Здесь не требуется особых комментариев;
• история использования компьютерных банков данных в СССР и в постсоветской России насчитывает более 35 лет, за этот период сменилось несколько поколений СУБД. Можно увлеченно спорить о том, насколько рациональным был этот процесс и какова эффективность той или иной конкретной СУБД. Однако важнее другое – хороши или плохи были эти системы, но в них аккумулировано значительное количество информации, которая используется в практических целях. Ясно, что с каждым годом объем таких данных возрастает.
Системы управления непрерывно совершенствуются. Мировой опыт показывает, что поколения СУБД сменяются примерно каждые 5 лет. Естественно, все более актуальным становится вопрос конвертирования данных, то есть перевода их в новую программную среду без потери информации. Решая, какую СУБД выбрать, обязательно учитывайте ее возможности конвертирования; они не менее важны, чем удобство разработки БД в данной программной среде.
Названным условиям удовлетворяет СУБД Access, входящая в состав комплексного программного продукта Microsoft Office. Последней версией этой системы на сегодняшний день является Access 2002, или Access ХР. Именно эта версия рассматривается в настоящем издании в качестве основной. Поэтому в дальнейшем мы не будем указывать индекс рядом с названием, говоря просто Access. Если же подразумевается какая-либо другая версия, например Access 97 или Access 2000, то она указывается с соответствующим индексом. Правда, на современном рынке много и других программных продуктов, успешно используемых в качестве платформы для банка данных. Поэтому сформулируем те критерии, на основании которых следует выбирать СУБД, и оценки Access по этим показателям[2]:
• количество ключевых (дескрипторных) полей, поддерживаемых в СУБД.
В Access ограничения на эту величину отсутствуют;
• ограничение на длину поля.
В Access данное ограничение составляет 255 байт для текстовых полей и до 255 байт – для числовых, в зависимости от типа поля;
• разнообразие типов обрабатываемых полей.
В Access имеются поля, содержащие текстовый и числовой типы данных. Эти типы, в свою очередь, представлены разными вариантами;
• дизайнерские возможности системы.
Наличие в Access мастеров и конструкторов позволяет достаточно быстро создавать таблицы, формы, отчеты, запросы. Добавление диаграмм в формы и отчеты, быстрая настройка программы и анализ ее быстродействия, использование архивариуса, возможность импорта и экспорта файлов, работа с гиперссылками и применение технологии OLE внутри пакета Microsoft Office;
• требования к уровню подготовки проектировщика и пользователя БД. Минимальные. Некоторые программные навыки нужны лишь в том случае, если придется использовать Visual Basic;
• язык программирования, операционная среда, сетевые возможности, требуемые ресурсы.
Язык запросов SQL, Visual Basic, операционная система Windows 98 или выше, а также Windows NT. При полной установке потребуется 26–30 Мбайт оперативной памяти и около 120 Мбайт памяти на жестком диске. Однако Access, как правило, устанавливается в составе программного комплекса Microsoft Office, и тогда требуется около 200 Мбайт памяти на жестком диске. Система Access обладает всеми современными сетевыми возможностями;
• язык представления данных, обработка символьной информации.
Имеются;
• поддерживаемые структуры и форматы данных.
В Access поддерживаются реляционные структуры данных;
• простота освоения системы, наличие русской версии документации.
Первичное освоение займет всего несколько дней. Имеется русифицированная версия Access в составе пакета Microsoft Office, а также русифицированная документация для пользователей различных уровней подготовки;
• поддерживаемый системой математический аппарат.
В Access он достаточно развит и включает операторы, функции, логические выражения и т. д. Более того, статус Access как органической составной части Microsoft Office позволяет легко пользоваться математическим аппаратом Excel;
• поддерживаемые системой возможности обработки и представления графической информации.
В Access поддерживаются операции с диаграммами. Поскольку эта СУБД встроена в пакет Microsoft Office, то пользователь может работать и с другими графическими объектами, входящими в состав данного пакета;
• возможности взаимодействия с другими пакетами прикладных программ (текстовыми редакторами, электронными таблицами, геоинформационными системами (ГИС) и др.).
В рамках пакета Microsoft Office можно работать с Word и Excel;
• возможности корректировки файлов, содержащих данные.
В Access это очень просто сделать;
• наличие русифицированной и достаточно подробной справочной системы, а также файлов Help (Помощь).
Такая справочная система есть, и она доступна из любого режима в любой момент;
• разнообразие и гибкость формируемых запросов на предоставление данных.
Система Access отвечает этому условию.
Наверное, приведенные выше оценки не дают оснований утверждать, что Access – идеальная СУБД. Однако безупречных СУБД вообще не существует. Сравним, к примеру, Access с такой системой, как Oracle. Последняя – СУБД гораздо более высокого класса, значительно превосходящая Access по своим возможностям. Но такие преимущества имеют и оборотную сторону: Oracle громоздка, сложна в освоении и требует для нормального функционирования специальные и очень мощные технические средства. Область применения Oracle – создание очень больших централизованных информационных систем. По-видимому, время их массового использования в России еще не наступило.