Лабораторная работа № 13. Фильтрация данных в базе данных и в выборках

Фильтрация данных в базе данных и в выборках

Цель: формирование практических умений и навыков осуществления фильтрации и обобщения информации с помощью представлений (курсоров, вертикальных таблиц).

Закрепить практические умения и навыки работы с операторами манипулирования данными (DML).

Краткие теоретические сведения

Для создания представления применяется следующий синтаксис:

CREATE VIEW <имя представления>[(<список столбцов>)]

AS <SQL-3anpoc>

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

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

Горизонтальное представление

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

CREATE VIEW Клиент_10

AS SELECT * FROM Клиент WHERE скидка=10%

Вертикальное представление

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

CREATE VIEW Клиент_список

AS SELECT клиент#, скидка FROM Клиент

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

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

CREATE VIEW Клиент_количество_скидка

AS SELECT скидка, COUNT(клиент#) as Количество FROM Клиент

GROUP BY скидка

Объединенные представления

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

CREATE VIEW Клиент_список

AS SELECT Клиент.клиент, Клиент_описание.описание FROM Клиент,Клиент_описание

WHERE Клиент.клиент#=Клиент_описание.клиент#

Ход работы

1 Создать набор фильтров – представлений:

- представления, обобщающие информацию о каждом объекте – сущности;

- представления, содержащие наиболее часто встречаемые запросы к базе данных;

- представления, выполняющие группировку по определенному условию;

- представления, фильтрующие информации, с применением вычисляемых полей.

2 Создать курсор для последовательной построчной обработки результатов, полученных после применения оператора SELECT, по следующей схеме:

- объявление курсора;

- открытие курсора;

- использование/прокрутка курсора;

- закрытие курсора;

- высвобождение занимаемой памяти.

3 Оформить подробный отчет и сделать вывод по выполненной работе.

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

1 Что представляет собой виртуальная таблица?

2 Виды представлений. Назначение представлений.

3 Синтаксис создания представлений.

4 Чем отличаются сложное представление от простого?

5 Можно ли в представлении указать несколько таблиц? Пример.

6 Чем отличается запрос от представления?

7 Что произойдёт, если выполнить (Compile) команду Create View…?

8 Как выполнить фильтрацию с помощью представления?

9 Можно ли представление использовать в качестве источника после FROM в запросах? Почему?

10 Что представляет собой курсор? Назначение и применение.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: