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

Кашина_ТРиЗБД_ЛБ5

.docx
Скачиваний:
0
Добавлен:
03.12.2025
Размер:
301.96 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Владимирский государственный университет

имени Александра Григорьевича и Николая Григорьевича Столетовых» (ВлГУ)

Колледж инновационных технологий и предпринимательства

КАФЕДРА ФИЗИКИ И ПРИКЛАДНОЙ МАТЕМАТИКИ

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

по дисциплине «Технология разработки и защиты баз данных»

на тему: «Создание и управление представлениями.»

Выполнил

студент группы ИПсп-123

Кашина Д. А.

Принял

Кабанова М.Ю.

Владимир, 2025

Цель работы: 1. Изучить назначение представлений баз данных, синтаксиса и семантики команд языка Transact-SQL для их создания, изменения и удаления, системных хранимых процедур для получения информации о представлениях, а также приобретение навыков их создания с помощью графических средств утилиты Enterprise Manager и мастера Create View Wizard.

Ход работы:

  1. Создайте представление, содержащее список студентов, которые учатся на 3 курсе со стипендией меньше 150 и используйте его.

/*кашина 26.09.25

Создайте представление, содержащее список студентов, которые учатся на 3 курсе со

стипендией меньше 150 и используйте его.*/

USE University_Кашина_Диана

GO

CREATE VIEW StudentsView

AS

SELECT Sutname, Sutfname, Kurs, Stipend

FROM Student1

WHERE Kurs = 3 AND Stipend < 150

GO

SELECT Sutname, Sutfname, Kurs, Stipend

FROM StudentsView

  1. Создайте представление, содержащее список кафедр, среднюю зарплату

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

/*Кашина 26.09.25

Создайте представление, содержащее список кафедр, среднюю зарплату

преподавателей, которые работают в них, общую сумму всех выплат на кафедрах, и

используйте его.*/

USE University_Кашина_Диана

GO

CREATE VIEW DepartmentSalariesView AS

SELECT

k.kod_kafedru,

k.Name_kafedru AS Кафедра,

AVG(t.salary + ISNULL(t.rise, 0)) AS Средняя_зарплата,

SUM(t.salary + ISNULL(t.rise, 0)) AS Общая_сумма_выплат

FROM dbo.Kafedra k

LEFT JOIN dbo.Teacher t ON k.kod_kafedru = t.kod_kafedru

GROUP BY k.kod_kafedru, k.Name_kafedru;

SELECT * FROM DepartmentSalariesView;

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

/*Кашина 26.09.25

Создайте представление, содержащее фамилии преподавателей, их должность, звание, степень,

место работы, количество их экзаменов, и используйте его.*/

USE University_Кашина_Диана

GO

CREATE VIEW TeacherView AS

SELECT

name_teacher,

dolgnost,

zvanie,

jobplace,

COUNT(ekzamen) AS количество_экзаменов

FROM Teacher

GROUP BY

name_teacher,

dolgnost,

zvanie,

jobplace;

/*Кашина 26.09.25

Создайте представление, содержащее фамилии преподавателей, их должность, звание, степень,

место работы, количество их экзаменов, и используйте его.*/

USE University_Кашина_Диана

SELECT * FROM TeacherView;

  1. Создайте представление, содержащее список студентов, курс, группу, выпускающую кафедру, зав. кафедрой, название факультета, директора факультета.

/*Кашина 26.09.25

Создайте представление, содержащее список студентов, курс, группу, выпускающую кафедру,

зав. кафедрой, название факультета, директора факультета.*/

CREATE VIEW v_Студенты_Факультеты_Кафедры AS

SELECT

s.Sutname AS Фамилия,

s.Sutfname AS Имя,

s.Kurs AS Курс,

s.Groupname AS Группа,

k.Name_kafedru AS Кафедра,

k.Fio_zavkaf AS Зав_кафедрой,

f.Name_faculteta AS Факультет,

f.director AS Директор_факультета

FROM

dbo.Student1 s

LEFT JOIN

dbo.Kafedra k ON s.kod_kafedru = k.kod_kafedru

LEFT JOIN

dbo.Facultet f ON k.kod_faculteta = f.kod_faculteta;

/*Кашина 26.09.25

Создайте представление, содержащее список студентов, курс, группу, выпускающую кафедру,

зав. кафедрой, название факультета, директора факультета.*/

USE University_Кашина_Диана

SELECT * FROM v_Студенты_Факультеты_Кафедры;

  1. Напишите команды для удаления всех созданных вами представлений.

/* Кашина 26.09.25

Напишите команды для удаления всех созданных вами представлений.*/

DROP VIEW IF EXISTS StudentsView;

DROP VIEW IF EXISTS v_Студенты_Факультеты_Кафедры;

DROP VIEW IF EXISTS DepartmentSalariesView;

DROP VIEW IF EXISTS TeacherView;

Вывод: в ходе лабораторной работы были изучены назначения представлений баз данных, синтаксиса и семантики команд языка Transact-SQL для их создания, изменения и удаления, системных хранимых процедур для получения информации о представлениях, а также приобретен навыки создания с помощью графических средств утилиты Enterprise Manager и мастера Create View Wizard.