Конечно, нельзя заранее предусмотреть все возможные варианты запросов. Назовем лишь самые характерные типы запросов пользователя к банку данных в порядке возрастания сложности:
• запросы на обработку данных, связанных с одной таблицей (выборка, удаление, корректировка и ввод данных);
• запросы на групповую обработку данных (сумма, среднее значение и т. д.), связанных с одной таблицей;
• запросы, при которых условием отбора записи является полное значение поля;
• запросы, при которых условием отбора записи является неполное значение поля;
• запросы с несколькими условиями отбора записей в разных полях;
• запросы с несколькими условиями отбора записей в одном поле;
• запросы с заданием параметров;
• запросы на создание объединенной выборки из нескольких разнородных таблиц и т. д.
Как уже говорилось, наличие в банке разнородных баз данных несколько усложняет работу. Подробнее этот вопрос рассматривается в следующих разделах.
Проблемы, связанные с выбором СУБД
Говоря о создании банка данных и его последующей работе в производственном режиме, надо определить, в какой программной среде он будет функционировать. Вопрос этот не так прост, и при его решении надо учитывать два существенных аспекта проблемы:
• для упорядоченного накопления и хранения поступающей информации приходится разрабатывать новые базы данных. Логично, что вы будете оценивать различные СУБД именно с этой точки зрения. Здесь не требуется особых комментариев;
• история использования компьютерных банков данных в СССР и в постсоветской России насчитывает более 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 – создание очень больших централизованных информационных систем. По-видимому, время их массового использования в России еще не наступило.
В то же время Access является весьма гибкой и универсальной системой, предъявляющей достаточно умеренные требования к техническому обеспечению. Поэтому на сегодняшнем этапе эта СУБД удобна для работы практически на всех иерархических уровнях управления производством – от отрасли в целом до отдельного предприятия.
Вопросы, рассмотренные в настоящей книге
Приведенные выше оценки относятся к версии Access 97. Как уже было сказано, на рынке появилась очередная версия этой СУБД – Access 2002 (Access ХР), обладающая более широкими возможностями. Поэтому при изложении материала автор учитывал:
• наличие в версии Access 2002 новых элементов по сравнению с Access 97;
• особенности, обусловленные использованием разнородных баз данных.
В той или иной степени специфика разных версий Access проявляется на всех этапах работы: от создания первичных таблиц до формирования запросов и использования элементов программирования. Можно было или сосредоточиться на том, чем отличаются друг от друга два варианта баз данных и программ (тогда материал неизбежно был бы изложен отрывочно и непоследовательно), или рассматривать весь процесс создания и использования банка данных от начала до конца в каждой из версий, по ходу описания комментируя различия между ними. Хотя во втором случае неизбежны повторы и в какой-то мере дублирование уже имеющейся литературы, для читателя такой вариант удобнее. Все необходимые сведения приводятся в одной книге, и пользователю не придется, забыв какую-то мелочь, «буксовать» из-за этого в повседневной работе.
Чтобы пользователю было легче работать с этой книгой, материал изложен следующим образом.
Все методические рекомендации по структуризации показателей и проектированию логических структур БД применимы к любой версии Access.
В книге описывается процесс создания новых баз данных в программной среде Access 2002. Отличия этой версии от предыдущих версий специально оговариваются.