
- •3 Завдання до лабораторних робіт
- •3.1 Лабораторна робота № 1
- •1 Теоретические сведения
- •2 Ход работы
- •2.1 Создание базы данных
- •2.2 Регистрация базы данных
- •2.3 Подключение к базе данных
- •2.4 Удаление базы данных
- •2.5 Извлечение метаданных
- •2.6 Резервное копирование и восстановление
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.2 Лабораторна робота № 2
- •1 Теоретические сведения
- •1.1 Типы данных InterBase
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.3 Лабораторна робота № 3
- •1 Теоретические сведения
- •1.1 Таблицы (Tables)
- •1.2 Индексы
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.4 Лабораторная работа № 4
- •1 Теоретические сведения
- •1.2 Ограничение первичного ключа (Primary key)
- •1.2 Ограничения уникальности (Unique)
- •1.3 Ограничения внешнего ключа (Foreign keys)
- •1.4 Контрольные ограничения (Checks)
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.5 Лабораторная работа №5.
- •1 Теоретические сведения
- •1.1 Генераторы (Generators)
- •1.2 Бизнес-правила
- •1.3 Триггеры (Triggers)
- •2. Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.6 Лабораторная работа №6
- •1 Теоретические сведения
- •1.1 Добавление новых данных
- •1.2 Удаление существующих данных
- •1.3 Обновление существующих данных
- •2. Ход работы
- •3. Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.7 Лабораторная работа №7
- •1 Теоретические сведения
- •2. Ход работы
- •3. Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.8 Лабораторная работа №8
- •1 Теоретические сведения
- •1.1 Представления (Views)
- •1.2 Модифицируемые представления
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.9 Лабораторная работа №9
- •1 Теоретические сведения
- •1.1 Хранимые процедуры (Procedures)
- •1.2 Виды хранимых процедур в InterBase
- •2 Ход работы
- •3 Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.10 Лабораторная работа №10
- •1 Теоретические сведения
- •1.1 Функции пользователя (udFs)
1.2 Ограничение первичного ключа (Primary key)
Это ограничение обозначает, какие поля в таблице единственным образом идентифицируют каждую строку. Добавление ограничения первичного ключа заставляет сервер базы данных гарантировать, что значения, вставленные в поля первичного ключа, будут уникальны внутри таблицы. У таблицы может быть только одно такое ограничение.
Первичные ключи выполняют следующие функции:
1. Они служат средством различения отдельных записей.
2. Используются в ссылочной целостности.
3. При создании первичного ключа автоматически создается индекс, поэтому они ускоряют поиск и сортировку.
Обычно первичные ключи рекомендуется создавать для всех таблиц. Все поля первичного ключа должны быть объявлены NOT NULL.
Пример задания ограничения первичного ключа:
ALTER TABLE Customer
ADD CONSTRAINT PK_Customer PRIMARY KEY (Cust_No)2
1.2 Ограничения уникальности (Unique)
Используются для гарантии уникальности одного или нескольких полей записи. Единственное отличие от ограничения первичного ключа – возможность задания для таблицы нескольких таких ограничений.
Пример задания ограничения уникальности:
ALTER TABLE Employee
ADD CONSTRAINT Unique_Phone UNIQUE (Phone);
1.3 Ограничения внешнего ключа (Foreign keys)
Эти ограничения используются для определения связей между таблицами. Они гарантируют соответствие значений полей одной таблицы значениям ключевых полей в другой таблице. Такие ограничения могут предотвратить стирание данных из главной таблицы, на которые имеются ссылки в подчиненной таблице.
При определении внешнего ключа автоматически генерируется индекс.
Пример задания ограничения внешнего ключа:
ALTER TABLE Book ADD CONSTRAINT FK_Book
FOREIGN KEY (B_PubNo) REFERENCES Publisher (B_NO);
В отличие от полей первичных ключей, в полях, которые являются внешним ключом, могут допускаться пустые значения. Эта возможность необходима для разрешения взаимных ссылок и возможности хранить в таблице иерархические структуры, когда корневые узлы содержат NULL.
1.4 Контрольные ограничения (Checks)
Это условия, налагаемые на возможные значения полей. Контрольные ограничения гарантируют истинность заданного правила для каждой записи в таблице.
При использовании контрольных ограничений следует помнить, что сложные и очень большие условия проверки могут значительно замедлить операции вставки и обновления записей.
Пример контрольного ограничения, которое гарантирует, что значение поля "Num" будет иметь значение от 0 до 4:
ALTER TABLE Property
ADD CONSTRAINT Check_Invalid_Number
CHECK (Num >= 0 AND Num <= 4);
Контрольные ограничения реализованы при помощи системных триггеров.
2 Ход работы
Действия по созданию ограничений с помощью выполнения команд сценария, как и операции создания таблиц в диалоговом режиме, были изучены при выполнении предыдущих лабораторных работ.
Для создания ограничений с помощью программы "IB Expert" в диалоговом режиме необходимо выполнить следующие действия:
1. Подключиться к базе данных.
2. Открыть окно с таблицей, в которую будут добавляться ограничения (рис. 4.1).
Рисунок 4.1 – Окно просмотра и редактирования ограничений
3. Перейти на вкладку "Constraints". На этой вкладке имеется четыре дополнительных вкладки для просмотра и редактирования ограничений всех четырех типов (рис. 4.1).
4. Чтобы создать новое ограничение надо перейти на нужную вкладку и нажать клавишу [Insert]. В результате в сетку с перечнем имеющихся ограничений будет добавлена строка с новым ограничением.
5.
После задания желаемых значений в новой
строке необходимо нажать кнопку
[Compile] (Ctrl+F9), которая приведет к
автоматическому созданию оператора
создания ограничения и его выполнению.
На рис. 4.2 показан результат создания ограничения уникальности для таблицы "Человек".
Рисунок 4.2 – Окно с примером создания ограничения уникальности