Двухуровневые модели
Двухуровневая модель фактически является результатом распределения пяти указанных функций между двумя процессами, которые выполняются на двух платформах: на клиенте и на сервере. В чистом виде почти никакая модель не существует, приведем наиболее характерные особенности каждой двухуровневой модели:
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 Двухуровневые модели Список литературы |