Дипломная работа: Информационно-справочная система кинотеатра

AND ID_SE=ID_SE2

ANDID_F=ID_F2;

5.5 Описание индексов

Индекс (англ. index) – объект базы данных, создаваемый с целью повышения производительности выполнения запросов. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному значению путем последовательного просмотра таблицы строка за строкой может занимать много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет находить нужную строку по заданному значению. Ускорение работы с использованием индексов достигается в первую очередь за счет того, что индекс имеет структуру, оптимизированную под поиск – например, балансированного дерева. Некоторые СУБД расширяют возможности индексов введением возможности создания индексов по выражениям. Кроме того, индексы могут быть объявлены как уникальные и как неуникальные. Уникальный индекс реализует ограничение целостности на таблице, исключая возможность вставки повторяющихся значений [39].

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

Запроссозданияиндексов:

CREATE INDEX IDX_BILETY ON BILETY (ID_TODAY2);

CREATE INDEX IDX_TODAY ON TODAY (ID_F2);

CREATE INDEX IDX_TODAY1 ON TODAY (ID_SE2);

5.6 Описание исключений

Исключения – это созданные пользователем ошибки с ассоциированными сообщениями, которые могут быть использованы в сохраненных процедурах и триггерах [49].

Исключения генерируют сообщения об ошибке.

Было создано исключение «NO_DATA», которое далее применялось в триггере "BILETY_BI". Исключение выдавало сообщение об ошибке, если при попытке добавления данных, одно из полей оставалось пустым.

CREATEEXCEPTION "NO_DATA" 'Все поля таблицы должны быть заполнены';

5.7 Описание триггеров

Триггер – отдельная хранимая в базе подпрограмма, связанная с таблицей или обзором (представлением), которая автоматически включается, когда в таблицу обзор вставляется (триггер добавления), модифицируется (триггер модификации) или удаляется (триггер удаления). Триггеры предназначены для контроля за входной информацией, обеспечения автоматической регистрации изменения в таблицах, выполнения синхронных изменений в нескольких таблицах, обеспечивая при этом как логическую целостность, так и автоматическое поддержание соответствия первичных и агрегированных данных, для автоматического уведомления об изменениях в базе данных.

Триггеры применяются для обеспечения целостности данных и реализации сложной бизнес-логики. Триггер запускается сервером автоматически при попытке изменения данных в таблице, с которой он связан. Все производимые им модификации данных рассматриваются как выполняемые в транзакции, в которой выполнено действие, вызвавшее срабатывание триггера. Соответственно, в случае обнаружения ошибки или нарушения целостности данных может произойти откат этой транзакции [40].

Был создан один триггер. Триггер «BILETY_BI» при вставке в таблицу Bilety в поля SALE, MESTO, RIAD проверяет, не являются ли они нулевыми. Если так, то выдается сообщение об ошибке.

CREATETRIGGER "BILETY_BI" FOR "BILETY"

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW."sale"_date IS NULL) THEN EXCEPTION "NO_DATA";

IF (NEW."mesto" IS NULL) THEN EXCEPTION "NO_DATA";

IF (NEW."riad" IS NULL) THEN EXCEPTION "NO_DATA";

END

5.8 Описание пользователей и ролей

Для базы данных были созданы пользователи ADMIN, PUBLIC и USER, а так же роли

ADMIN_1, PUBLIC_1 и USER_1.

К-во Просмотров: 680
Бесплатно скачать Дипломная работа: Информационно-справочная система кинотеатра