Рефераты. Информационно-справочная система кинотеатра

Производительность, удобство использования, поддержка Windows, Linux и Solaris, а также таких сред разработки, как Borland Delphi, C++Builder, C#Builder и Kylix позволяют InterBase занять ведущее место среди разработчиков и стать недорогим вариантом ПО для предприятий.

Таким образом, InterBase 7.0 идеально подходит для создания файлов базы данных «Информационно-справочная система кинотеатра», совмещая в себе возможности хранения больших объемов информации и простой интерфейс.

5.2 Проектирование базы данных

Каждая из представленных в логической модели данных сущностей должна быть отражена базовой таблицей. Все проектируемые таблицы впоследствии связываются в единую базу данных «Информационно-справочная система кинотеатра» (Cinema). Ниже описывается каждая таблица.

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

Структура таблицы приведена на рисунке 5.2.1.

Рисунок 5.2.1 Таблица Today в InterBase.

Таблица Билеты (Bilety) предназначена для хранения информации о реализованных билетах.

Структура таблицы представлена на рисунке 5.2.2.

Рисунок 5.2.2 Таблица Bilety в InterBase

Таблица Сеансы (Seansy) предназначена для хранения информации о времени проведения сеансов и стоимости билетов на эти сеансы.

Структура таблицы представлена на рисунке 5.2.3.

Рисунок 5.2.3 Таблица Seansy в InterBase.

Таблица Архив фильмов (Films) предназначена для хранения информации обо всех имеющихся в кинотеатре фильмах.

Структура таблицы представлена на рисунке 5.2.4.

Рисунок 5.2.4 Таблица Films в InterBase

Все таблицы связаны между собой согласно описанию, приведенному в разделе «Логическая модель данных».

5.3 Описание доменов

Домен - это шаблон, на который можно ссылаться в командах создания и модификации таблиц. Таблицы, базирующиеся на доменах, наследуют все характеристики доменов. Домен можно трактовать как область определения атрибута, которая может быть задана либо непрерывным или дискретным интервалом, либо фиксированным списком значений.

В базе данных «Сinema» был создан домен “STRING”, основная характеристика которого - длинна строки должна быть не более 30 символов. На этот домен ссылаются Жанр «GENRE» и Название фильма «NAME» в таблице «Films».

CREATE DOMAIN STRING AS CHAR(30) NOT NULL;

Так же был создан домен “ID” на поля “ID_TODAY”, “ID_TODAY2”, “ID_F”, “ID_F2”, “ID_SE”, “ID_SE2”, в таблицах “Today”, “Bilety”, “Seansy” и “Films”.

CREATE DOMAIN ID AS INTEGER NOT NULL;

и домен “COMMENT” на поле “COMMENTARY” в таблице “Films”

CREATE DOMAIN COMMENT AS CHAR(50);

5.4 Описание запросов и обзоров

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

В 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

AND ID_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". Исключение выдавало сообщение об ошибке, если при попытке добавления данных, одно из полей оставалось пустым.

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

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

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

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

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

CREATE TRIGGER "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 - с правами на просмотр, обновление, и добавление новых записей в таблицы.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.