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

Мы уже упомянули о том, что кроме таблиц база данных может содержать и другие типы объектов. Привести полную классификацию возможных объектов баз данных затруднительно, поскольку каждая система управления базами данных может реализовать свои типы объектов. Однако основные типы объектов мы можем

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

Таблицы.Как мы уже говорили, это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хра­нят и структуру базы (поля, их типы и свойства).

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

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

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

Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу. Если хотят подчерк­нуть факт «временности» этой таблицы, то ее еще называют моментальным сним­ком. Когда мы работаем с основными таблицами базы, мы физически имеем дело с жестким диском, то есть с очень медленным устройством (напомним, что это свя­зано с особенностью сохранения данных, описанной выше). Когда же на основании запроса мы получаем результирующую таблицу, то имеем дело с электронной таб­лицей, не имеющей аналога на жестком диске, — это только образ отобранных полей и записей. Разумеется, работа с «образом» происходит гораздо быстрее и эффек­тивнее — это еще одно основание для того, чтобы широко использовать запросы.

Когда в главе 1 мы обсуждали основные структуры данных, то отметили, что недо­статком упорядоченных табличных структур является сложность их обновления, поскольку при внесении новых записей нарушается упорядоченность — прихо­дится переделывать всю таблицу. В системах управления базами данных и эта про­блема решается благодаря запросам.

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

 

Рис.3 Два запроса, сформированные на основе одной таблицы

Формы.Если запросы — это специальные средства для отбора и анализа данных, то фор­мы — это средства для ввода данных. Смысл их тот же — предоставить пользователю сред­ства для заполнения только тех полей, кото­рые ему заполнять положено. Одновременно с этим в форме можно разместить специаль­ные элементы управления (счетчики, раскры­вающиеся списки, переключатели, флажки и прочие) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму делают графическими средст­вами так, чтобы она повторяла оформление бланка, — это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок. На сопроводительном рисунке приведен пример простейшей формы для ввода данных.

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

Рис.4 Форма для оформленного вывода данных

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

Рис. 5. Пример простейшего отчета

Страницы. Это специальные объекты баз данных, реализованные в последних вер­сиях СУБД Microsoft Ассеss. Правда, более корректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде НТМL, раз­мещаемый на web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель web-узла может просматривать записи базы в полях страницы доступа (рис.). Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Ассеss. Страницы доступа, созданные средствами Microsoft Ассеss, позволяют работать также с базами данных Microsoft SQL Server.

Рис. .6 Пример простейшей страницы доступа

Макросы и модули. Эти категории объектов предназначены как для автоматиза­ции повторяющихся операций при работе с системой управления базами данных, так и для создания новых функций путем программирования. В СУБД Microsoft Ассеss макросы состоят из последовательности внутренних команд СУБД и явля­ются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования, в данном случае языка Visual Bsic for Applications. Это одно из средств, с помощью которых разработчик базы может зало­жить в нее нестандартные функциональные возможности, удовлетворить специфи­ческие требования заказчика, повысить быстродействие системы управления, а так­же уровень ее защищенности.