- •Ю. В. Любицкий
- •Базы данных
- •Содержание
- •Предисловие
- •Введение
- •1. Основные понятия баз данных
- •1.1. Банк данных и его компоненты
- •1.2. Модели данных
- •Пользователи
- •Прикладные
- •СУБД
- •Филиал
- •Магазин
- •Склад
- •Товар
- •Дирекция
- •Подразделение
- •Сотрудники
- •Филиал
- •Дирекция
- •Подразделение
- •Магазин
- •Сотрудники
- •Склад
- •Товар
- •2. Целостность баз данных
- •3. Внутренняя организация СУБД
- •3.1. Общие положения
- •3.2. Линейный список
- •3.3. Инвертированный список
- •3.4. Индексы
- •3.5. Хеширование
- •Область переполнения
- •3.6. Кластеризация
- •4. Распределенная обработка данных
- •4.1. Режимы работы с базой данных
- •4.2. Архитектура «клиент-сервер»
- •4.3. Модели «клиент-сервер»
- •4.4. Управление распределенными данными
- •Параллельный
- •СУБД
- •Приложения
- •СУБД
- •СУБД
- •СУБД
- •5. Восстановление баз данных
- •5.1. Транзакции
- •5.2. Журнал транзакций
- •5.3. Выполнение транзакций в многопользовательских системах
- •6. Защита баз данных
- •7. Основы проектирования реляционных баз данных
- •7.1. Этапы проектирования
- •7.2. Построение концептуальной модели предметной области
- •7.3. Логическое проектирование базы данных
- •7.4. Нормализация отношений
- •7.5. Автоматизированные технологии проектирования баз данных
- •Директор
- •Магазин
- •Название
- •Адрес
- •Работник
- •Продавец
- •Адрес
- •Руководит
- •Товар
- •Артикул
- •Название
- •Цена
- •Фасует
- •Магазин
- •Продавец
- •Товар
- •Заключение
- •Библиографический список
|
46 |
|
|
Клиент |
|
Сервер |
База данных |
|
|
|
|
Ввод и отображение |
SQL запросы |
|
|
данных |
|
|
|
|
|
|
|
Решение прикладных |
|
СУБД |
|
задач |
|
|
|
|
|
|
|
|
|
|
|
Результаты запросов
Рис. 12. Модель удаленного доступа
Впроцессе работы клиент обращается к серверу с запросами на языке SQL (Structured Query Language – язык структурированных запросов). Ответы на эти запросы представляют собой не блоки данных большого объема, часто включающие излишнюю информацию, а конкретные данные, необходимые приложению для решения прикладной задачи.
Вмодели удаленного доступа к данным объемы информации, передаваемой по сети, существенно меньше, чем в модели файлового сервера. Тем не менее они могут оставаться довольно значительными. Другими недостатками рассматриваемой модели являются сложность разработки, модернизации и обслуживания системы, а также относительная пассивность сервера [ 4 ].
Модель сервера баз данных (DataBase Server, DBS)
Вэтой модели, в отличие от модели удаленного доступа к данным, клиент выполняет только функции ввода и отображения данных, прикладные функции реализуются сервером с помощью хранимых процедур (см. рис. 13):
Клиент |
Сервер |
База данных |
Вызов
хранимых процедур Реализация Ввод и отображение хранимых
данных процедур
СУБД
Результаты
выполнения
процедур
Рис. 13. Модель сервера баз данных
47
Хранимые процедуры представляют собой программы, которые хранятся в базе данных (обычно в ее словаре) и управляются СУБД. Одна процедура может быть востребована несколькими клиентами.
Впроцессе работы клиент обращается к серверу, вызывая необходимую процедуру. Сервер выполняет процедуру и фиксирует все возникшие при этом изменения в базе данных, а также возвращает клиенту полученные результаты. Такая технология существенно уменьшает объем информации, передаваемой между клиентом и сервером.
Врассматриваемой модели сервер является активным, через механизм триггеров (действий, выполняющихся автоматически при возникновении определенных событий или ситуаций в БД) он может самостоятельно инициировать обработку информации в базе данных [ 4 ].
Модель сервера баз данных применяется в СУБД MS SQL Server, Oracle, Informix, Ingress и т. д.
Основными недостатками данной модели являются большая загрузка сервера и зависимость хранимых процедур от СУБД, для которой они разработаны.
Модель сервера приложений (Application Server, AS)
Эта модель позволяет уменьшить нагрузку на сервер. В отличие от рассмотренных двухуровневых моделей она является трехуровневой (рис. 14):
Клиент |
Сервер приложений |
Сервер БД База данных |
||||
|
Запуск |
|
|
|
|
|
|
процедур |
|
|
|
|
|
Ввод и |
Реализация |
|
|
СУБД |
|
|
|
|
|
|
|||
отображение |
|
прикладных |
|
|
|
|
|
|
|
|
|
||
данных |
|
функций |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
Результаты
выполнения
процедур
Рис. 14. Модель сервера приложений
Сервер приложений предоставляет некоторые общие услуги клиентам. Сервер баз данных обеспечивает выполнение только непосредственных функций СУБД: создания, ведения, хранения, поддержания целостности баз данных и т. д.
Достоинствами модели сервера приложений являются ее гибкость и универсальность. Основной недостаток – высокие затраты ресурсов серверов.