Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные лаботы ОИС.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.38 Mб
Скачать

Лабораторная работа 2.3 Хранимые процедуры и триггеры

1 Описание работы и задания

Цель работы:

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

Задания:

  1. Ознакомиться с синтаксисом T-SQL, используемым для создания хранимых процедур и триггеров.

  2. Создать:

    1. хранимую процедуру, которая выводит имя компьютера, на котором выполняется команда. Если имя компьютера более девяти букв, то вывести только первые шесть букв (1. Для получения имени компьютера воспользуйтесь функцией HOST_NAME());

    2. хранимую процедуру для определения времени года для заданной даты: осень, зима, весна или лето (Для управления форматом даты используется следующая команда: SET DATEFORMAT Формат [Формат указывает формат ввода даты и может принимать следующие значения – mdy, dmy, ymd, myd и dym (где m, d и y – день, месяц и год соответственно)]);

    3. хранимую процедуру, с помощью которой будет реализовано добавление записи в одну таблицу с проверкой на дублирование информации (например, для таблицы «Студент» при добавлении новых записей необходимо проверять наличие данных на вводимого в базу студента - проверка паспортных данных, фамилии, имени и т.п.);

    4. хранимую процедуру, с помощью которой будет реализовано добавление записи в одну таблицу с проверкой на дублирование информации, при этом заполнение некоторых полей будет производиться автоматическим посредством процедуры – например, код студента будет автоматически присваиваться для новой записи в таблице;

    5. хранимую процедуру, с помощью которой будет реализовано добавление записи в две таблицы с проверкой на дублирование информации (например, для таблицы «Студент» при добавлении новых записей необходимо проверять наличие данных на вводимого в базу студента - проверка паспортных данных, фамилии, имени и т.п.; при этом новой записи о студенте );

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

  3. Удалить все (несколько) созданные процедуры.

  4. Создать:

    1. триггер, который при добавлении или обновлении некоторой таблицы проверял какое-либо условие: например, баллы по ЕГЭ у студента не должны быть больше 300 баллов;

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

Вопросы для самоконтроля:

2 Выполнение работы

2.1 Хранимые процедуры

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

Как серверные программы хранимые процедуры имеют ряд преимуществ.

• Хранимые процедуры хранятся в компилированном виде, поэтому выполняются быстрее, чем пакеты или запросы.

• Выполнение обработки данных на сервере, а не на рабочей станции, значительно снижает нагрузку на локальную сеть.

• Хранимые процедуры имеют модульный вид, поэтому их легко внедрять и изменять. Если клиентское приложение вызывает хранимую процедуру для выполнения некоторой операции, то модификация процедуры в одном месте влияет на ее выполнение у всех пользователей.

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