Заболотников_Максим_9373_КурсоваяРабота_Кинотеатры
.pdf2.ОБОСНОВАНИЕ МОДЕЛИ ДАННЫХ
2.1.Построение ER-модели
Врезультате анализа полученных данных была сформирована следующая ER-модель:
Рисунок 1 ERмодель базы данных
2.2.Нормализация БД
База данных находится в 1-ой нормальной форме так как каждый кортеж отношения содержит только одно значение для каждого из атрибутов
База данных находится в 1-ой нормальной форме и не содержит неполных функциональных зависимостей атрибутов от первичного ключа. В каждой таблице все атрибуты однозначно зависят от первичного ключа. Следовательно, БД находится во второй нормальной форме.
11
Все отношения находятся во 2-ой нормальной форме и в них отсутствуют транзитивные функциональные зависимости.
Следовательно, все отношения находятся в 3-ей нормальной форме.
Код и реализация составленных отношений будет приведен в приложении Б.
12
3. ОБОСНОВАНИЕ ВЫБОРА СУБД
Для данной работы была выбрана СУБД PostgreSQL.Для создания реляционной БД она хорошо подходит, так как предлагает достаточный набор инструментов. Кроме этого, она быстро работает.
13
4.ОПИСАНИЕ ФУНКЦИЙ ГРУПП ПОЛЬЗОВАТЕЛЕЙ
4.1.Работник справочной службы кинотеатра
Основные задачи работника справочной службы кинотеатра – просмотр информации о кинотеатрах, фильмах, которые показываются в этих кинотеатрах, и сеансах.
4.2.Заместитель администратора (менеджер)
Менеджер имеет доступ на просмотр всей информации, а также на добавление новых данных.
4.3.Администратор БД
Администратору должны быть доступны все данные из таблицы на редактирование.
4.4.Назначение прав доступа
Таблица 2 Таблица прав доступа
Объект |
Работник |
Менеджер |
Администратор БД |
|
службы |
|
|
|
|
|
|
Кинотеатр |
S |
SI |
SUID |
|
|
|
|
Фильм |
S |
SI |
SUID |
|
|
|
|
Сеанс |
S |
SI |
SUID |
|
|
|
|
Категория |
S |
SI |
SUID |
|
|
|
|
Связь кинотеатр- |
S |
SID |
SUID |
категория |
|
|
|
|
|
|
|
Афиша |
S |
SI |
SUID |
|
|
|
|
Расценка |
S |
SI |
SUID |
|
|
|
|
Код реализации прав доступа будет представлена в приложении Б.
14
5.ОПИСАНИЕ ФУНКЦИЙ УПРАВЛЕНИЯ БД
5.1.Хранение данных
Организация хранения информации о кинотеатрах необходимо при добавлении «единицы хранения» менеджером. Для этого он задает название кинотеатра, район, где расположен кинотеатр, его адрес и категорию.
Приведём один из примеров такого добавления:
Рисунок 2 Реализация хранения данных
5.2.Манипулирование данными
Манипулирование данными необходимо, например, когда администратор удаляет информацию о каком-то фильме (в связи со снятием этого фильма с проката). Для этого он указывает название фильма.
Приведём один из примеров такого удаления
Рисунок 3 Манипулирование данными
5.3.Предоставление данных
Предоставление данных необходимо при выполнении следующих операций:
-посчитать количество кинотеатров в городе;
-вывести данные о каком-то кинотеатре (название, район, адрес и категория);
Рисунок 4 Подсчёт количества кинотеатров в городе
15
Рисунок 5 Данные о кинотеатре
6.ОРГАНИЗАЦИЯ ЗАЩИТЫ БД
6.1.Ограничение целостности
Вданной БД основные ограничения целостности накладываются за счёт цельности связей
Таблица 3 Связи между отношениями
Таблица со значением |
Таблица с зависимым |
|
значением |
|
|
Cinemas.cinema_id |
Cinema_Categ.cinema_id |
|
|
Cinemas.cinema_id |
Playbill.cinema_id |
|
|
Categories.category_n |
Cinema_Categ.category_n |
|
|
Categories.category_n |
Tiket_prices.category_n |
|
|
Titles.title_id |
Tiket_prices.title_id |
|
|
Titles.title_id |
Playbill.title_id |
|
|
Playbill.playbill_id |
Session.playbill_id |
|
|
Tiket_prices.cost_id |
Session.cost_id |
|
|
Помимо этого, во всех отношениях все элементы являются NOT NULL
значениями. Все id в отношениях являются уникальными значениями.
При снятии фильма с проката (удалении из таблицы) целостность остальных отношений не нарушается.
Кроме этого в пользовательском приложении для сохранения целостности и правильном добавлении данных предусмотрены проверки. В
таблицах, где предусмотрены внешние ключи, пользователю предоставляется выбор только существующих данных. (подробнее об этом будет в
«ПРИЛОЖЕНИИ А. Руководство пользователя»
16
6.2.Средства физической защиты
Для обеспечения физической защиты рекомендуется проводить периодическое резервное копирование.
Полное резервное копирование стоит проводить раз в неделю, для того чтобы не потерять данные о прибывших материалах.
Частичное копирование стоит проводить раз в день, для актуализации информации о материалах на складе.
17
ЗАКЛЮЧЕНИЕ
В процессе выполнения курсового проекта была разработана база данных для работника справочной службы кинотеатров города. Кроме этого, для удобного взаимодействия с БД, было спроектировано клиентское приложение с интерфейсом.
18
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.Цехановский В.В. Методические указания к курсовой работе по дисциплине "Управление данными". СПб: СПбГЭТУ "ЛЭТИ", 2004. 29 с.
2.SQL в примерах и задачах; Учеб. пособие / И.Ф. Астахова, А.П.
Толстобров,В.М. Мельников.— Мн.: Новое знание, 2002. — 176 с.
3.Ризаев И.С., Яхина З.Т. Базы данных: Учебное пособие. Казань.:
Изд-во Казан. гос. техн. ун-та. 2008. 240 с.
4. К. Дж. Дейт SQL и реляционная теория. Как грамотно писать код на SQL. – Пер. с англ. – СПб.: Символ-Плюс, 2010. – 480 с., ил.
19
ПРИЛОЖЕНИЕ А
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
В данном приложении предусмотрено 2 вида пользователя – работник справочной службы и менеджер, у которых имеется различный функционал.
Рисунок 6 Главный экран приложения
Рассмотрим подробнее каждый из видов использования. В режиме
«работник справочной службы» у нас имеется 3 вида функции.
1) Кинотеатры города – показывается информация о кинотеатрах
города
Слева высвечивается список кинотеатров города, справа – выбор
информации, которую работник может посмотреть. Пример показан ниже.
Рисунок 7 Выбор действий.
20