Режимы работы с базами данных
Обычно с базами данных работают две категории исполнителей. Первая категория — проектировщики. Их задача состоит в разработке структуры таблиц базы данных и согласовании ее с заказчиком. Кроме таблиц проектировщики разрабатывают и другие объекты базы данных, предназначенные, с одной стороны, для автоматизации работы с базой, а с другой стороны — для ограничения функциональных возможностей работы с базой (если это необходимо из соображений безопасности).
Вторая категория исполнителей, работающих с базами данных, — пользователи. Они получают исходную базу данных от проектировщиков и занимаются ее наполнением и обслуживанием. В общем случае пользователи не имеют средств доступа к управлению структурой базы — только к данным, да и то не ко всем, а к тем, работа с которыми предусмотрена на конкретном рабочем месте.
Соответственно, система управления базами данных имеет два режима работы: проектировочный и пользовательский. Первый режим предназначен для создания или изменения структуры базы и создания ее объектов. Во втором режиме происходит использование ранее подготовленных объектов для наполнения базы или получения данных из нее.
Объекты базы данных
В Microsoft Access эта СУБД позволяет создавать и использовать объекты семи различных типов.
Таблицы. Это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).
Запросы. Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде.
Из соображений безопасности, чем меньше доступа к базовым таблицам имеют конечные пользователи, тем лучше. В банках, например, одни сотрудники имеют доступ к таблицам данных о клиентах, другие — к их расчетным счетам, третьи — к таблицам активов банка. Если и есть специальные службы, имеющие доступ ко всем информационным ресурсам банка (с целью контроля и анализа), то они лишены средств для внесения изменений — все сделано так, чтобы один человек не мог совершить фиктивную операцию, независимо от того, какую должность он занимает. В базе данных, имеющей правильно организованную структуру, для совершения противоправных действий необходим сговор нескольких участников, а такие действия пресекаются не программными, а традиционными средствами обеспечения безопасности.
Когда в главе 1 мы обсуждали основные структуры данных, то отметили, что недостатком упорядоченных табличных структур является сложность их обновления, поскольку при внесении новых записей нарушается упорядоченность — приходится переделывать всю таблицу. В и эта проблема решается благодаря запросам.
Основной принцип систем управления базами данных состоит в том, что от базовых таблиц никакой упорядоченности не требуется. Все записи в основные таблицы вносятся только в естественном порядке по мере их поступления, то есть в неупорядоченном виде. Если же пользователю надо видеть данные, отсортированные или отфильтрованные по тому или иному принципу, он просто использует соответствующий запрос (рис. 3). Если нужного запроса нет, он обращается к проектировщику и просит его такой запрос сделать и предоставить.
Проведена сортировка по цене изделия Проведена сортировка по имени поставщика
Рис. 3. Два запроса, сформированные на основе одной таблицы
Формы. Если запросы — это специальные средства для отбора и анализа данных, то формы — это средства для ввода данных.
С помощью форм данные можно не только вводить, но и отображать. Запросы тоже отображают данные, но делают это в виде результирующей таблицы, не имеющей почти никаких средств оформления. При выводе данных с помощью форм можно применять специальные средства оформления (рис. 4).
Рис. 4. Форма для оформленного вывода данных
Отчеты. По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены только для вывода данных, причем для вывода не на экран, а на печатающее устройство (принтер). (рис. 5).
Рис. 5. Пример простейшего отчета
Страницы. Это специальные объекты баз данных, реализованные в Microsoft Access. Правда, более корректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа (рис. 6). Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере.
Поля вывода данных —/ \— Панель управления просмотром
Рис. 6. Пример простейшей страницы доступа
Макросы и модули. Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с системой управления базами данных, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.
Проектирование базы данных
При проектировании базы методически правильно начинать работу с карандашом и листом бумаги в руках, не используя компьютер. На данном этапе он просто не нужен. Неоптимальные решения и прямые ошибки, заложенные на этапе проектирования, впоследствии очень трудно устраняются, поэтому этот этап является основополагающим.
Разработка технического задания. Техническое задание на проектирование базы данных должен предоставить заказчик.
При подготовке технического задания составляют:
• список исходных данных, с которыми работает заказчик;
• список выходных данных, которые необходимы заказчику для управления структурой своего предприятия;
• список выходных данных, которые не являются необходимыми для заказчика, но которые он должен предоставлять в другие организации.