В Microsoft Access есть несколько типов запросов.
Запрос на выборку является наиболее часто используемым типом запроса. Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений.
Запрос с параметрами – это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные, например условие для возвращения записей или значение, которое требуется вставить в поле.
Запросы с параметрами также удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным.
Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк.
Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей. Существует четыре типа запросов на изменение:
-запрос на удаление записи удаляет группу записей из одной или нескольких таблиц;
-запрос на обновление записи вносит общие изменения в группу записей одной или нескольких таблиц;
-запрос на добавление записей добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц;
-запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен при создании таблицы для экспорта в другие базы данных Microsoft Access или при создания архивной таблицы, содержащей старые записи.
Обзоры, использованные в проекте, позволили объединить данные таблиц и отобразить их в более удобном виде.
Обзор «S1» выводит все билеты, которые были приобретены на первый сеанс.
CREATE VIEW S1 (
ID_TODAY2,
SALE_DATE,
MESTO,
RIAD,
ID_TODAY,
ID_F2,
ID_SE2,
ID_SE,
TIME_SE,
COST,
ID_F,
GENRE,
NAME,
COMMENTARY
) AS
SELECT *
FROM BILETY, TODAY, SEANSY, FILMS
WHERE ID_SE=1
AND ID_TODAY=ID_TODAY2
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.
Пользователь ADMIN и роль ADMIN_1 – со всеми правами на все таблицы. Пользователь PUBLIC и роль PUBLIC_1 – с правами только на просмотр таблиц. Пользователь USER и роль USER _1 – с правами на просмотр, обновление, и добавление новых записей в таблицы.
6 Описание программы
6.1 Выбор и обоснование среды разработки
Для разработки автоматизированного рабочего места кассира кинотеатра использовалась визуальная среда Delphi 7.
Выбор языка программирования основывается на следующем: он даёт полномасштабное средство разработки для почти всех известных СУБД, совместимое со стандартами ODBC, IDAPI и к тому же генерируют компактные и легко переносимые исполнимые файлы. По большому счету можно ничего не знать о Windows и программировании для Windows и при этом создавать вполне работоспособные и современно выглядящие задачи. Кроме того, изучив Pascal трудностей с программированием на Delphi быть не должно, т.к. существует 100% совместимость с прежними наработками. Среда визуального программирования Delphi совместима со всеми прикладными алгоритмами, написанными до сих пор на Pascal. Это значит, что для серьезной работы необходимо и серьезное знание языка Паскаль, хотя какую-то часть кода сгенерирует сама Delphi. Не будет лишним знание интерфейса Windows.
Основные характеристики выбранного языка программирования:
- высокопроизводительный компилятор в машинный код;
- объектно-ориентированная модель компонент;
- визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
- масштабируемые средства для построения баз данных.
Интегрированная среда разработки IDEDelphi предоставляет всевозможные средства для создания, тестирования и редактирования проекта.
Среда Delphi является одной из наиболее популярных систем разработки приложений. Программа проста в использовании, не требует специальных навыков, кроме знаний основ работы в системе MicrosoftWindows. Программа широко использует стандартные элементы управления, что обеспечивает единство интерфейса системы и программного средства, а, следовательно, и удобство использования.
Преимуществами Delphi 7 является то, что для работы с различными данными создается наиболее подходящий для каждого конкретного случая графический интерфейс, содержащий всевозможные меню, множество управляемых окон и разнотипных элементов управления, благодаря чему экран не загромождается лишней информацией и в то же время вся необходимая информация является легкодоступной.
Кроме того, система управления базами данных Delphi 7 – скоростная среди систем интерпретирующего типа. Она предоставляет просто и удобный пользовательский интерфейс, поддерживает язык структурированных запросов SQL, допускает возможность работы в многопользовательском и сетевом режимах, а также импорт и экспорт данных на различных уровнях, включая связь через Internet.
При разработке программного продукта использовалась входящая в состав Delphi 7 клиент – серверная СУБД InterBase, которая предназначена для создания баз данных и таблиц. Она позволяет выполнять все необходимые при работе с базами данных действия. InterBase обеспечивает создание, просмотр и модификацию таблиц баз данных. Кроме того, позволяет выполнять выборку информации путем создания запросов.
Таким образом, визуальная среда разработки приложений Delphi 7 идеально подходит для создания информационно-справочной системы кинотеатра, совмещая в себе возможности хранения больших объемов информации и создания привлекательного и удобного графического интерфейса.
6.2 Операционная система
Операционная система, ОС (англ. operating system) – базовый комплекс компьютерных программ, обеспечивающий интерфейс с пользователем, управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.