- •Введение
- •Лабораторная работа №1 Создание и модификация базы данных.
- •Порядок выполнения
- •Варианты работы
- •Лабораторная работа №2 Работа с базами данных. Индексация, фильтрация и поиск данных в базе
- •Порядок выполнения
- •Лабораторная работа №3 Создание формы для редактирования таблиц
- •Порядок выполнения
- •Лабораторная работа 4 Создание программного файла VisualFoxPro.
- •Порядок выполнения
- •Лабораторная работа 5 Создание связанных таблиц в субд oraclEс декларативными ограничениями данных.
- •Порядок выполнения
- •Варианты работы
- •Лабораторная работа №6 Создание сложных запросов с использованием подзапросов и агрегированных функций
- •Варианты работы
- •Лабораторная работа 7 Создание анонимного блока
- •Варианты работы
- •Лабораторная работа 8 Создание хранимой процедуры или триггера баз данных
- •Варианты работы
Варианты работы
Вариант 1
Создать хранимую процедуру, увеличивающую зарплату у сотрудников отдела на 15% имеющих более 3 детей.
Вариант 2
Создать процедуру, переводящую сотрудника в другой отдел, если в этом отделе у него нет однофамильца.
Вариант 3
Создать хранимую процедуру изменения зарплаты сотрудника, если в его отделе работает более 45 сотрудников.
Вариант 4
Создать хранимую процедуру, переводящую сотрудника в другой отдел, если предельная зарплата другого отдела в случае перевода не превышает допустимую.
Вариант 5
Создать хранимую процедуру изменения города сотрудника на другой город, если в новом городе живет не более 2 его однофамильцев.
Вариант 6
Создать хранимую процедуру, переводящую фамилию сотрудника в верхний регистр, если его зарплата не превышает среднюю зарплату его отдела.
Вариант 7
Создать хранимую процедуру вставки нового сотрудника, если в результате вставки количество сотрудников отдела, куда вставляется сотрудник, не превышает максимального количества сотрудников отделов. В случае вставки в отдел с максимальным числом сотрудников, вставка должна игнорироваться.
Вариант 8
Создать хранимую процедуру перевода сотрудника в другой отдел, если сотрудника учатся более двух детей в заданной школе.
Вариант 9
Скопировать созданную таблицу сотрудников в дублирующую таблицу сотрудников. Создать триггер, обеспечивающий дублирование таблицы сотрудников в дублирующую таблицу.
Создать таблицу аудита таблицы сотрудников с полями:
вида действия с таблицей сотрудников;
даты и времени действия;
идентификатора пользователя;
номера сотрудника, для которого осуществлялось действие.
Создать триггер аудита таблицы сотрудников.
Вариант 10
Создать триггер для таблицы сотрудников, осуществляющий следующие функции:
модификацию (при вставке и изменении) вводимого значения фамилии сотрудников таким образом, что бы, при вводе фамилии сотрудника, она бы переводилась в верхний регистр, и из нее удалялись начальные и завершающие пробелы;
невозможность модификации зарплаты сотрудника, если он работает в отделе 110.
Вариант 11
Создать триггер для таблицы сотрудников, не позволяющий изменять зарплату сотрудника в меньшую сторону, если сотрудник имеет более трех детей.
Вариант 12
Создать триггер для таблицы сотрудников, не позволяющий переводить сотрудника в другой отдел, если более одного его ребенка учится в школе с номером 1. Выборку таблиц детей и школ осуществлять из схемы MAI.
Контрольные вопросы
Какие операторы SQLне допустимы в триггерах баз данных по сравнению с хранимой процедурой?
Какие типы передачи параметров используются в процедурах?
Чем отличается триггер от хранимой процедуры?
Какой блок триггера не компилируется?
Какое максимальное количество триггеров можно создать для одной таблицы?
Какое преимущество дает использование хранимых процедур?