Смекни!
smekni.com

Информационно-справочная система кинотеатра (стр. 3 из 14)

4.4 Описание отношений

Отношения между таблицами устанавливают связь между данными находящимися в разных таблицах базы данных.

Отношения между таблицами определяются отношением между группами объектов соответствующего типа. Организация связи между таблицами называется связыванием. Связи между таблицами можно устанавливать как на этапе разработки базы данных, так и при разработке приложения. Связывать можно одну или несколько таблиц. Для связывания таблиц используются соответствующие поля связи. Поле связи – особое поле таблицы, которое однозначно идентифицирует запись, иначе данное поле называется ключом. Ключи бывают:

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

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

Связь между таблицами определяет отношение подчиненности, при котором одна таблица является главной, другая подчиненной. Различают следующие разновидности связи:

- отношение «один к одному»;

- отношение «один ко многим»;

- отношение «многие к одному»;

- отношение «многие ко многим».

Также важное значение имеет ссылочная целостность, которая представляет собой особый механизм, способствующий поддержанию непротиворечивых сведений в таблицах базы данных, связанных реляционными отношениями.Особую роль при разработке базы данных играет нормализация, целью которой является устранение недостатков структуры базы данных, приводящих к вредной избыточности в данных, которая в свою очередь потенциально приводит к различным аномалиям и нарушениям целостности данных. Нормальная форма – формальное свойство отношения, которое характеризует степень избыточности хранимых данных и возможные проблемы. Результатом сказанного является определение набора отношений разрабатываемой автоматизированной базы данных «Информационно-справочная система кинотеатра»:

1. Фильмы на сегодня (Today). Данная таблица является центральной. Она имеет уникальное поле, которое однозначно определяет и описывает каждый реализованный билет: Код_билета – номер фильма и сеанса, Код_фильма – номер фильма из архива, Код_сеанса – номер сеанса.

Данная сущность содержит атрибуты, представленные в таблице 4.4.1.

Таблица 4.4.1 – Атрибуты сущности «Фильмы на сегодня»

Название атрибута Описание Домен Ключ
1 Код_билета Отражает номер фильма и сеанса. Используется как первичный ключ Целое число Первичный
2 Код_фильма Отражает номер фильма из архива. Используется как внешний ключ Целое число Внешний
3 Код_сеанса Отражает номер сеанса. Используется как внешний ключ Целое число Внешний

2. Список реализованных билетов (Bilety). Сущность содержит данные обо всех реализованных билетах: Код_билета – номер фильма и сеанса, Дата_продажи – дата реализации билета, Место – место в зрительном зале, Ряд – ряд в зрительном зале.

Данная сущность содержит атрибуты, представленные в таблице 4.4.2

Таблица 4.4.2 – Атрибуты сущности «Список реализованных билетов»

Название атрибута Описание Домен Ключ
1 Код_билета Отражает номер фильма и сеанса. Используется как внешний ключ Целое число Внешний
2 Дата_продажи Отражает дату реализации билета Дата -
3 Место Отражает место в зрительном зале Целое число -
4 Ряд Отражает ряд в зрительном зале Целое число -

3. Информация о сеансах (Seansy). Сущность содержит информацию времени проведения сеансов и стоимости билетов: Код_сеанса – номер сеанса, Начало_сеанса – время проведения сеанса, Стоимость_билета – стоимость билета за данный сеанс.

Описание сущности показаны в таблице 4.4.3

Таблица 4.4.3 – Атрибуты сущности «Информация о сеансах»

Название атрибута Описание Домен Ключ
1 Код_сеанса Отражает номер сеанса. Используется как первичный ключ Целое число Первичный
2 Начало_сеанса Отражает время проведениясеанса Строка символов -
3 Стоимость_билета Отражает стоимость билета Целое число -

4. Архив фильмов (Films). Сущность содержит данные обо всех фильмах, имеющихся в кинотеатре: Код_фильма – номер фильма, Жанр – жанр фильма, Название_фильма – название фильма, Комментарий – комментарий (может содержать, например, возрастные ограничения на просмотр фильма).

Описание сущности показаны в таблице 4.4.4

Таблица 4.4.4 – Атрибуты сущности «Архив фильмов»

Название атрибута Описание Домен Ключ
1 Код_фильма Отражает номер фильма. Используется как первичный ключ Целое число Первичный
2 Жанр Отражает жанр фильма Строка символов -
Название атрибута Описание Домен Ключ
3 Название_фильма Отражает название фильма Строка символов -
4 Комментарий Отражает комментарий Строка символов -

5 Физическая модель данных

5.1 Выбор и обоснование средств разработки

Для разработки базы данных «Информационно-справочная система кинотеатра» использовалась система управления базами данных InterBase 7.0.

InterBase является функционально законченным средством базы данных. Он объединяет администрирование базы данных, интерактивный SQL и сетевую связь, тестирующие возможности в одном легком, в использовании приложении.

InterBase обеспечивает:

- управление локальными и дистанционными серверами;

- управление безопасностью сервера (создание новых пользователей, изменение паролей пользователя, и удаление прав пользователя);

- управление сертификатами сервера;

- управление файлами базы данных;

- создание копий и восстановление баз данных;

- эксплуатацию базы данных;

- отключение и перезапуск базы данных;

- выполнение SQL-запросов.

Основными достоинствами InterBase являются низкие требования к системе, с одновременной масштабируемостью на несколько процессоров, плюс развитая система мониторинга, временные таблицы, встраиваемая аутентификация пользователей, журналирование.

Производительность, удобство использования, поддержка 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 Описание запросов и обзоров

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