Цель работы: познакомиться с понятием представление, научиться создавать представления, изменять данные в представлениях.
Ключевые слова: представления.
Теоретический материал:
Представления – это виртуальные таблицы, но они могут быть доступны многим пользователям и существуют в базе данных до тех пор, пока не будут принудительно удалены. Они во всем похожи на обычные таблицы базы данных, за исключением того, что не являются физическими объектами хранения данных.
Данные в представлениях выбираются из таблиц, т.е. представляются в том или ином виде. Они применяются, чтобы скрыть от пользователя некоторые столбцы, скомбинировать из нескольких таблиц одну, которая часто нужна пользователю, а запрос для неё очень сложен. Таким образом, представления используются как надстроечные средства для адаптации базы данных к различным категориям пользователей.
Представления создаются с помощью оператора CREATE VIEW (создать вид, представление).
CREATE VIEW <имя представления> AS <запрос>
Пример 1. Создать представление, которое выводит фамилии и соответствующие оценки студентов.
CREATE VIEW OCENKI AS
SELECTDANNIE.FAM, USPEV.OCENKA FROM DANNIE, USPEV WHERE DANNIE.KOD_STUDENT = USPEV. KOD_STUDENT.
Создана виртуальная таблица OCENKI, к которой можно обращаться с запросами как к обычной таблице.
Пример 2. Вывести из представления OCENKI, только фамилии и хорошие оценки.
SELECT * FROM OCENKI WHERE OCENKA IN (4,5)
Рассмотренное представление является многотабличным, поскольку создано на основе не одной, а двух таблиц. На практике используются более простые однотабличные представления, в которых скрываются некоторые столбцы и/или добавляются, значения которых вычисляются.
Пример 3. Создать представление Rod, в котором будут отображены фамилии родителей и их телефоны.
CREATE VIEW ROD AS SELECT FIO_ROD AS FIO, TEL FROM RODITELI.
Название представлений и таблиц не должны совпадать. Данное представление можно заменить обычным запросом
SELECT FIO_ROD AS FIO, TEL FROM RODITELI
Однако относительно полученного набора данных нельзя задать какой–нибудь запрос, поскольку этот набор является виртуальной таблицей, отличной от представления.
Оператор CREATE VIEW допускает и такую форму синтаксиса:
CREATE VIEW <имя представления> (<столбец1>, <столбец2>,…, <столбецN>) AS <запрос>
Пример 4. Создать представление, которое выводит фамилию и дату рождения студентов.
CREATE VIEW DATE (FIO, DATE) AS SELECT FAM, DATE_ROGNEN FROM DANNIE
В представлении указываются имена столбцов, которые могут быть отличны от имён столбцов в таблице.
Удаление представления осуществляется командой:
DROP VIEW <имя представления>
Порядок выполнения работы:
1. Создать представление DAN, которое выводит фамилию, паспортные данные студента, название улицы, на которой проживает студент.
2. В представлении DAN вывести отсортировать данные о студентах по улицам в алфавитном порядке.
3. В представлении DAN вывести студентов, проживающих на улицах, начинающих на букву К.
4. Создать представление MINMAX, которое выводит фамилию студента, минимальную, максимальную оценку.
5. В представлении MINMAX найти среднее минимальное и максимальное значение оценок.
6. В представлении MINMAX найти среднее минимальное и максимальное значение оценок для каждого студента.
7. Создать представление OBUCH (fio, gruppa, spec) , включающее поля фамилия студента, название группы, название специальности.
8. В представлении OBUCH подсчитать количество студентов в каждой группе.
9. Создать представление ADRES (fio, region, gorod, ulica, dom, kvart).
10. В представление ADRES вывести студентов по городам. Вывести количество студентов проживающих в разных городах.
11. В представление ADRES вывести студентов по регионам. Вывести количество студентов проживающих в разных регионах.
12. Вывести студентов проживающих в одном городе, на одной улице.