Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Создание представлений




 

Для создания представлений в SQL существует инструкция CREATE VIEW, синтаксическая диаграмма которой изображена на рисунке:

 


Команда CREATE VIEW состоит из слов CREATE VIEW, имени представления, которое нужно создать, ключевого слова AS и запроса.

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

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

Содержание представления не фиксировано и переназначается каждый раз, когда представление используется как операнд какой-либо команды SQL.

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

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

 

CREATE VIEW full_stud_view

AS SELECT g.spec, g.kurs, i.name

FROM students AS s, groups AS g, stud_info AS i

WHERE (s.group_id = g.id) and (s.id = i.id);

 

Данный запрос создаст виртуальную таблицу вида

 

spec kurs name
AC Васечкин Петя
РЭТ Кукырышкин Николай

 

Если в одной из исходных таблиц (“students”, “groups” или “stud_info”) произойдут какие-либо изменения (добавление, изменение или удаление строк), то эти изменения автоматически отобразятся и в данном представлении.

После создания данного представления можно обращаться к нему в предложении SELECT, как к таблице, содержащей данные для выборки. Например, для извлечения имен всех студентов с 4-го курса специальности “AC” можно воспользоваться следующим запросом:

 

SELECT name FROM full_stud_view

WHERE (spec = ‘AC’) AND (kurs = 4);

 

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

 


Поделиться:

Дата добавления: 2015-04-04; просмотров: 137; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты