Изменение значений с помощью представлений.

Удаление представлений.

Ограничения представлений.

Есть несколько аспектов области запросов, не укладывающихся в рамки определения представления: единственное представление должно базироваться на единственном запросе: UNION и UNION ALL недопустимы.

Нельзя использовать ORDER BY, поскольку выходные данные для запроса, формирующего представления, должны быть неупорядоченными по определению

Синтаксис сходен с удалением таблиц:

DROP VIEW <имя представления>

Речь идет о применении группы команд 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)- мониторов транзакций.