Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Сибирский государственный аэрокосмический университет
имени академика М. Ф. Решетнева»
(СибГАУ)
Факультет информатики и систем управления (ФИСУ)
Кафедра безопасности информационных технологий (БИТ)
Лабораторная работа №5
«Создание представлений, счетчиков, триггеров
с помощью утилиты IB Expert»
По дисциплине
«Безопасность систем баз данных»
Выполнили: студенты гр. КБ-51
Бессмертный Д.О. ______________
Баженов Е.Н. _____________
Проверил:
Жуков В.Г. ____________
Красноярск 2008
1. Создать представления.
2. Создать триггеры, обеспечивающие корректность вводимых данных операторами.
Ход работы:
Создадим представление – MODELS_FOR_BUYER для покупателя, включающее название модели, производителя и цену. Данные для представления берем из двух таблиц: PRICES и MODELS.
Заполним SQL запрос, и выполним компиляцию
Представление создано:
Изменим скрипт так, чтобы в представление попадали ноутбуки в ценовом диапазоне от 20 до 30 тыс. рублей всех производителей кроме Samsung.
2. Создание триггеров, обеспечивающих корректность вводимых
данных операторами
Cоздадим триггеры до вставки новых данных. Введем ограничение на вводимые данные в таблицы:
Таблица |
Название поля |
Тип поля |
Описание |
PRICES |
ID |
BIGINT |
Вставка значения генератора – GEN _PRICES_ID |
PRICE |
INTEGER |
Больше 0 |
|
MODELS |
ID |
BIGINT |
Вставка значения генератора – GEN_ MODELS _ID |
HARD DISK |
INTEGER |
Больше 0 и меньше 1000 |
|
MEMORY TYPE |
ID |
BIGINT |
Вставка значения генератора –GEN_ MEMORY_TYPE_ ID |
MEM_TYPE |
VARCHAR |
DDR-II или DDR-III |
|
FREQUENCY |
INTEGER |
Больше 500 и меньше 1000 |
|
PROCESSOR_TYPE |
ID |
BIGINT |
Вставка значения генератора –GEN_ PROCESSOR_TYPE_ ID |
SCREEN_TYPE |
ID |
BIGINT |
Вставка значения генератора –GEN_ SCREEN_TYPE_ ID |
SIZE |
DOUBLE PR. |
Больше 0 и меньше 20 |
Прежде чем создавать необходимые триггеры на поля необходимо создать
исключения, которые будут предупреждать о некорректности вводимых данных. Создадим следующие исключения:
Таблица |
Поле |
Описание |
Сообщение |
PRICES |
PRICE |
Больше 0 |
Неверная цена |
MODELS |
HARD DISK |
Больше 0 и меньше 1000 |
Неверный объем жесткого диска |
MEMORY_ TYPE |
MEM_TYPE |
DDR-II или DDR-III |
Неверный тип памяти |
FREQUENCY |
Больше 500 и меньше 1000 |
Неверная частота |
|
SCREEN_TYPE |
SIZE |
Больше 0 и меньше 20 |
Неверный размер экрана |
Создадим исключение на поле PRICE таблицы PRICES.
Задаем название, текст исключения и описание в соответствии с таблицей исключений.
Аналогично создаем остальные исключения.
Создадим триггер для таблицы PRICES на поля PRICE. Указываем таблицу PRICES, индикатор фазы - BEFORE, индикатор события DML определяющий тип операции SQL, при которой будет выполняться триггер - INSERT.
Триггер для таблицы MODELS на поле HARD_DISK:
Триггер для таблицы SCREEN_TYPE на поле SIZE:
Триггер для таблицы MEMORY_TYPE на поля MEM_TYPE и FREQUENCY
Проверим работу одного из триггеров, введя в таблицу некорректные данные:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.