БД_лабы(11 лаб, 5 семестр) / БД_ЛР7
.docx
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра Систем автоматизированного проектирования
отчет
по лабораторной работе №7
по дисциплине «Базы Данных»
Тема: Использование представлений
Студенты гр. 3352 |
________________ |
Гареева К.Р. |
|
________________ |
Жигунова О.М. |
Преподаватель |
________________ |
Горяинов С.В. |
Санкт-Петербург
2025
Цель работы
Научиться писать и применять представления. В лабораторной работе используется БД Adventure Works.
Ход работы
Упражнение 1 - Создание представления
Запрос 1
Создадим новое представление HumanResources.vEmployeeDetails, использующее логику команды SELECT (рис. 1).
CREATE VIEW HumanResources.vEmployeeDetails
WITH SCHEMABINDING
AS
SELECT
e.EmployeeID,
c.Title,
c.FirstName,
c.MiddleName,
c.LastName,
c.Suffix,
e.Title AS JobTitle,
c.Phone,
c.[EmailAddress],
c.EmailPromotion,
a.AddressLine1,
a.AddressLine2,
a.City,
sp.Name AS StateProvinceName,
a.PostalCode,
cr.Name AS CountryRegionName,
c.AdditionalContactInfo
FROM HumanResources.Employee AS e
INNER JOIN Person.Contact AS c
ON c.ContactID = e.ContactID
INNER JOIN HumanResources.EmployeeAddress AS ea
ON e.EmployeeID = ea.EmployeeID
INNER JOIN Person.Address AS a
ON ea.AddressID = a.AddressID
INNER JOIN Person.StateProvince AS sp
ON sp.StateProvinceID = a.StateProvinceID
INNER JOIN Person.CountryRegion AS cr
ON cr.CountryRegionCode = sp.CountryRegionCode;
GO
Рисунок 1 - Результат выполнения запроса 1.
Запрос 2
Проверим работу представления (рис. 2).
Рисунок 2 - Проверка выполнения запроса 1.
Упражнение 2 - Создание индексированного представления
Запрос 3
Далее выполним следующую команду: (рис. 3).
USE AdventureWorks;
GO
CREATE UNIQUE CLUSTERED INDEX IX_vEmployeeDetails
ON HumanResources.vEmployeeDetails (EmployeeID);
GO
Рисунок 3 - Результат выполнения запроса 3.
Запрос 4
Проверим выполнение запроса с помощью запроса (рис. 4).
EXEC sp_helpindex 'HumanResources.vEmployeeDetails';
Рисунок 4 - Проверка выполнения запроса 3.
Упражнение 3 - Просмотр системной информации о представлениях
Запрос 5
Напишем запрос, который показывает, какие объекты связаны с нашим представлением. Хранимая процедура sp_helptext показывает текст SQL-запроса, по которому создано представление.
EXEC sp_depends 'HumanResources.vEmployeeDetails';
GO
Рисунок 5 - Результат выполнения запроса 5.
Запрос 6
SQL Server построчно выведет текст, который был использован при создании представления (рис. 6).
EXEC sp_helptext 'HumanResources.vEmployeeDetails';
Рисунок 6 - Результат выполнения запроса 6.
Вывод
В ходе лабораторной работы была изучена и реализована технология создания и применения представлений в базе данных AdventureWorks. Было создано представление HumanResources.vEmployeeDetails с параметром WITH SCHEMABINDING, объединяющее данные из нескольких таблиц, что позволило упростить доступ к информации о сотрудниках и обеспечить целостность структуры данных. Далее на представление был наложен уникальный кластеризованный индекс, в результате чего оно стало индексированным и обеспечило более высокую производительность при выполнении запросов. Также с помощью системных хранимых процедур sp_depends и sp_helptext были просмотрены зависимости представления от других объектов базы данных и его программный код.
