Это начальный этап работы с СУБД, его также можно отнести к проектированию БД. В СУБД для каждой таблицы задаются следующие характеристики:
§ имена полей и требования к значениям полей: тип поля, длина поля (максимальное число символов) и так далее;
§ задается ключ таблицы;
§ задаются поля-индексы (термин поясняется ниже);
§ задаются ограничения ссылочной целостности.
Поясним термины «индекс» и «ограничения ссылочной целостности». Для ускорения поиска и сортировки данных одно или два поля в таблице рекомендуется «объявить» индексами [4]. В качестве индексов задаются поля, которые наиболее часто фигурируют в запросах или командах на сортировку. Индекс может состоять из нескольких полей (составной индекс).
При задании параметров таблицы в СУБД Access ключевое поле автоматически становится индексом. Задание других индексов в таблице не является обязательным. Для получения справки Access относительно индексов нужно выбрать раздел «Создание индекса для сортировки и ускорения поиска».
Задание ограничений ссылочной целостности – это задание режима работы СУБД, при котором она следит за поддержкой целостности данных (раздел 2.2).
Упрощенный вариант нормализации таблиц
Вместо составного ключа в любой таблице всегда можно «ввести» простой ключ. Для этого нужно первым полем таблицы сделать поле типа «Счетчик» (подраздел «Типы данных…» раздела 3.3). Дать этому полю имя (например, «Код»). И объявить это поле ключевым. Тогда значениями поля будут номера строк. Причем записи в таблице будут нумероваться автоматически (независимо от того, есть уже в таблице записи или они только начали вводиться). Так как номер записи однозначно ее определяет, номер действительно можно взять за ключ.
При использовании «Счетчика» в качестве простого ключа нормализация таблицы упрощается. А именно, не нужно будет выполнять второй этап алгоритма нормализации.
3. СУБД Access
3.1. Назначение СУБД Ms Access. Создание запросов
Ms Access – это система управления реляционными базами данных. Эта СУБД является приложением WINDOWS и входит в пакет Ms Office. В частности, это означает, что:
а) Возможен обмен таблицами между Access и Excel; вставка таблиц Access в документ Word.
б) На основе Access можно создавать приложения, то есть специализированные СУБД, являющиеся приложениями WINDOWS. Это делается с помощью языка программирования VBA [5, 6]. Приложения создаются для упрощения работы с СУБД. В частности для того, чтобы с БД мог работать пользователь, не владеющий Access.
С помощью этого приложения создаются следующие объекты:
· таблицы со связями между ними,
· формы,
· запросы,
· отчеты,
· макросы,
· приложения [3-6].
Поясним эти термины.
Назначение запросов рассмотрено выше в разделе «2.3.Работа с СУБД».
Отчет – это запрос, дополненный указаниями относительно формата таблицы-результата и параметров ее распечатки (раздел 3.5).
Access-приложение – создаваемая в среде Access на языке программирования VBA-программа, предназначенная для решения конкретных задач (VBA-приложение). Приложения создаются для удобства работа с БД. При этом можно работать как с таблицами БД, так и с таблицами, полученными с помощью запросов.
Форма – это VBA-приложение, имеющее интерфейс в виде диалогового окна с кнопками, флажками, переключателями и так далее. Для упрощения работы с БД пользователь может создать набор форм. Открывая Access, пользователь получает их в свое распоряжение.
Макрос – это наиболее простой вид VBA-программы. Часто макросы получают упрощенным способом, не применяя язык VBA явным образом (не программируя на этом языке). В этом случае, макрос получают с помощи записи операций, выполняемых пользователем в среде Access.
Макросы и более сложные приложения предназначены для «автоматизации» работы в среде СУБД (более подробно это рассмотрено, например, в [4]).
Все указанные выше объекты СУБД запоминаются в одном файле. Имя файла имеет расширение .mdb. Расширение приписывается автоматически, если имя БД дается в среде Access.
В данном пособии будет разобрано создание таблиц и связей между ними, создание запросов и отчетов. Создание форм, перекрестных запросов и другие операции разобраны в упражнениях пособия [7].