Для того
чтобы избавиться от недостатков модели удаленного доступа, должны быть соблюдены
следующие условия:
Данную модель
поддерживают большинство современных СУБД: Informix, Ingres, Sybase, Oracle,
MS SQL Server. Основу данной модели составляет механизм хранимых процедур как
средство программирования SQL-сервера, механизм триггеров как механизм отслеживания
текущего состояния информационного хранилища и механизм ограничений на пользовательские
типы данных, который иногда называется механизмом поддержки доменной структуры.
Модель сервера баз данных представлена на рис. 10.6.
Рис.
10.6. Модель активного сервера БД
В этой модели
бизнес-логика разделена между клиентом и сервером. На сервере бизнес-логика
реализована в виде хранимых процедур — специальных программных модулей, которые
хранятся в БД и управляются непосредственно СУБД. Клиентское приложение обращается
к серверу с командой запуска хранимой процедуры, а сервер выполняет эту процедуру
и регистрирует все изменения в БД, которые в ней предусмотрены. Сервер возвращает
клиенту данные, релевантные его запросу, которые требуются клиенту либо для
вывода на экран,
либо для выполнения части бизнес-логики, которая расположена на клиенте. Трафик
обмена информацией между клиентом и сервером резко уменьшается.
Централизованный
контроль в модели сервера баз данных выполняется с использованием механизма
триггеров. Триггеры также являются частью БД.
Термин «триггер»
взят из электроники и семантически очень точно характеризует механизм отслеживания
специальных событий, которые связаны с состоянием БД. Триггер в БД является
как бы некоторым тумблером, который срабатывает при возникновении определенного
события в БД. Ядро СУБД проводит мониторинг всех событий, которые вызывают созданные
и описанные триггеры в БД, и при возникновении соответствующего события сервер
запускает соответствующий триггер. Каждый триггер представляет собой также некоторую
программу, которая выполняется над базой данных. Триггеры могут вызывать хранимые
процедуры.
Механизм
использования триггеров предполагает, что при срабатывании одного триггера могут
возникнуть события, которые вызовут срабатывание других триггеров. Этот мощный
инструмент требует тонкого и согласованного применения, чтобы не получился бесконечный
цикл срабатывания триггеров.
В данной
модели сервер является активным, потому что не только клиент, но и сам сервер,
используя механизм триггеров, может быть инициатором обработки данных в БД.
И хранимые
процедуры, и триггеры хранятся в словаре БД, они могут быть использованы несколькими
клиентами, что. существенно уменьшает дублирование алгоритмов обработки данных
в разных клиентских приложениях.
Для написания
хранимых процедур и триггеров используется расширение стандартного языка SQL,
так называемый встроенный SQL. Встроенный SQL мы рассмотрим в главе 12.
Недостатком
данной модели является очень большая загрузка сервера. Действительно, сервер
обслуживает множество клиентов и выполняет следующие функции:
Если мы переложили
на сервер большую часть бизнес-логики приложений, то требования к клиентам в
этой модели резко уменьшаются. Иногда такую модель называют моделью с «тонким
клиентом», в отличие от предыдущих моделей,
где на клиента возлагались гораздо более серьезные задачи. Эти модели называются
моделями с «толстым клиентом».
Для разгрузки
сервера была предложена трехуровневая модель.
Вещество и поле не есть что-то отдельное от эфира, также как и человеческое тело не есть что-то отдельное от атомов и молекул его составляющих. Оно и есть эти атомы и молекулы, собранные в определенном порядке. Также и вещество не есть что-то отдельное от элементарных частиц, а оно состоит из них как базовой материи. Также и элементарные частицы состоят из частиц эфира как базовой материи нижнего уровня. Таким образом, всё, что есть во вселенной - это есть эфир. Эфира 100%. Из него состоят элементарные частицы, а из них всё остальное. Подробнее читайте в FAQ по эфирной физике.
|
![]() |