============= КОМАНДА CREATE VIEW ===========
Вы создаете представление командой CREATE VIEW. Она
состоит из слов CREATE VIEW (СОЗДАТЬ ПРЕДСТАВЛЕНИЕ), имени представления которое нужно
создать, слова AS
(КАК), и далее запроса, как в следующем примере:
CREATE VIEW Londonstaff AS SELECT * FROM Salespeople WHERE city = 'London';
Теперь Вы имеете представление, называемое Londonstaff. Вы можете использовать это
представление точно так же
как и любую другую таблицу. Она может быть запрошена, модифицирована, вставлена в, удалена из,
и соединена с,
другими таблицами и представлениями. Давайте сделаем запрос такого представления ( вывод показан в Рисунке 20.1):
SELECT * FROM Londonstaff;
snum |
sname |
city |
comm |
1001 |
Peel |
London |
0.1200 |
1004 |
Motika |
London |
0.1100 |
Рисунок 20.1: Представление Londonstaff
Когда вы приказываете SQL выбрать(SELECT) все строки ( * ) из представления,
он выполняет запрос содержащий в определении - Loncfonstaff, и возвращает все из его вывода.
Имея предикат в запросе
представления, можно вывести только те строки из представления, которые будут удовлетворять
этому предикату. Вы
могли бы вспомнить, вы имели таблицу, называемую Londonstaff, в которую вы вставляли это же
самое
содержание ( конечно, мы понимаем что таблица - не слишком велика. Если это так, вы будете
должны выбрать другое имя
для вашего представления). Преимущество использования представления, по сравнению с основной
таблицы, в том, что
представление будет модифицировано автоматически всякий раз, когда таблица лежащая в его
основе изменяется.
Содержание представления не фиксировано, и переназначается каждый раз когда вы ссылаетесь на
представление в команде.
Если вы добавите завтра другого, живущего в Лондоне продавца, он автоматически появится в
представлении.
Представления значительно расширяют управление вашими данными. Это - превосходный способ дать
публичный доступ к
некоторой, но не всей информации в таблице. Если вы хотите чтобы ваш продавец был показан в
таблице Продавцов, но
при этом не были показаны комиссии других продавцов, вы могли бы создать представление с
использованием
следующего оператора ( вывод показан в Рисунке 20.2 )
CREATE VIEW Salesown AS SELECT snum, sname, city FROM Salespeople;
snum |
sname |
city |
1001 |
Peel |
London |
1002 |
Serres |
San Jose |
1004 |
Motika |
London |
1007 |
Rifkin |
Barcelona |
1003 |
Axelrod |
New York |
Рисунок 20.2: Представление Salesown
Другими словами, это
представление - такое же как для таблицы Продавцов, за исключением того, что поле comm, не
упоминалось в запросе, и
следовательно не было включено в представление.