10
Часть I. Теория баз данных
и выявления требований к ней конечных пользователей. Проек-
тирование, как правило, поручается администратору базы дан-
ных (АБД) - человеку, хорошо знакомому с машинной обработ-
кой данных. Именно АБД определяет, какие именно данные бу-
дут храниться в процессе концептуального проектирования БД.
Объединяя требования будущих пользователей о содержимом
БД, АБД сначала создает обобщенное описание создаваемой БД с
использованием естественного языка, математических формул,
графиков и других средств. Только после формирования такого
обобщенного представления АБД приступает непосредственно к
формализации представления данных в БД.
В процессе проектирования АБД сталкиваете* с проблемой
управления передачей данных. Запросы к БД от конечных поль-
зователей должны происходить под управлением и контролем
специального программного компонента - диспетчера. Действи-
тельно, в общем случае рабочая станция пользователя от самой
БД может быть физически удалена на значительное расстояние.
Программа-диспетчер передачи данных не является частью
СУБД, а представляет собой отдельное приложение, функциони-
рующее совместно « согласовано.
Здесь возникает необходимость ввести понятие архитектура
клиент/сервер, которая предоставляет настоящую свободу выбо-
ра и согласования различных типов компонентов для клиента,
сервера и всех промежуточных звеньев. Правда, это ведет к ус-
ложнению системы.
Что же означает термин «архитектура клиент/сервер?» Осно-
вой такой системы является сервер БД, представляющий собой
приложение, осуществляющее комплекс действий по управлению
данными - выполнение запросов, хранение и резервное копиро-
вание данных, отслеживание целостности, проверку прав пользо-
вателей, ведение журнала транзакций. В качестве рабочего места
(клиента) при этом может быть использован обычный персональ-
ный компьютер, что позволяет не отказываться от привычной
рабочей ср%гды. '
Таким образом", информационная система построенная по
принципу клиент/сервер, состоит обычно из трех основных
компонентов:
• сервер БД, который и является собственно СУБД и
управляет хранением данных, доступом, защитой, ре-
зервным копированием, отслеживает целостность данных
и выполняет запросы клиента:
• клиенты, представляющие собой различные приложения
пользователей и выполняющие запросы к серверу, прове-
Глава 1.1. Введение в базы данных
11
ряющие допустимость данных и получающие ответы от
него;
• сеть и коммуникационное программное обеспечение,
осуществляющее взаимодействие между клиентом и сер-
вером с помощью сетевых протоколов.
В функции сервера БД входит не только непосредственное об-
служивание данных. Обязательно предусматриваются системы
блокировки и управления многопользовательским доступом,
элементы ограждения данных от несанкционированного доступа,
структуры оптимизации запросов к БД.
Кроме того, в задачи серверной части СУБД входит обеспече-
ние ссылочной целостности данных и контроль завершения
транзакций. Ссылочная целостность данных - это система и на-
бор специальных правил, обеспечивающих единство связанных
данных в БД. Контроль завершения транзакций - задача СУБД
по контролю и предупреждению повреждения данных в нештат-
ных ситуациях, например, при аппаратном сбое.
Эти функции реализуются при помощи хранимых процедур,
триггеров и правил. Хранимые процедуры - это набор особых
действий и манипуляций с данными, который хранится на серве-
ре, причем программы-клиенты способны их выполнять. Тригге-
ры - это вид хранимых процедур. Они связаны с событиями, и
запускаются автоматически, как только на сервере БД с данными
происходит такое событие. Правило - это такой тип триггера, ко-
торый проверяет данные до внесения их в БД.
В задачи коммуникационного программного обеспечения
входит в первую очередь обеспечение возможности программе-
клиенту быстро и легко подключиться к ресурсам сервера. Суще-
ствуют разнообразные варианты этого программного обеспече-
ния, но все они должны освобождать прикладные программы от
сложного взаимодействия с операционной системой, сетевыми
протоколами и серверами ресурсов.
В системах, построенных по принципу клиент/сервер, преоб-
ладают два типа архитектуры процессоров серверов: RISC и Intel.
RISC представляет собой традиционный вариант выбора для
Unix-серверов. Вообще говоря, RISC-серверы по производитель-
ности не намного превосходят серверы на базе Intel-процессоров,
но они стоят от 15 до 50 тысяч долларов.
Серверы на базе процессоров Intel сейчас быстро наращивают
вычислительную способность. С появлением процессора Pentium,
использующего RISC-подобную технологию, платформа Intel
приобретает все более широкую популярность. При этом многие