- •Введение
- •1.5. Задание
- •1.6. Ход работы
- •1.6.1. Создание базы данных
- •1.6.2. Регистрация базы данных
- •1.6.3. Подключение к базе данных
- •1.6.4. Удаление базы данных
- •1.6.5. Извлечение метаданных
- •1.6.6. Резервное копирование и восстановление
- •1.7. Отчет о выполнении работы
- •1.8. Контрольные вопросы
- •2.4.2. Домены (Domains)
- •2.5. Задание
- •2.6. Ход работы
- •2.7. Отчет о выполнении работы
- •2.8. Контрольные вопросы
- •3.4.2. Индексы
- •3.5. Задание
- •3.6. Ход работы
- •3.7. Отчет о выполнении работы
- •3.8. Контрольные вопросы
- •4.4.1. Ограничение первичного ключа (Primary key)
- •4.4.2. Ограничения уникальности (Unique)
- •4.4.3. Ограничения внешнего ключа (Foreign keys)
- •4.4.4. Контрольные ограничения (Checks)
- •4.5. Задание
- •4.6. Ход работы
- •4.7. Отчет о выполнении работы
- •4.8. Контрольные вопросы
- •5.4.2. Бизнес-правила
- •5.4.3. Триггеры (Triggers)
- •5.4.4. Исключения (Exceptions) и обработка ошибок
- •5.6. Ход работы
- •5.7. Отчет о выполнении работы
- •5.8. Контрольные вопросы
- •6.4.2. Удаление существующих данных
- •6.4.3. Обновление существующих данных
- •6.5. Задание
- •6.6. Ход работы
- •6.7. Отчет о выполнении работы
- •6.8. Контрольные вопросы
- •7.5. Задание
- •7.6. Ход работы
- •7.7. Отчет о выполнении работы
- •7.8. Контрольные вопросы
- •8.4.2. Модифицируемые представления
- •8.5. Задание
- •8.6. Ход работы
- •8.7. Отчет о выполнении работы
- •8.8. Контрольные вопросы
- •9.4.2. Виды хранимых процедур в InterBase
- •Returns (
- •9.5. Задание
- •9.6. Ход работы
- •9.7. Отчет о выполнении работы
- •9.8. Контрольные вопросы
- •10.4.2. Создание динамической библиотеки с udf
- •Exports
- •Interface
- •10.4.4. Использование udf в базе данных
- •10.5. Задание
- •10.6. Ход работы
- •10.8. Контрольные вопросы
- •11.4.4. Права
-
4.7. Отчет о выполнении работы
Отчет о выполнении лабораторной работы №4 оформляется так же, как и для предыдущих лабораторных работ.
Он должен содержать описание и результаты работы, представляемые в следующей последовательности:
-
1. Словесное описание добавляемых к базе данных ограничений.
-
2. Распечатка сценария создания базы данных с комментариями.
-
3. Перечень файлов, полученных при выполнении лабораторной работы с указанием их имен, места расположения, даты изменения и размеров (сценарий, база данных, резервная копия базы данных, файл с отчетом).
-
4.8. Контрольные вопросы
-
1. Дать определение термина "Ограничение".
-
2. Какие существуют варианты операторов создания ограничений?
-
3. Какие особенности имеют поля, входящие в первичный ключ и ограничение уникальности?
-
4. Какие функции имеет ограничение первичного ключа?
-
5. Что такое внешний ключ?
-
6. Зачем в полях внешнего ключа могут разрешаться пустые значения?
-
7. Что такое контрольное ограничение?
-
8. При помощи чего реализованы контрольные ограничения?
-
9. Какие имена получают ограничения первичного ключа, если их не задать в явном виде? Какие имена при этом будут иметь автоматически создаваемые индексы?
-
10. Какие имена получают ограничения уникальности, если их не задать в явном виде? Какие имена при этом будут иметь автоматически создаваемые индексы?
-
11. Какие имена получают ограничения внешнего ключа, если их не задать в явном виде? Какие имена имеют индексы, автоматически создаваемые для ограничений внешнего ключа?
-
12. Какие имена назначаются системным триггерам для реализации контрольных ограничений?
-
5. Лабораторная работа №5.
-
Триггеры, генераторы, исключения,
-
5.1. Цель работы
Изучить используемые в Firebird триггеры, генераторы и исключения. Получить навыки работы с триггерами, генераторами и исключениями с помощью команд SQL и с помощью программы "IB Expert".
5.2. Исходные данные
Исходными данными является индивидуальное задание и результат предыдущих лабораторных работ.
5.3. Используемые программы
Программы "IB Expert" и "Microsoft Word".
5.4. Теоретические сведения
5.4.1. Генераторы (Generators)
Генераторы используются для генерации уникальных номеров, используемых в ключевых полях. То есть они реализуют те же функциональные возможности в таблицах InterBase, что поля с автоматическим приращением в других СУБД. Можно указать, чтобы числа генерировались, начиная с заданного начального значения.
Пример создания генератора:
-
CREATE GENERATOR MyGenerator; SET GENERATOR MyGenerator TO 1000;
Генераторы непосредственно не привязываются к какому-либо полю. Они просто позволяют генерировать уникальные числа. Для этого используется функция Gen_ID(), встроенная в InterBase, которая генерирует целочисленные значения. Она берет генератор в качестве первого параметра и значение шага в качестве второго. Обычно приращение равно 1.
Обращаться к генератору можно только через функцию Gen_ID().