Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
24.01.2026
Размер:
344.38 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра Систем автоматизированного проектирования

отчет

по лабораторной работе №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 были просмотрены зависимости представления от других объектов базы данных и его программный код.

Соседние файлы в папке БД_лабы(11 лаб, 5 семестр)