База данных — важнейшая составная часть информационных систем. Информационные системы предназначены для хранения и обработки больших объемов информации. Изначально такие системы существовали в письменном виде. Для этого использовались различные картотеки, папки, журналы, библиотечные каталоги и т.п. Базы данных — это реализованная с помощью компьютера информационная структура (модель), отражающая состояния объектов и их отношения [1].
В общем смысле термин «база данных» можно применить к любой совокупности связанной информации, объединенной вместе по определенному признаку. Примерами баз данных могут служить адресная книга, картотека, словарь, энциклопедия или кафедральный журнал. При этом в качестве базы данных рассматривается только набор данных, организованных определенным образом.
База данных предполагает наличие комплекса программных средств, обслуживающих эту базу данных и позволяющих использовать содержащуюся в ней информацию. Такие комплексы программ называются СУБД (системы управления базой данных). Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнение ее содержимым, редактирование содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройства вывода или передачи по каналам связи.
В мире существует множество систем управления базами данных. Несмотря на то, что они могут по–разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий.
Основные функции СУБД:
1. Определение данных — определить, какая именно информация будет храниться в базе данных, задать свойства данных, их тип, а также указать, как эти данные связаны между собой.
2. Обработка данных — данные могут обрабатываться самыми разными способами. Можно выбирать любые поля, фильтровать и сортировать данные. Можно объединять данные со связанной информацией, вычислять итоговые значения.
3. Управление данными — можно указать, кому разрешено знакомиться с данными, корректировать их или добавлять новую информацию. Можно определить правило коллективного доступа.
СУБД поддерживают один из возможных типов моделей данных — сетевую, иерархическую или реляционную, которые являются важнейшими признаками классификации СУБД.
Основными средствами СУБД являются:
- средства задания структуры данных;
- средства конструирования экранных форм, предназначенных для ввода данных, просмотра и обработки в диалоговом режиме;
- средства создания запросов для выборки данных при заданных условиях, а также выполнения операций по их обработке;
- средства создания отчетов из базы данных для вывода на печать результатов обработки в удобном для пользователя виде;
- языковые средства — макросы, встроенный алгоритмический язык, язык запросов и т.п., которые используются для реализации нестандартных алгоритмов обработки данных, а также процедур обработки событий в задачах пользователя;
- средства создания приложений пользователя, позволяющие объединять различные операции работы с базой данных в единый технологический процесс.
Архитектура СУБД состоит из двух основных компонентов: языка описания данных и языка манипулирования данными. Язык описания данных (ЯОД) — средства описания данных в БД и связей между ними. Средствами этого языка описывается структура БД, форматы записей, пароли, защищающие данные.
Язык манипулирования данными (ЯМД) — язык для выполнения операций над данными, позволяющий менять их строение. Для разных СУБД реализация этих уровней языков может быть различной. В одних случаях ЯОД и ЯМД требует составления пользователем программы полностью «вручную», в других (что отражает современную тенденцию) СУБД присутствуют средства визуальной (зримой, наглядной) разработки программ. Для этого в современных СУБД имеются редакторы экранных форм, отчетов. «Кирпичиками» (инструментами) таких редакторов являются поля различных видов (поля ввода, поля вывода, вычисляемые поля), процедуры обработки различных типов (формы ввода, таблицы, отчеты, запросы). На основании созданных пользователем объектов программы–генераторы формируют программный код на языке конкретной машины или на промежуточном языке.
Обычно с базами данных работают две категории пользователей. Первая категория — проектировщики. Их задача состоит в разработке структуры таблиц базы данных и согласовании ее с заказчиком. Вторая категория исполнителей, работающих с базами данных, — пользователи. Они получают исходную базу данных от проектировщиков и занимаются ее наполнением и обслуживанием.
Соответственно СУБД имеет два режима работы: проектировочный и пользовательский. Первый режим предназначен для создания или изменения структуры базы и ее объектов. Во втором режиме происходит использование ранее подготовленных объектов для наполнения базы или получения данных из нее.
Выбор СУБД для практического приложения пользователем определяется многими факторами, к которым относятся:
- имеющееся техническое и базовое программное обеспечение, их конфигурация, оперативная и дисковая память;
- потребности разрабатываемых приложений пользователя;
- тип поддерживаемой модели данных, специфика предметной области и т.п.;
- требования к производительности при обработке данных;
- наличие в СУБД необходимых функциональных средств;
- наличие русифицированной версии СУБД;
- уровень квалификации пользователей и наличие в СУБД диалоговых средств разработки и работы с базой данных.
Кратко рассмотрим характеристики наиболее известных СУБД.
Paradox
Paradox был разработан компанией Ansa Software. В конце 80–х — начале 90–х годов Paradox, принадлежавший тогда компании Borland International, был весьма популярной СУБД, в том числе и в нашей стране, где он одно время занимал устойчивые позиции на рынке средств разработки настольных приложений с базами данных.
Принцип хранения данных в Paradox сходен с принципами хранения данных в dBase. Однако, в отличие от dBase, формат данных Paradox не является открытым, поэтому для доступа к данным этого формата требуются специальные библиотеки.
Отметим, однако, что отсутствие «открытости» формата данных имеет и свои достоинства. Так как в этой ситуации доступ к данным осуществляется только с помощью «знающих» этот формат библиотек, простое редактирование подобных данных по сравнению с данными открытых форматов типа dBase существенно затруднено. В этом случае возможны такие недоступные при использовании «открытых» форматов данных сервисы, как защита таблиц и отдельных полей паролем, хранение некоторых правил ссылочной целостности в самих таблицах — все эти сервисы предоставляются Paradox, начиная с первых версий этой СУБД.
Microsoft FoxPro и Visual FoxPro
FoxPro ведет свое происхождение от настольной СУБД FoxBase фирмы Fox Software. По сравнению с аналогичными версиями dBase, FoxBase и более поздняя версия этого продукта, получившая название FoxPro, предоставляли своим пользователям несколько более широкие возможности, такие, как использование деловой графики, генерация кода приложений, автоматическая генерация документации к приложениям и т.д.
Впоследствии этот продукт был приобретен компанией Microsoft. Его последние версии (начиная с версии 3.0, выпущенной в 1995 г.) получили название Visual FoxPro. В состав Visual FoxPro в течение нескольких последних лет входят средства переноса данных FoxPro в SQL Server и средства доступа к данным этого сервера из Visual FoxPro и созданных с его помощью приложений.
Одна из последних версий этого продукта — Visual FoxPro 6.0 — доступна и отдельно, и как составная часть Microsoft Visual Studio 6.0. Отличительной особенностью этой настольной СУБД от двух рассмотренных выше является интеграция этого продукта с технологиями Microsoft, в частности поддержка COM (Component Object Model — компонентная объектная модель, являющаяся основой функционирования 32–разрядных версий Windows и организации распределенных вычислений в этой операционной системе), интеграция с Microsoft SQL Server, возможности создания распределенных приложений, основанных на концепции Windows DNA (Distributed interNet Applications).
Microsoft Access
Первая версия СУБД Access появилась в начале 90–х годов. Это была первая настольная реляционная СУБД для 16–разрядной версии Windows. Популярность Access значительно возросла после включения этой СУБД в состав Microsoft Office.
В отличие от Visual FoxPro, фактически превратившегося в средство разработки приложений, Access ориентирован в первую очередь на пользователей Microsoft Office, в том числе и незнакомых с программированием. Это, в частности, проявилось в том, что вся информация, относящаяся к конкретной базе данных, а именно таблицы, индексы (естественно, поддерживаемые), правила ссылочной целостности, бизнес–правила, список пользователей, а также формы и отчеты хранятся в одном файле, что в целом удобно для начинающих пользователей.
Поддержка COM в Access выражается в возможности использовать элементы управления ActiveX в формах и Web–страницах, созданных с помощью Access. В отличие от Visual FoxPro создание COM–серверов с помощью Access не предполагается.
Microsoft Access может быть использован, с одной стороны, в качестве настольной СУБД и составной части офисного пакета, а с другой стороны, в качестве клиента Microsoft SQL Server, позволяющего осуществлять его администрирование, манипуляцию его данными и создание приложений для этого сервера.
В Microsoft Access пользователь может выбрать, какой механизм доступа к данным следует применять: Microsoft Jet — стандартный набор библиотек доступа к данным или MSDE (в этом случае управление базой данных осуществляется с помощью отдельного процесса). Возможно преобразование имеющихся баз данных Access в базу данных MSDE из среды разработки Access.
OpenOffice.org Base
OpenOffice.org Base является некоммерческим аналогом СУБД Microsoft Access. Сама программа очень проста и приятна в использовании. Но за всей ее простотой есть много функций. Как уже сложилось у разработчиков OpenOffice.org, заголовки меню всех программ полностью повторяют их аналоги от Microsoft.
Мастер отчетов отображает нужный вам отчет в приложении Writer. Там же можно вручную отредактировать этот отчет, чего не может обеспечить Access. Следует учитывать, что при всей похожести OpenOffice.org Base не совместим с Microsoft Access.
Для домашнего использования или для использования программы на малых предприятиях OpenOffice.org Base — лучший бесплатный помощник. В программе небольшое количество функций, но самое основное и необходимое в ней есть. Поэтому с уверенностью можно сказать, что OpenOffice.org Base даже сегодня может составить здоровую конкуренцию Microsoft Access.
В данном учебном пособии мы рассмотрим именно приложение OpenOffice.org Base, так как создание баз данных в этом приложении не требует знания каких–либо языков программирования, а также, изучив OpenOffice.org Base, вы легко сможете освоить Microsoft Access и аналогичные ему продукты.