Двухуровневые модели

Двухуровневая модель фактически является результатом распределения пяти указанных функций между двумя процессами, которые выполняются на двух платформах: на клиенте и на сервере. В чистом виде почти никакая модель не существует, приведем наиболее характерные особенности каждой двухуровневой модели:

1) Модель удаленного управления данными или модель файлового сервера (File Server, FS). В этой модели СУБД, а также функции управления всеми информационными ресурсами находится на клиенте. На сервере располагаются файлы с данными, и поддерживается доступ к файлам. Запрос клиента формулируется в командах DML. СУБД переводит этот запрос в последовательность файловых команд. Каждая файловая команда вызывает перекачку блока информации на клиента.

2) В модели удаленного доступа к данным (Remote Data Access, RDA) база данных хранится на сервере. На сервере же находится ядро СУБД. На клиенте располагается презентационная логика и бизнес-логика приложения. Клиент обращается к серверу с запросами на языке SQL.

3) Модель сервера баз данных. Данную модель поддерживают большинство современных СУБД.. Основу данной модели составляет механизм хранимых процедур как средство программирования SQL-сервера, механизм триггеров как механизм отслеживания текущего состояния информационного хранилища и механизм ограничений на пользовательские типы данных, который иногда называется механизмом поддержки доменной структуры.

В этой модели бизнес-логика разделена между клиентом и сервером. На сервере бизнес-логика реализована в виде хранимых процедур — специальных программных модулей, которые хранятся в БД и управляются непосредственно СУБД. Клиентское приложение обращается к серверу с командой запуска хранимой процедуры, а сервер выполняет эту процедуру и регистрирует все изменения в БД, которые в ней предусмотрены. Сервер возвращает клиенту данные, релевантные его запросу, которые требуются клиенту либо для вывода на экран, либо для выполнения части бизнес-логики, которая расположена на клиенте. Трафик обмена информацией между клиентом и сервером резко уменьшается.

Централизованный контроль в модели сервера баз данных выполняется с использованием механизма триггеров. Механизм использования триггеров предполагает, что при срабатывании одного триггера могут возникнуть события, которые вызовут срабатывание других триггеров. Этот мощный инструмент требует тонкого и согласованного применения, чтобы не получился бесконечный цикл срабатывания триггеров.

В данной модели сервер является активным, потому что не только клиент, но и сам сервер, используя механизм триггеров, может быть инициатором обработки данных в БД. И хранимые процедуры, и триггеры хранятся в словаре БД, они могут быть использованы несколькими клиентами, что. существенно уменьшает дублирование алгоритмов обработки данных в разных клиентских приложениях. Для написания хранимых процедур и триггеров используется расширение стандартного языка SQL, так называемый встроенный SQL.

Недостатком данной модели является очень большая загрузка сервера. Действительно, сервер обслуживает множество клиентов и выполняет следующие функции: осуществляет мониторинг событий, связанных с описанными триггерами; обеспечивает автоматическое срабатывание триггеров при возникновении связанных с ними событий; обеспечивает исполнение внутренней программы каждого триггера; запускает хранимые процедуры по запросам пользователей; запускает хранимые процедуры из триггеров; возвращает требуемые данные клиенту; обеспечивает все функции СУБД: доступ к данным, контроль и поддержку целостности данных в БД, контроль доступа, обеспечение корректной параллельной работы всех пользователей с единой БД.

Если мы переложили на сервер большую часть бизнес-логики приложений, то требования к клиентам в этой модели резко уменьшаются. Иногда такую модель называют моделью с «тонким клиентом», в отличие от предыдущих моделей, где на клиента возлагались гораздо более серьезные задачи. Эти модели называются моделями с «толстым клиентом».

Для разгрузки сервера используется трехуровневая модель.

Список литературы

1. Хансен Г., Хансен Д. Базы данных: разработка и управление. – М.: ЗАО «Издательство БИНОМ», 1999 г.

2. Тихомиров Ю. Microsoft SQL Server 7.0 – СПб. Издательство «Питер», 1999 г.

3. Плю Р., Стефенс Р., Райан К. Освой самостоятельно SQL за 24 часа. – М.: Издательский дом «Вильямс», 2000 г.

4. Кандзюба С.П., Громов В.Н. Delphi 6/7. Базы данных и приложения. – СПб: ООО «ДиаСофтЮП», 2002 г.

5. Бобровский С. Delphi 5: учебный курс. – СПб: Издательство «Питер», 2000 г.

6 Базы данных, учебник для высших учебных заведений под редакцией Хомоненко А. СПб.: Издательство «Корона», 2000 г.

7 Карнова Т.Базы данных. - СПб.: Издательство «Питер», 2000 г.

8 Ю. А. Григорьев, Г. И. Ревунrов. Банки данных. - Изд. МГТУ им. Н. Э. Баумана, 2002 г.

9 С.В. Глушаков, Д. В. Ломотько. Базы данных. Учебный курс. М.: Издательский дом «Вильямс», 2000 г.

10 Джек Л. Харрингтон Проектирование реляционных баз данных просто и доступно. – М.:Издательство «Лори», 2000 г.

11 Т.А. Гаврилова, В. Ф. Хорошевский Базы знаний интеллектуальных систем - СПб,: Излательство «Питер», 2000 г.

12 В. В. Корнеев, А. Ф. Гареев и др. Базы данных интеллектуальная обработка информации - М: «Нолидж», 2000 г.

Содержание с
1 Лекция. Развитие технологии баз данных 1.1 Информационные системы 1.2 Файлы и файловые системы  
2 Лекция. Информационные системы, использующие базы данных 2 .1 Недостатки файловых систем 2.2 Информационные системы, использующие базы данных  
3 Лекция. История развития систем управления базами данных 3.1 Базы данных на больших ЭВМ 3.2 Эпоха персональных компьютеров 3.3 Распределенные базы данных 3.4 Перспективы развития систем управления базами данных  
4 Лекция. Системный анализ предметной области 4.1 Предметная область информационной системы 4.2 Примеры описания предметной области  
5 Лекция. Принципы проектирования баз данных 5.1 Архитектура базы данных 5.2 Концептуальные модели данных  
6 Лекция. Концептуальное моделирование данных 6.1 Основные определения концептуальных моделей данных 6.2 Графическое представление концептуальной модели  
7 Лекция. Разработка ER-диаграммы для предметной области  
8 Лекция. Примеры концептуального моделирования  
9 Лекция. Методы моделирования данных  
10 Лекция. Реляционная модель данных 10.1 Реляционные таблицы и ключи 10.2 Ограничительные условия, поддерживающие целостность данных  
11 Лекция. Преобразование концептуальной модели в реляционную 11.1 Преобразование объектных множеств и атрибутов 11.2 Преобразование отношений  
12 Лекция. Нормализация базы данных  
13 Лекция. Функциональные зависимости и связанные с ними нормальные формы 13.1 Функциональные зависимости и нормальные формы 13.2 Сравнение концептуального и реляционного моделирования  
14 Лекция. Реализация разработанной реляционной схемы 14.1 Структурированный язык запросов SQL 14.2 Объекты базы данных  
15 Лекция. Распределенная обработка данных 15.1 Общие сведения 15.2 Модели «клиент—сервер» в технологии баз данных 15.3 Двухуровневые модели Список литературы