Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 Практический раздел.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
5.18 Mб
Скачать

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

Тема: Создание и использование индексов и исключений.

Цель работы: Научится создавать и использовать индексы и исключении для базы данных на примере Inter Base.

Время работы: 2 учебных часа.

Правила по ТБ: Общие.

Оборудование рабочего места: Практикум, ПК.

Программное обеспечение: Windows, MS Office, InterBase.

Вопросы входного контроля:

    1. Расскажите, как установить и настроить Inter Base.

    2. Расскажите, как создать домен и для чего они используются

    3. Расскажите, как создать таблицу

    4. Дайте определение понятию первичный ключ и как его указать в Inter Base.

    5. Дайте определение понятию вторичный ключ и как его указать в Inter Base.

    6. Дайте определение понятию индекс.

    7. Дайте определение понятию исключение.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Создание индексов

Используйте CREATE INDEX, что бы улучшить скорость доступа к данным. Использование индекса для столбцов, которые появляются в предложении WHERE, может улучшить эффективность поиска.

Важно: Столбцы типов BLOB и массивы не могут быть индексированы.

UNIQUE индекс не может быть создан на столбце или наборе столбцов, которые уже содержат повторяющиеся или NULL значения.

ASC и DESC определяют порядок, в котором индекс сортирован. Для более быстрого ответа на запросы, используйте индексы, порядок которых соответствует предложению ORDER BY запроса. И ASC, и DESC индекс может быть создан на одном и том же столбце или наборе столбцов, чтобы обратится к данным в различном порядке.

Синтаксис

CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]]

INDEX index ON table (col [, col ...]);

Аргумент

Описание

UNIQUE

Предотвращает вставку или модификацию данных, приводящих к дублированию значений в индексированных столбцах.

ASC[ENDING]

Сортирует столбцы в возрастающем порядке, это порядок по умолчанию если ничего не определено.

DESC[ENDING]

Сортирует столбцы в убывающем порядке.

index

Уникальное имя для индекса.

table

Имя таблицы для которой индекс определен.

col

Столбец в индексируемой таблице.

Примеры

Следующая инструкция создает уникальный индекс:

CREATE UNIQUE INDEX PRODTYPEX ON PROJECT (PRODUCT, PROJ_NAME);

Следующая инструкция создает убывающий индекс:

CREATE DESCENDING INDEX CHANGEX ON SALARY_HISTORY (CHANGE_DATE);

Следующая инструкция создает индекс, состоящий из двух столбцов:

CREATE INDEX NAMEX ON EMPLOYEE (LAST_NAME, FIRST_NAME);

Вызываем Interactive SQL, пятая кнопка справа. Пишем запрос:

CREATE INDEX IND_PERSONAL ON PERSONAL (PersonalID);

commit;

Нажимаем выполнить.

Мы создали индекс IND_PERSONAL.

При этом запрос выполнится, и окно запросов очиститься.

Остальные индексы создаются аналогично:

CREATE INDEX IND_ CLIENT ON CLIENT (ClientID);

commit;

CREATE INDEX IND_ GRAFWORK ON GRAFWORK (WorkID);

commit;

CREATE INDEX IND_ OPERATION ON OPERATION (OperID);

commit;

CREATE INDEX IND_ CAR ON CAR (CarID);

commit;

CREATE INDEX IND_ SERVICE ON SERVICE (ServiceID);

commit;

CREATE INDEX IND_ TSERVICE ON TSERVICE (TServiceID);

commit;

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

CREATE EXCEPTION создает исключительную ситуацию, определенную пользователем ошибку, с которой ассоциировано сообщение. Исключительные ситуации могут быть подняты в триггерах и сохраненных процедурах.

Исключительные ситуации глобальны для базы данных. То же самое сообщение или набор сообщений доступно всем сохраненным процедурам и триггерам в приложении. Для примера, база данных может иметь English и French версии тех же самых сообщений исключительных ситуаций и использовать соответствующий набор по необходимости.

Когда исключительная ситуация поднята триггером или сохраненной процедурой, она:

  • Завершает триггер или процедуру, которой она вызвана и отменяет любые, выполненные ими действия (прямо или косвенно).

  • Выводит сообщение об ошибке.

Исключительные ситуации могут быть отслежены и обработаны в сохраненной процедуре или триггере с помощью инструкции WHEN.