W Cat - SQL за 24 часа
- Название:SQL за 24 часа
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - SQL за 24 часа краткое содержание
SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
• Хранение представлений
• Создание представлений
• Связанные представления
• Манипуляция данными в представлениях
• Что такое синоним?
• Управление синонимами
• Создание синонимов
• Удаление синонимов
Представление - это виртуальная таблица, т. е. представление выглядит как таблица и ведет себя при обращении с ним пользователя подобно таблице. Представление на самом деле является комбинацией таблиц в форме заранее определенного запроса. Например, на основе таблицы EMPLOYEE_TBL можно создать представление, содержащее только имена и адреса сотрудников, а не все столбцы таблицы. Представление может содержать также не все, а только некоторые столбцы таблицы. Представление может основываться на данных как одной, так и нескольких таблиц.
Представление - это заранее определенный запрос, сохраненный в базе данных, имеющий вид обычной таблицы и проявляющий себя подобно таблице, но не требующий дополнительного места для хранения.
Созданное представление фактически означает выполнение в отношении базы данных того оператора SELECT, который составляет суть представления. Такой оператор SELECT может либо просто содержать список столбцов таблицы, из которой из-ачекаются данные, либо может быть более сложным и включать обработку извлекаемых данных с помощью различных функций для представления этих данных в том виде, в котором их удобно видеть пользователю. Взгляните на рис. 20.1.
Представление рассматривается как объект базы данных, хотя оно и не требует реального места для своего хранения. Главное различие между представлением и таблицей состоит в том, что данные таблицы требуют физической памяти для своего хранения, а представление просто ссылается на данные реальных таблиц и поэтому места для своих данных не требует.
Представление используется точно так же, как и обычная таблица. Данными представления тоже можно манипулировать, хотя и с некоторыми ограничениями. В следующих разделах обсуждаются некоторые общие способы использования представлений, а также то, как представления хранятся в базе данных.
Рис. 20.1,Представление
Если используемая в представлении таблица удаляется, представление становится недоступным, и тогда при попытке выполнения запроса в отношении данного представления будет получено сообщение об ошибке
Представления можно использовать для защиты данных. Предположим, что у вас имеется таблица EMPLOYEE_TBL, содержащая имена, адреса, телефоны сотрудников, данные для срочной связи с ними, названия их отделов, должности и сведения об оплате их труда. Вам дали несколько сотрудников в помощь для составления ряда отчетов и для этого им понадобятся сведения об именах, адресах и телефонах. Если предоставить помощникам полный доступ к таблице EMPLOYEE_TBL, они смогут увидеть информацию об оплате других сотрудников, а вам бы этого не хотелось. Чтобы этого не допустить, вы можете создать представление, содержащее только требуемую информацию, а именно, только имена, адреса и телефоны сотрудников. В этом случае временные помощники получат доступ только к требуемой для отчета информации и не смогут получить из таблицы информацию об оплате труда.
Представления можно использовать для ограничения доступа пользователей к определенным столбцам или строкам таблиц, в зависимости от условий, задаваемых выражением ключевого слова WHERE в определении представления.
Представления являются очень удобным средством для создания итоговых отчетов на основе данных таблиц, которые обновляются очень часто.
Предположим, у вас есть таблица с информацией о городе проживания, поле, оплате труда и возрасте сотрудников фирмы. Тогда вы имеете возможность создать на основе таблицы представление, предлагающее сведения о сотрудниках по каждому городу, включающее средний возраст, среднюю зарплату, общее число сотрудников и общее число сотрудниц. После создания такого представления, его можно будет использовать для извлечения подобной информации из таблицы вместо того, чтобы каждый раз создавать соответствующий оператор SELECT, который в подобном случае может быть довольно сложным.
Единственной особенностью синтаксиса оператора, с помощью которого создается представление с итоговыми данными, по сравнению с обычным представлением является наличие в операторе итоговых функций. По поводу использования итоговых функций обратитесь снова к тексту урока 9, "Подведение итогов по данным запроса".
Представление существует только в оперативной памяти. Представление не требует дискового пространства, как другие объекты базы данных, кроме пространства, занимаемого определением самого представления. Владельцем представления является создатель представления или владелец схемы. Владелец схемы автоматически получает все соответствующие привилегии доступа к представлению и право предоставлять привилегии доступа к нему другим пользователям точно так же, как и в отношении обычных таблиц. С представлениями команда GRANT и ее опция GRANT OPTION работают точно так же, как и с таблицами. За подробностями обратитесь к тексту урока 19, "Обеспечение сохранности данных".
Представления создаются с помощью команды CREATE VIEW. Представление можно создать на базе данных одной или нескольких таблиц, а также других представлений. Чтобы создать представление, пользователь должен иметь соответствующие привилегии доступа к системе, зависящие от реализации языка.
Базовый синтаксис оператора CREATE VIEW следующий.
CREATE [ RECURSIVE ] VIEW ИМЯ_ПРЕДСТАВЛЕНИЯ
[ИМЯ_СТОЛБЦА [, ИМЯ_СТОЛБЦА]]
[OF ИМЯ_иОТ [UNDER ИМЯ_ТАБЛИЦЫ]
[REF IS ИМЯ_СТОЛБЦА SYSTEM GENERATED | USER GENERATED | DERIVED]
[ИМЯ_СТОЛБЦА WITH OPTIONS SCOPE ИМЯ_ТАБЛИЦЫ] ]
AS
{ОПЕРАТОР SELECT}
WITH [CASCADED | LOCAL] CHECK OPTION]
Примеры различных способов создания представлений с помощью оператора CREATE VIEW обсуждаются в следующих разделах.
В ANSI SQL никакого стандарта для оператора ALTER VIEW не предусматривается.
Представление может быть создано на основе данных одной таблицы. Синтаксис соответствующего оператора следующий (указанная здесь опция WITH CHECK OPTION будет обсуждаться чуть позже).
CREATE VIEW ИМЯ_ПРЕДСТАВЛЕНИЯ AS
SELECT * | СТОЛБЕЦ1 [ , СТОЛБЕЦ2 ]
Читать дальшеИнтервал:
Закладка: