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

Порядок выполнения работы:

  1. Определение доменов.

В соответствии с поставленной задачей (см.Лаб №3), необходимым представляется разработка следующих доменов: для ID - полей счетчиков, для поля содержащего количество. ID - поля будут базироваться на целочисленном типе данных Integer, со следующими ограничениями: они должны быть больше нуля и не должны принимать пустых значений. Для поля Количество будет использоваться тип число с плавающей точкой, а ограничение - больше нуля.
Задание: Создайте домены на все указанные поля, наложите их на поля таблиц с данными. (3 балла)

2. Создание необходимых генераторов.

В соответствии с имеющимися первичными ключами можно выделите генераторы: для таблицы Bluda – Bluda _ Gen , для таблицы Product – Prod _ Gen. Если, предварительно, вы не добавляли данные в таблицы, значения генераторов будут установлены в 0, иначе они должны принять те значения которые вы уже имеете.

Задание: Создайте генераторы для всех простых первичных ключей.(2 балла)

3. Создание исключений.

В качестве исключения можно описать ситуацию, когда в таблицу содержащую перечень блюд добавляют блюдо без указания его вида. Назовем это исключение Vid_ Exception и содержать оно будет фразу «Значение может содержать только ‘Десерт’ или ‘Напиток’»

Задание: Создайте исключение для видов блюд (2 балла).

4. Разработка триггеров.

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

Для генераторов триггер примет, следующий вид

AS
begin
if (new."Prod_ID" is null) Then new."Prod_ID"=GEN_ID("Prod_Gen",1);
end

Для исключения

AS
begin
if (new."Vid"<>'Напиток' AND new."Vid"<> 'Десерт') Then exception "Vid_Exception" ;
end

Задание: Создайте триггера на все генераторы и исключения (5 балла).

5. Создайте базу данных (в том же дереве где создавали п.1-п.4) состоящую не менее чем из трех таблиц по модели разработанной в лаб.1. Создайте для этой базы данных Домены (не менее чем два), Генераторы, Исключения и Триггеры (8 баллов).

Задание: Полученный файл отправьте на проверку здесь

Остання зміна: вівторок 9 березень 2010 10:08