О СОЗДАНИИ СИСТЕМЫ СКИДОК ДЛЯ КИНОТЕАТРА - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

О СОЗДАНИИ СИСТЕМЫ СКИДОК ДЛЯ КИНОТЕАТРА

Бабенко А.А. 1, Бабенко А.А. 1, Свиридова И.В. 1, Соловьев И.И. 1
1ФГАОУ ВО «Белгородский государственный национальный исследовательский университет»,
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Нами разработана БД «Система скидок для кинотеатра». Эта система представляет собой распределенный программно-аппаратный комплекс в котором взаимодействуют кинодистрибьютор и кинотеатры.

Кинодистрибьютор — это компания или доверенное лицо, ответственное за прокат фильма, предоставление лицензии на показ одному кинотеатру или сети кинотеатров. Дистрибьютор определяет дату выхода фильма и способы, по которым фильм будет доступен для просмотра; например, непосредственно публичные показы в кинотеатрах или только для домашнего просмотра (DVD, кино-по-запросу, скачивание, распространение через подписку на телеканалы и т. д.).

Кинотеатр — общественное здание или его часть с оборудованием для публичной демонстрации кинофильмов. Главное помещение кинотеатра — зрительный зал с экраном большого размера и системой воспроизведения звука. Под кинотеатром в проекте также понимается вся деятельность, проходящая в нем, сотрудники, клиенты, система скидок и т.д.

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

Система скидок в кинотеатре представляется для каждого кинотеатра индивидуально, так как кинотеатр может изменять процент скидки.

Основная цель данного проекта является оптимизация продажи билетов, путем привлечения покупателей с помощьюскидок. Это осуществляется следующем путем. Для постоянных клиентов предоставляется индивидуальная карта, на которую начисляются балы, которыми клиент в будущем может расплачиваться за билет (например, 500 баллов – 1 фильм бесплатно). За каждый просмотренный фильм клиенту с картой начисляется 100 баллов за билет, так же предусмотрено начисление подарочных баллов на день рождение клиента, дату рождение клиент указывает при получении карты. Так же помимо карты, кинотеатры предоставляют и другие скидки.

Скидки,представляющиеся кинотеатрами:

  • при рейтинге (например, рейтинг 1 – минус 5% от стоимости билета);

  • посещаемость (например, если за неделю на фильм пришло менее 100 человек, - минус 20% от стоимости билета);

  • продолжительность фильма в прокате (например, 1 неделя – минус 0% от стоимости билета, 2 неделя – минус 15%, 3 неделя – минус 25%)

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

  1. РАЗРАБОТКА РЕЛЯЦИОННОЙ МОДЕЛИ БАЗЫ ДАННЫХ

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

В результате детального анализа предметной области были выделены следующие таблицы: фильм, жанр, страна, формат, сеанс, зал, сектор, скидка, вид, цена, место, билет, движение билета, сотрудник, карта, продажа фильма, кинотеатр.

В реляционнойСУБД все обрабатываемые данные представляются в виде плоских таблиц. Информация об объектах определенного вида представляется в табличном виде: в столбцах таблицы сосредоточены различные атрибуты объектов, а строки предназначены для сведения описаний всех атрибутов к отдельным экземплярам объектов.

Теперь построим реляционную модель. У данной модели есть следующие связи: Жанр – Фильм, Страна – Фильм, Формат – Фильм, Фильм – Сеанс, Фильм – Сектор, Фильм – Продажа фильма, Кинотеатр – Продажа фильма, Зал – Сектор, Вид – Скидка, Скидка – Цена, Сеанс – Цена, Сектор – Цена, Сектор – Место, Место – Билет, Сеанс – Билет, Билет - Движение билета, Карта - Движение билета, Сотрудник - Движение билета.

На рис. 3.1 представлена логическая модель базы данных «Система скидок для кинотеатра».

Рис.3.1. Реляционная модель базы данных «Система скидок для кинотеатра»

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

Рис. 3.2. Физическая модель БД «Система скидок для кинотеатра»

  1.  
    1. ИЗУЧЕНИЕ ORACLE

Oracle Database Express Edition (Oracle Database XE) - этобесплатная, меньшаяпообъемуверсия Oracle Database. Oracle Database XE проста в установке и управлении.

Для работы с Oracle Database XE используется интуитивно-понятный web-интерфейс, позволяющий: администрировать базу данных, создавать таблицы, представления и другие объекты базы данных, импортировать, экспортировать и просматривать табличные данные, выполнять запросы и запускать SQL-скрипты, генерировать отчеты

В поставку Oracle Database XE также включен Oracle Application Express release 2.1 - графическая среда разработки для создания web-приложений, основанных на базе данных. В поставку Oracle Database XE также входят следующие консольные приложения: SQL-консоль (SQL*Plus), для выполнения команд SQL и PL/SQL, и запуска скриптов, SQL*Loader, для загрузки данных в базу данных, Data Pump и инструменты импорта/экспорта данных

Oracle Database Express Edition- реляционная база данных, которая хранит и восстанавливает наборы связанной информации. База данных, также названная сервером базы данных, является ключом к решению проблем информационного управления. В реляционной базе данных, коллекции связанной информации организованы в структуры, названные таблицами. Каждая таблица содержит строки (записи), которые составлены из колонок (полей). Таблицы сохранены в базе данных в структурах, под названием схемы, которые являются логическими структурами данных, где пользователи базы данных хранят свои таблицы.

  1.  
    1. РЕАЛИЗАЦИЯ В ORACLE

Oracle Database Express Edition (Oracle Database XE) запускается автоматически сразу после инсталляции и после каждой системной перезагрузки. Таким образом, нет необходимости запускать базу данных, если предварительно Вы ее не остановили.

Можно так же запустить базу данных непосредственно с рабочего стола или при помощи командной строки SQL (SQL*Plus).

Запуск программы осуществляется следующим рбразом, необходимо нажать Start, указать на Programs (или All Programs), перейдите на Oracle Database 10g Express Edition, после чего выбрать Go to Database Home Page.

При появлении страницы авторизации, подключится к базе данных, можно используя действующие имя (SYS - для входа с правами администратора) пользователя базы данных и пароль, который указывается в процессе установки. На рис. 3.3. представлена страница авторизации.

Рис. 3.3. Страница авторизации

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

  • Administration—Управление пользовательскими учетными записями, распределением оперативной памяти; управление дисковым пространством, сетевыми соединениями, мониторинг активности базы данных, а также просмотр конфигурационной информации.

  • Object Browser—Просмотр, создание, изменение и удаление объектов базыданных, а также навигация по ним. Чтобы редактировать и компилировать процедуры, функции и триггеры, пользуйтесь PL/SQL-редактором.

  • SQL—Доступ к следующим инструментам SQL:

  1. SQL Commands—Запуск команд SQL и анонимных блоков PL/SQL. Запуск скрпитов и сохраненных запросов.

  2. SQL Scripts—Создание, редактирование, просмотр, запуск и удаление скриптовых файлов. Загрузка и выгрузка скриптов для локальной файловой системы.

  • Query Builder—Позволяет с небольшим опытом или совсем без знания языка SQL строить SQL-запросы, используя графический пользовательский интерфейс. Просмотр отформатированных результатов запроса и сохранение запросов.

  • Utilities—Загрузка и выгрузка данных, генерирование DDL, просмотр отчетов по объектам, а также восстановление удаленных объектов базы данных.

Для создание нового пользователя необходимо открыть Administrationи запустить CreateUser. Последовательность действий представлена на рис. 3.4.

Рис. 3.4. Переход к созданию нового пользователя

Создается новый пользователь с новым именем и паролем. Далее работа будет происходить под этим именем.На рис. 3.5. представлено создание нового пользователя KINO, c паролем 12345.

Рис. 3.5. Создание нового пользователя

Заново заходим под новым пользователем. На рис. 3.6. представлен вход под созданным пользователем.

Рис. 3.6. Вход в систему OracleXE

Приступаем к созданию таблицы нашей базы данных. На рис 3.7. представлена физическая модель базы данных «Система скидок для кинотеатра».

Рис 3.7. Физическая модель БД

  1.  
    1. СОЗДАНИЕ ТАБЛИЦ В ORACLE

Таблица – это структура, которая хранит данные в реляционной базе данных.

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

Oracle позволяет задать условия, которым должны удовлетворять все данные в БД. Условия задаются в декларативной форме, т. е. программист лишь задает условие, а сервер обеспечивает его проверку при любом изменении данных. Такие условия называются правилами целостности (integrity constraint).

В Oracle поддерживаются четыре правила целостности, налагающих ограничения на данные в пределах одной таблицы:

  • запрет неопределенных значений (not null),

  • проверка условия (check),

  • уникальность значений (unique)

  • первичный ключ (primary key).

Кроме того, для обеспечения ссылочной целостности существуют внешние ключи (foreign key). Правило not запрещает использование неопределенных значений. Если столбец объявлен как not null, данные в этом столбце не могут содержать значение null.

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

Для создания страниц необходимо открыть SQL Workshop и запустить Object Browser. Далее нажать на кнопку Create в правом верхнем углу страницы, после чего отобразится список типов объектов БД, которые можно создать. Перейдя по ссылке Table, запускается мастер создания таблицы. Вверху в виде линейного графика отражаются шаги создания таблицы. Активный шаг – Columns.

В поле Table Name вводится название таблицы - COUNTRY:Поля Column Name (Имя столбца), Type (Тип Данных), Precision (Точность, Максимальный размер), Scale (Размер, Количество знаков после запятой), Not Null (Обязательное) предназначены для описания столбцов создаваемой таблицы. Добавляются описание следующих столбцов:

  • Столбец с названием ID_COUNTRY, тип данных – Number, обязательный. В этом столбце будет храниться уникальный числовой идентификатор страны.

  • Столбец с названием NAME_COUNTRY, тип данных – Varchar2(255), обязательный. В этом столбце будет храниться название страны.

На рис. 3.8. представлен ввод столбцов.

Рис. 3.8. Ввод столбцов

Далее нажать Next>. НашагеPrimaryKey в поле Primary Key необходимо выбрать Populated from a new sequence (значения столбца первичного ключа будут браться из нового объекта-последовательности). Последовательность (Sequence) – это объект БД, который используется для генерации уникальных числовых значений.В полях Primary Key Constraint Name (Название ограничения целостности первичного ключа) и Sequence Name (Название последовательности) значения по умолчанию, сгенерированные APEX.

В поле Primary Key (Первичный ключ) выберается столбец ID_COUNTRY. Далее нажать Next>. Шаг Foreign Key (Внешний ключ) пропускается (т.е. нажмите Next>), т.к. в создаваемой таблице пока нет ссылок на другие таблицы.

На рис. 3.9. представлено создание первичного ключа для таблицы COUNTRY.

Рис. 3.9. Создание первичного ключа

Далее подтверждаем создание таблицы, нажав на кнопку Create Table. На рис. 3.10. представлено подтверждение создании таблицы.

Рис. 3.10. Подтверждение создания таблицы

Созданная таблица появится в списке таблиц. Для выбранной таблицы в центральной части Object Browser отображается ее детальное описание, организованное в виде вкладок (Table, Data, Indexes, Model, Constraints, …). На каждой вкладке представлены кнопки с операциями, которые можно совершать над таблицей (например, на вкладке Table: Add Column, Modify Column и т.д.).

Аналогично создаем все оставшиеся таблицы.

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

Для этого открывается вкладка Constraints описания созданной таблицы FILM, нажимается кнопка Create, после чего отображается мастер добавления ограничения целостности:

  • В поле Constraint Name вписывается название создаваемого ограничения (оно должно быть уникальным в БД) например, FILM_FK.

  • Вполе Constraint Type выберается Foreign Key и Disallow Delete.

  • Всписке Foreign Key Column(s) выделяетсястолбецID_GENRE.

  • В поле Reference Table Name (название родительской таблицы) выберается название созданной таблицы GENRE.

  • В списке Reference Table Column (столбцы родительской таблицы, на которые будут ссылаться столбцы внешнего ключа) выберается столбец первичного ключа родительской таблицы – ID_ GENRE.

Далее нажимаем NEXT>.Подтверждается создание внешнего ключа, нажав на кнопку Finish. Созданное ограничение целостности отобразится в списке ограничений целостности таблицы.

Создание внешнего ключа представлено на рис. 3.11.

Рис. 3.11. Создание внешнего ключа

Аналогично создаются внешнии ключи для таблиц COUNTRY, FORMATи SWSSIONS. Проверить созданную связь можно во вкладке Model для таблицы FILM. На рис. 3.12. представлены созданные связи.

Рис. 3.12. Связи между таблицами

Видно, что теперь таблицы связаны: таблица FILM подчиняется таблице GENRE.

  1.  
    1. ВВОД ТЕКСТОВЫХ ДАННЫХ В ORACLE

После создания всех таблиц – заполняем их данными. Заполним данными таблицу FILM. Чтобы заполнить таблицу, выбираем вкладку Data, кнопку Insert Row. В появившуюся форму заносим данные. На рис. 3.13. форма для внесения данных.

Рис 3.13. Заполнение данных таблицы FILM

Далее нажимаем Create, затем кнопку Insert Row. Заполняем данные на следующего пользователя. В результате заполнения полей таблицы появляется список всех фильмов. На рис. 3.14. представлена заполненная таблица FILM.

Рис 3.14. Заполненная таблица FILM

Таким образом, создаются все 17 таблиц нашей базы данных рис 3.15 – 3.30.

Рис. 3.15. Таблица ASSOCIATE

Рис. 3.16. Таблица COUNTRY

Рис. 3.17. Таблица DISCOUNT

Рис. 3.18. Таблица FORMAT

Рис. 3.19. Таблица GENRE

Рис. 3.20. Таблица MAP

Рис. 3.21. Таблица MOVEMENT_TICKET

Рис. 3.22. Таблица PLACE

Рис. 3.23. Таблица PRICE

Рис. 3.24. Таблица SESSIONS

Рис. 3.25. Таблица SECTOR

Рис. 3.26. Таблица TICKET

Рис. 3.27. ТаблицаVID

Рис. 3.28. Таблица ZAL

Рис. 3.29. Таблица BUY_FILM

Рис. 3.30. Таблица KINOFILM

Далее создадим глобальное представление.

  1.  
    1. ГЛОБАЛЬНОЕ ПРЕДСТАВЛЕНИЕ В ORACLE

Представление — это сохраненный запрос к БД. Результатом выполнения запроса является отношение, что позволяет использовать представления в командах insert, update, delete и select так же, как и таблицы. При изменении данных представления изменяются данные в таблицах, входящих в это представление, а при использовании представления в команде выборки данных Oracle подставляет его текст в запрос и затем разбирает и выполняет запрос целиком. В представлении нельзя определять правила целостности, однако можно определять достаточно сложную логику работы при изменении данных представления — с помощью триггеров instead of.

Представления используются для того, чтобы скрыть физическую структуру данных, обеспечив большую гибкость приложения, чтобы упростить запросы или чтобыограничить доступ к данным. Представление не требует места в БД, кроме места на хранение своего определения в словаре данных.

При использовании представления Oracle использует национальные настройки текущей сессии, если эти настройки не заданы явно в SQL-запросе, образующем представление.

Создается представление командой create view:

create [or replace] [force] view [(

{,})] as [with (read only | check option

[constraint ])]

Если запрос некорректен (содержит ошибку или пользователь, создающий представление, не имеет привилегий на обращение к указанным в запросе объектам),представление не будет создано. Однако если указать параметр force, то представление будет создано в любом случае, а попытка обратиться к нему приведет к ошибке:

ORA-04063: view "" has errors

Представление может становиться ошибочным и в результате изменения структуры объектов, к которым оно обращается.

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

Фраза with read only говорит о том, что представление можно использовать только на чтение. Фраза with check option заставляет Oracle при выполнении изменения данных представления командами insert и update проверять новые значения на соответствие условиям запроса. Если запрос содержит подзапросы или изменение данных выполняется триггером instead of, то проверка работать не будет.

Уничтожается представление командой drop:

drop view

Для нашей базы данных мы создали представление, которое является глобальным (состоит из всех таблиц БД).

Представление TABL происходит объединение нескольких таблиц (все таблицы) с помощью where по первичным и вторичным ключам.

Листинг 1. Глобальное представление

select "MOVEMENT_TICKET"."ID_MOVEMENT_TICKET" as "ID_MOVEMENT_TICKET",

"KINOFILM"."NAME_KINOFILM" as "NAME_KINOFILM",

"BUY_FILM"."LICENCE" as "LICENCE",

"BUY_FILM"."DATA_BUY_FILM" as "DATA_BUY_FILM",

"FILM"."NAME_FILM" as "NAME_FILM",

"COUNTRY"."NAME_COUNTRY" as "NAME_COUNTRY",

"GENRE"."NAME_GENRE" as "NAME_GENRE",

"FORMAT"."NAME_FORMAT" as "NAME_FORMAT",

"SESSIONS"."DATA_SESSIONS" as "DATA_SESSIONS",

"ZAL"."NAME_ZAL" as "NAME_ZAL",

"SECTOR"."NAME_SECTOR" as "NAME_SECTOR",

"PLACE"."NUM_PLACE" as "NUM_PLACE",

"PLACE"."NUM_ROW" as "NUM_ROW",

"TICKET"."ADD_SCORES" as "ADD_SCORES",

"VID"."NAME_VID" as "NAME_VID",

"DISCOUNT"."PERSENT" as "PERSENT",

"PRICE"."PRICES" as "PRICES",

"PRICE"."PRICE_SCORE" as "PRICE_SCORE",

"MOVEMENT_TICKET"."DATE_BUY" as "DATE_BUY",

"ASSOCIATE"."FIO_ASSOCIATE" as "FIO_ASSOCIATE",

"ASSOCIATE"."POSITION" as "POSITION",

"MAP"."FIO" as "FIO",

"MAP"."KOLVO_M" as "KOLVO_M",

"MAP"."KOLVO_ALL" as "KOLVO_ALL",

"MAP"."SCORES" as "SCORES"

from "MAP" "MAP",

"ASSOCIATE" "ASSOCIATE",

"MOVEMENT_TICKET" "MOVEMENT_TICKET",

"TICKET" "TICKET",

"PRICE" "PRICE",

"SECTOR" "SECTOR",

"PLACE" "PLACE",

"DISCOUNT" "DISCOUNT",

"VID" "VID",

"ZAL" "ZAL",

"SESSIONS" "SESSIONS",

"COUNTRY" "COUNTRY",

"GENRE" "GENRE",

"FORMAT" "FORMAT",

"FILM" "FILM",

"BUY_FILM" "BUY_FILM",

"KINOFILM" "KINOFILM"

where "KINOFILM"."ID_KINOFILM"="BUY_FILM"."ID_KINOFILM"

and "FILM"."ID_FILM"="BUY_FILM"."ID_FILM"

and "FORMAT"."ID_FORMAT"="FILM"."ID_FORMAT"

and "GENRE"."ID_GENRE"="FILM"."ID_GENRE"

and "COUNTRY"."ID_COUNTRY"="FILM"."ID_COUNTRY"

and "FILM"."ID_FILM"="SESSIONS"."ID_FILM"

and "ZAL"."ID_ZAL"="SESSIONS"."ID_ZAL"

and "ZAL"."ID_ZAL"="SECTOR"."ID_ZAL"

and "SECTOR"."ID_SECTOR"="PLACE"."ID_SECTOR"

and "DISCOUNT"."ID_DISCOUNT"="PRICE"."ID_DISCOUNT"

and "VID"."ID_VID"="DISCOUNT"."ID_VID"

and "SECTOR"."ID_SECTOR"="PRICE"."ID_SECTOR"

and "SESSIONS"."ID_SESSIONS"="PRICE"."ID_SESSIONS"

and "PLACE"."ID_PLACE"="TICKET"."ID_PLACE"

and "SESSIONS"."ID_SESSIONS"="TICKET"."ID_SESSIONS"

and "TICKET"."ID_TICKET"="MOVEMENT_TICKET"."ID_TICKET"

and "ASSOCIATE"."ID_ASSOCIATE"="MOVEMENT_TICKET"."ID_ASSOCIATE"

and "MAP"."ID_MAP"="MOVEMENT_TICKET"."ID_MAP"

На рис. 3.31. представлен результат созданного представления

Рис. 3.31.Созданное представление

  1.  
    1. СХЕМА РАСПРЕДЕЛЕНИЯ ДАННЫХ

Для полного представления работы базы данных составим схему распределения базы данных. На рис. 3.32. представлена схема распределенной базы данных.

Условные обозначения:

  1. Каждому серверу соответствует свой цвет. Серверу кинодистрибьютор соответствует красный цвет, серверу кинотеатр – синий.

  2. Вертикальная черта цвета сервера соответствует горизонтальной фрагментации по строкам таблицы.

  3. Горизонтальная черта цвета сервера соответствует вертикальной фрагментации по столбцам таблицы.

  4. Таблица в рамке цвета сервера соответствует дублированию, то есть данные таблицы полностью хранятся на сервере, соответствующего цвета.

  5. Стрелка соответствует направлению распространения изменений данных таблицы.

Кинодистрибьютор– красный цвет

Кинотеатры– синий цвет

Рис 3.32. Схема распределения данных

При возникновении проблем проектирования средств Oracle нужно подумать, какие результаты анализа могут оказать нам помощь в определении того, как распределять данные внутри приложения. Шесть свойств сущностей, которые важны для обеспечения распределения данных:

  • Готовность. В течении какого времени должна быть доступна информация.

  • Достоверность. Насколько важно иметь доступ к актуальному значению.

  • Видимость. Насколько широкие полномочия предоставляются при запросе.

  • Доступность. Как часто необходимо запрашивать информацию.

  • Мутируемость. Насколько широкие полномочия предоставляются при изменении.

  • Изменчивость. Как часто требуется изменять информацию.

Если сущность можно разбить на несколько частей, то анализ также должен дать схему фрагментации, которую мы подразделяем на три части:

  • Описание. Все соответствия, которые могут использоваться для разбиения сущности на части;

  • Анализ свойств сущностей. Порядок определения частей;

  • Выводы по распределению. Точка, из которой будет запрашиваться, и обновляться каждая часть, т.е. видимость, готовность, мутируемость и изменчивость части сущности.

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

  1. ВЫВОД

В ходе выполнения проекта была создана база данных «Система скидок для кинотеатра» для хранения данных о фильмах, билетах и скидок. Была проанализирована предметная область, изучены её функции. На основе выделенных информационных объектов и их атрибутов построены реляционная и физическая модели. Были подробно рассмотрены все аспекты функционирования этой системы, логической, программной и физической ее реализации. База данных была реализована в Oracle, также было сделано глобальное представление из всех таблиц.

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

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

Просмотров работы: 107