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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

 

Пример 8:

Создать представление, включающее данные по должности.

 

create view group_view(id_job, count, average, sum_sal)

as Select job_id, count(*), avg(SALARY), sum(salary)

from employees

group by job_id

 

Рисунок №70 – Результат представления в примере 8.

 

Как видно из этого примера, в определении сгруппированного представления всегда содержится список имен столбцов. В этом списке присваиваются имена тем столбцам сгруппированного представления, которые являются производными от статистических функций, таких как count(*). В нем также может быть задано измененное имя сгруппированного столбца. В данном примере столбец job_id таблицы employees становится столбцом jobs представления group_view.

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

Пример 9:

select JOB_TITLE, id_job, count, average, sum_sal

from jobs, group_view

where job_id = id_job

order by job_title

 

 

Рисунок №71 – Результат выборки в примере 9.

 

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

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

 

3. Задания для самостоятельной работы

Для проектируемой базы данных создайте представления нескольких типов.

4 Контрольные вопросы

1. Дайте определение представлению.

2. Какие данные использует представление?

3. Назовите преимущества представлений.

4. Назовите недостатки представлений

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

6. Приведите пример вертикального представления.

7. Приведите пример смешанного представления.

8. Приведите пример сгруппированного представления.

Лабораторная работа №7

Ограничения в Oracle.

 

1 Цель и порядок работы

1.1 Цель работы

Ознакомиться со структурой и понятием ограничений, принципом их реализации.

 

1.2 Порядок выполнения работы

- Ознакомиться с описанием работы;

- Выполнить задание для самостоятельной работы;

- Ответить на контрольные вопросы;

- Представить результаты работы преподавателю.

 

2. Общие сведения

 

Ограничение — это, прежде всего, формулировка требований к данным. Ограничения уста­навливаются на уровне столбца или таблицы и гарантируют соответствие данных опреде­ленным правилам обеспечения целостности данных.

В настоящей лабораторной работе приведен общий обзор следующих трех типов ограничений.

- Ограничения сущностей.

- Ограничения домена.

- Ограничения ссылочной целостности.

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

- Ограничения первичного ключа (PRIMARY KEY).

- Ограничения внешнего ключа (FOREIGN KEY).

- Ограничения уникальности (UNIQUE, именуемые также ограничениями альтер­нативного ключа).

- Ограничения проверки (CHECK).

- Ограничения заданных по умолчанию значений (DEFAULT).

Предусмотрен целый ряд различных способов реализации ограничений, но все эти способы относятся к одной из трех категорий — ограничения сущностей, ограни­чение домена и ограничения ссылочной целостности.

Ограничения домена

Ограничения домена распространяются на один или несколько столбцов. Под этими ограничениями подразумеваются способы обеспечения того, чтобы какой-то конкретный столбец или ряд столбцов соответствовал определенным критериям. Эти ограничения применяются при вставке или обновлении строки без учета того, что в таблице имеются какие-либо иные другие строки; интерес представляют только данные рассматриваемого столбца.

Ограничения сущности

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

На первый взгляд может показаться, что такое определение ограничения сущности, согласно которому, допустим, какой-то столбец должен содержать уникальные значения, полностью совпадает с определением ограничения домена. Но фактически дело обстоит иначе. В формулировке ограничения сущности ничего не сказано о том, что данные столбца должны соответствовать какому-то определенному формату или что значе­ния в столбце должны быть больше или меньше какой-то величины. Единственное, что сказано, относится только к определенной строке и предъявляемое к ней требование состоит лишь в том, чтобы содержащееся в ней значение больше не встреча­лось в какой-либо другой строке в той же таблице.

Ограничения такого рода будут рассматриваться в контексте описания ограниче­ний PRIMARY KEY и UNIQUE.



Поделиться:


Последнее изменение этой страницы: 2017-02-09; просмотров: 383; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.31.240 (0.006 с.)