ТЕХНОЛОГИИ СОЗДАНИЯ И ВЕДЕНИЯ БАЗ ДАННЫХ. ФОРМИРОВАНИЕ БАЗ ДАННЫХ

ЛЕКЦИЯ 8

 

8.1. Режимы работы с БД

 

Как правило, с базами данных работают две категории исполнителей:

проектировщики (разрабатывают структуры таблиц, согласуют их с заказчиками, а также разрабатывают другие объекты БД, предназначенные как для автоматизации работы с базой, так и для ограничения функциональных возможностей работы с базой, если это необходимо для обеспечения безопасности; они не наполняют базу конкретными данными, поскольку заказчик может считать их конфиденциальными и не предоставлять посторонним лицам; но в качестве исключения на этапе отладки может быть проведено экспериментальное наполнение базы);

пользователи (занимаются наполнением готовой БД и ее обслуживанием; в общем случае они не имеют средств доступа к управлению структурой базы, а только к данным, да и то не ко всем, а именно к тем, работа с которыми предусмотрена на конкретном рабочем месте).

Соответственно, система управления базами данных имеет два режима работы: проектировочный и пользовательский. Первый режим предназначен для создания или изменения структуры базы и создания ее объектов. Во втором режиме происходит использование ранее подготовленных объектов для наполнения базы или получения данных из нее.

 

8.2. Объекты базы данных

 

Рассмотрим типы объектов БД на примере СУБД Microsoft Access. В версии Microsoft Access 2010 эта СУБД позволяет создавать и использовать объекты семи различных типов:

- таблицы – основные объекты БД;

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

- формы – специальные средства для ввода данных; смысл форм тот же, что и у запросов: предоставлять пользователю средства для заполнения тех полей, которые ему доступны; одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и пр.) для автоматизации ввода; с помощью форм данные можно не только вводить, но и отображать;

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

- макросы и модули – предназначены для автоматизации повторяющихся операций при работе с СУБД и для создания новых функций3 путем программирования; макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой; модули создаются средства внешнего языка программирования – VBA.

 

8.3. Проектирование базы данных

 

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

- демонстрация заказчику работы аналогичной БД, за которой следует спецификация отличий;

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

При подготовке технического задания составляется:

- список исходных данных, с которыми работает заказчик;

- список выходных данных, необходимых заказчику для управления структурой своего предприятия;

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

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

 

8.4. Разработка схемы данных

 

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

Далее, в соответствии с типом данных, размещаемом в каждом поле, определяется наиболее подходящий тип для каждого поля.

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

В каждой таблице намечается ключевое поле. В качестве такового выбирается поле, данные в котором повторяться не могут. Если в таблице вообще нет полей с неповторяющимися данными (то есть которые невозможно сделать ключевыми), то можно воспользоваться дополнительным полем типа Счетчик – оно по определению не должно содержать повторяющихся данных.

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

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

Разработкой схемы данных заканчивается «бумажный» этап работы над техническим предложением. Эту схему можно согласовать с заказчиком, после чего приступать к непосредственному созданию БД.