Изменение значений с помощью представлений.
Речь идет о применении группы команд DML:
INSERT, UPDATE, DELETE.
Использование команд DML в представлениях является опосредованным способом применения их для таблиц, на которых базируется запрос представления.
Пример:
CREATE VIEW Citymatgh (custcity, salescity)
AS SELECT DISTINCT a.city, b.city
FROM Customer a, Sales people b
WHERE a.snum = b.snum
На выходе может быть строка London London- возникает вопрос, к какой паре продавцов в исходной таблицах отнести удаление такой строки?
Это пример представления только для чтения- в него нельзя вносить изменения.
13.7.Технология и модели “клиент - сервер”.
“Клиент - сервер” – это модель взаимодействия компьютеров в сети. Как правило, компьютеры неравноправны: одни владеют и распоряжаются информационно-вычислительными ресурсами, другие- имеют возможность пользоваться ими- файловой системой, почтовой службой, службой печати, базой данных. Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса, а компьютер, желающий им воспользоваться- клиентом.Например, если ресурс- файлы, то сервер называется файл- сервер, если БД, то сервер БД.
Один и тот же компьютер, в принципе может иметь роль и сервера и клиента. Например, при наличии большой ЭВМ (например 15-400), компьютер может работать сервером для клиентов- ПК и посылать запросы большой ЭВМ.
Этот же принцип распространяется и на взаимодействие программ. Так, SQL- ориентированную СУБД называют сервером БД или SQL –сервером, а программы, обращающиеся к нему- SQL – клиентами.
Первоначально (до ПК), СУБД имели централизованную структуру (Большая ЭВМ- терминалы)- это не являлось “клиентом- сервером”, поскольку вся обработка сосредотачивалась в центральной ЭВМ.
Характерной особенностью технологии “клиент - сервер” является распределенная обработка, реализованная в программе- сервере и программах- клиентах, с взаимодействием согласно некоторому определенному протоколу.
При написании программы (приложения) в предметной области используется следующий основной принцип К-С- технологии.
Функции интерактивного приложения разделяются на 4 группы, имеющие различную природу:
· Ввод и отображение данных;
· Прикладные функции предметной области (например, для банковской системы- открытие счета, перевод денег с одного счета на другой и т.п.);
· Фундаментальные функции хранения и управления информационными ресурсами (базами данных, файловыми системами и т.д.);
· Служебные функции- связывающие первые три группы.
Конкретные реализации, в зависимости от накопления перечисленных компонентов, могут быть отнесены к одной из четырех моделей:
· Модель файлового сервера (File Server - FS);
· Модель доступа к удаленным данным (Remote Data Access - RDA);
· Модель сервера БД (Data Base Server - DBS);
· Модель сервера приложений (Application Server - AS).
Модель FS.
Схема запросов к файловой системе.
FS- модель не так давно была исключительно популярной среди разработчиков как базовая для локальных сетей ПК (Fox PRO, Clipper, Clarion, Paradox и т.п.).
В случае многопользовательской СУБД- на рабочем месте выполняется как прикладная программа, так и копия СУБД, а базы данных находятся в разделяемых файлах, находящихся на FS.
При обращении к БД, СУБД направляет запрос к FS. В ответ FS по сети направляет требуемый блок данных. Получив его, СУБД выполняет действия, декларированные в прикладной программе.
Технологический недостаток модели-
Высокий сетевой график, низкая безопасность данных (защита на уровне файлов системы) и узкий спектр манипуляций с данными. Применение FS как сервера БД- ошибочно в принципе.
Модель RDA
(доступ к удаленным данным).
Схема запросов к файловой системе.
Модель RDA существенно отличается от FS- модели характером доступа к информационным ресурсам- (SQL- сервер).
Коды
Клиент направляет запрос к информационным ресурсам. Ядро СУБД сервера обрабатывает запросы и возвращает клиенту результат, оформленный как блок данных. Инициатор манипуляций- клиент.
RDA- модель избавлена от недостатков централизованной системы и FS-системы.
Перенос компоненты представления существенно разгружает сервер, отводя ему роль полной обработки запросов и транзакций.
Язык SQL становится стандартным средством общения клиент – сервер.
Но RDA- модель также не лишена недостатков:
· Взаимодействие «клиент-сервер»- загружает сеть;
· Совмещенные представления прикладного компонента затрудняет администрирование.
Модель сервера БД (DBS).
Реализована в Informix, Ingres, Sybase, Oracle. Ее основу составляет механизм хранимых процедур - средства программирования SQL- сервера. Процедуры хранятся в словаре БД, разделяются между клиентами.
Язык хранимых процедур- это процедурное расширение SQL- уникальное для каждой системы.
В виде набора хранимых процедур оформлен прикладной компонент.
Достоинства DBS- модели:
· Централизованное администрирование прикладных функций;
· Снижение графики (вместо SQL- запросов по сети направляются вызовы хранимых процедур);
· Возможности разделения процедуры между несколькими приложениями.
Недостатки:
· Ограниченность средств написания хранимых процедур;
· В большинстве СУБД отсутствуют средства отладки хранимых процедур.
На практике чаще всего используются смешанные модели, когда поддержка целостности БД и некоторые простейшие прикладные функции поддерживаются DBS- моделью, а более сложные функции выполняются на клиенте (RDA- модель).
Модель AS- сервер приложений.
(Application server).
Характерной особенностью AS- модели является реализация прикладного компонента (группы процессов, выполняющих прикладные функции) на отдельном сервере приложений.
Модель сервера приложений.
В трехзвенной схеме появляется еще один стандартный интерфейс API.
В прикладной компоненте используются универсальные механизмы ОС.
AS-модель является фундаментом для так называемых ТРМ (Transaction Processing Monitors)- мониторов транзакций.
Дата добавления: 2014-11-29; просмотров: 933;