|
Компонент представления |
|
^ |
Первый уровень
Клиент
Второй уровень
Сервер базы данных
База данных
Прикладной компонент
SQL
Компонент доступа к ресурсам
Рис. 1.9. Модель сервера базы данных
DBS-модель реализована в некоторых реляционных СУБД (Firebird, Informix, Ingres, Sybase, Oracle). Ее основу составляет механизм хранимых процедур – средство программирования SQL-сервера.
В DBS-модели компонент представления выполняется на компьютере-клиенте, в то время как прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Там же выполняется компонент доступа к данным, то есть ядро СУБД.
Хранимые процедуры представляют собой группу команд SQL, объединенных в один модуль. Такая группа команд, объединяющая запросы и процедурную логику (операторы присваивания, логического ветвления и т.д.), компилируется и выполняется как единое целое.
Хранимые процедуры позволяют содержать вместе с базой данных достаточно сложные программы, выполняющие большой объем работы без передачи данных по сети и взаимодействия с клиентом. Клиентское приложение обращается к серверу с командой запуска хранимой процедуры, а сервер выполняет эту процедуру и регистрирует все изменения в БД. Как правило, программы, записываемые в хранимых процедурах, связаны с обработкой данных. Тем самым база данных может представлять собой функционально самостоятельный уровень приложения, который может взаимодействовать с другими уровнями для получения запросов или обновления данных.
Словарь данных (системный каталог СУБД) – это централизованное хранилище сведений об объектах, элементах данных, входящих в состав объектов, взаимосвязях между объектами, их источниках, значениях, использовании и форматах представления.
Процедуры хранятся в словаре базы данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. Хранимые процедуры могут быть использованы несколькими клиентами, что существенно уменьшает дублирование алгоритмов обработки данных в разных клиентских приложениях. Язык, на котором разрабатываются хранимые процедуры, представляет собой процедурное расширение языка запросов SQL и уникален для каждой конкретной СУБД. Более подробно хранимые процедуры будут рассмотрены позднее.
предыдущаяследующая