Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
28.03.2015
Размер:
1.58 Mб
Скачать

Представления и подзапросы

Представления также могут использовать подзапросы, включая связанные подзапросы. Рассмотрим сложный пример: допустим, что компания платит премию продавцу, который имеет покупателя с наибольшим количеством заказов на заданную дату.

CREATE VIEW EliteS

AS SELECT b.odate, a.snum, a.sname

FROM Salespeople a, Orders b

WHERE a.snum = b.snum

AND b.amt = (SELECT MAX (amt)

FROM Orders c

WHERE c.odate = b.odate);

Теперь предположим, что вознаграждение должен получить тот продавец, который имел наибольшее количество заказов, по крайней мере, 10 раз, то информацию можно получить, основываясь на первом представлении:

CREATE VIEW Bonus

AS SELECT DISTINCT snum, sname

FROMEliteSaсчитает число строк

WHERE 10< = (SELECT COUNT (*)

FROM EliteS b

WHERE a.snum = b.snum);

Теперь, чтобы извлечь продавца, которому полагается вознаграждение:

SELECT*

FROMBonus;

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

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

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

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

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

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

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

Технология и модели «клиент – сервер»

«Клиент – сервер» – это модель взаимодействия компьютеров в сети. Как правило, компьютеры неравноправны: одни владеют и распоряжаются информационно-вычислительными ресурсами, другие - имеют возможность пользоваться ими - файловой системой, почтовой службой, службой печати, базой данных. Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса, а компьютер, желающий им воспользоваться- клиентом. Например, если ресурс - файлы, то сервер называется файл-сервер, если БД, то сервер БД.

Один и тот же компьютер, в принципе может иметь роль и сервера и клиента. Например, при наличии большой ЭВМ (например AS-400), компьютер может работать сервером для клиентов- ПК и посылать запросы большой ЭВМ.

Этот же принцип распространяется и на взаимодействие программ. Так, SQL- ориентированную СУБД называют сервером БД или SQL –сервером, а программы, обращающиеся к нему- SQL – клиентами.

Первоначально (до ПК), СУБД имели централизованную структуру (Большая ЭВМ- терминалы)- это не являлось “клиентом- сервером”, поскольку вся обработка сосредотачивалась в центральной ЭВМ.

Характерной особенностью технологии “клиент - сервер” является распределенная обработка, реализованная в программе- сервере и программах- клиентах, с взаимодействием согласно некоторому определенному протоколу.

При написании программы (приложения) в предметной области используется следующий основной принцип К-С - технологии.

Функции интерактивного приложения разделяются на 4 группы, имеющие различную природу:

  • ввод и отображение данных;

  • прикладные функции предметной области (например, для банковской системы- открытие счета, перевод денег с одного счета на другой и т.п.);

  • фундаментальные функции хранения и управления информационными ресурсами (базами данных, файловыми системами и т.д.);

  • служебные функции, связывающие первые три группы.

Конкретные реализации, в зависимости от накопления перечисленных компонентов, могут быть отнесены к одной из четырех моделей:

  • Модель файлового сервера (FileServer-FS);

  • Модель доступа к удаленным данным (RemoteDataAccess-RDA);

  • Модель сервера БД (Data Base Server - DBS);

  • Модель сервера приложений (Application Server - AS).

Соседние файлы в папке БД_ТР