Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Сгруппированные представления






Запрос, определяющий представление, может содержать предложение GROUP BY. Представление такого типа называется сгруппированным, поскольку данные в нем являются результатом запроса с группировкой. Сгруппированные представления выполняют ту же функцию, что и запросы с группировкой. В них родственные строки данных объединяются в группы, и для каждой группы в таблице результатов запроса создается одна строка, содержащая итоговые данные по этой группе. С помощью сгруппированного представления запрос с группировкой превращается в виртуальную таблицу, к которой в дальнейшем можно обращаться.

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

После создания сгруппированного представления его можно использовать для упрощения запросов.

В отличие от горизонтальных и вертикальных представлений, каждой строке сгруппированного представления не соответствует какая-то одна строка исходной таблицы. Сгруппированное представление не является просто фильтром исходной таблицы, скрывающим некоторые строки и столбцы. Оно отображает исходную таблицу в виде резюме, поэтому поддержка такой виртуальной таблицы требует от СУБД значительного объема вычислений.

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

Для сгруппированных представлений справедливы ограничения, накладываемые в SQL на вложенные статистические функции.

Т.е. применение допустимой инструкции SELECT может вызвать ошибку, если одна из исходных таблиц является сгруппированным представлением. Такую ситуацию предвидеть невозможно; когда СУБД выдает сообщение об ошибке, необходимо просто определить ее причину.

 

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

Обновление представлений — непростой вопрос, который является предметом исследований уже не один год.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал