Базы данных для кинотеатров
Федеральное агентство по образованию
Санкт-Петербургский Государственный электротехнический университет
«ЛЭТИ»
Кафедра МО ЭВМ
Пояснительная записка к курсовому проекту
по дисциплине базы данных
Выполнил: студент гр. 4351
Кузьменко А.В.
Преподаватель: Чебоксарова Т.Н.
Фомичева Т.Г.
Санкт-Петербург
2006
Задание (вариант 10)
Пусть требуется создать программную систему, предназначенную для работников справочной службы кинотеатров города. Такая система должна обеспечивать хранение сведений о кинотеатрах города, о фильмах, которые в них демонстрируются, о сеансах и билетах на эти сеансы. Сведения о кинотеатре - это его название, район города, где расположен кинотеатр, категория, вместимость. Сведения о фильме - это название фильма, режиссер, оператор, актеры, сыгравшие главные роли, жанр; производство, наличие призов кинофестивалей, продолжительность сеанса, кадр из фильма для рекламы. Кроме того, должна храниться информация о репертуаре кинотеатров на месяц, то есть о том какие фильмы, когда и где демонстрируются, о ценах на билеты и о количестве свободных мест на тот или иной сеанс. На разных сеансах в одном кинотеатре могут идти разные фильмы, а если в кинотеатре несколько залов, то и на одном. Кинотеатр может ввести новый фильм в репертуар или убрать фильм из репертуара. Работник справочной службы может корректировать перечень фильмов, находящихся в прокате — добавлять новые фильмы и снимать с проката, а также перечень кинотеатров, поскольку кинотеатры могут открываться или закрываться, причем иногда временно, например, на ремонт. Цена билета определяется прокатной стоимостью копии фильма, сеансом и категорией кинотеатра.
Справочной службе могут потребоваться следующие сведения о текущем состоянии проката фильмов в городе:
- Репертуар кинотеатра?
- Адрес и район кинотеатра?
- Число свободных мест на данный сеанс в указанном кинотеатре?
- Цена билетов на данный сеанс в указанном кинотеатре?
- Жанр, производство и режиссер данного фильма?
- Какие фильмы имеют награды, когда и в каких кинотеатрах они демонстрируются?
- В каких кинотеатрах в указанный день на указанных сеансах демонстрируется комедия?
- В каких кинотеатрах и когда демонстрируются фильмы с участием указанного актера?
Необходимо
предусмотреть возможность
Содержание
| 1.
Проектирование базы данных.... |
4 |
| 2.
Структуры таблиц и постоянные
связи между таблицами......... |
5 |
| 3.
Содержимое таблиц, на котором
производилась отладка системы. |
7 |
| 4.
Схема иерархии интерфейса..... |
9 |
| 5.
Описание экранных форм........ |
10 |
| 6.
Описание запросов............. |
24 |
| 7.
Описание отчетов.............. |
28 |
| 8.
Заключение.................... |
32 |
1. Проектирование базы данных
Для проектирования базы данных выбран универсальный метод проектирования — ER-метод (метод "сущность-связь"). При использовании этого метода необходимо прежде всего создать ER- модель, отражающую связи сущностей заданной предметной области. описание сущностей включает в себя перечисление атрибутов сущностей — их свойств, необходимых для решения задачи, один или несколько атрибутов могут быть ключевыми, то есть однозначно определяющими экземпляр сущности (они подчеркнуты).
При определении ключевых атрибутов приняты следующие допущения:
1) в городе нет кинотеатров с одинаковым названием;
2) в прокате
нет фильмов с одинаковым
3) в прокате нет фильмов с одинаковыми наградами;
Учитывая это, построим ER-диаграмму по нотации Баркера:
Составив ER-модель, можем перейти к созданию реляционной модели, то есть генерации отношений с помощью собственно ER-метода.
Связь "Кинотеатр" — "Зал" требует два отношения — "Кинотеатр", "Зал" и ключевой атрибут сущности "Кинотеатр" становится частью составного ключа отношения "Зал".
Связь "Зал" — "Сеанс" также требует два отношения - "Зал", "Сеанс", при этом составной ключ отношения "Зал" (включает ключ сущностей "Зал" и "Кинотеатр") становится частью составного ключа отношения "Сеанс".
Тогда связь "Кинотеатр" — "Сеанс", требующая двух отношений и перехода ключа, уже будет учтена, так как ключ сущности "Кинотеатр" входит в состав ключа отношения "Зал".
Связь "Фильм" — "Сеанс" требует два отношения - "Фильм" и "Сеанс"; ключ сущности "Фильм" становится атрибутом отношения "Сеанс".
Связи "Кинотеатр" — "Фильм" и "Зал" — "Фильм" требуют каждое трех отношений — по два для сущностей и по одному для связи. Но в качестве отношения для связи в обоих случаях может выступать отношение "Сеанс", так как оно имеет атрибуты, являющиеся ключевыми в отношениях "Кинотеатр", "Фильм" и "Зал".
Связь "Фильм" — "Актер" требует три отношения - "Фильм", "Актер" и одно для связи — "Роли", его атрибутами будут ключи отношений "Фильм" и "Актер".
Связь "Фильм" — "Призы" требует два отношения — "Фильм" и "Призы"; ключевой атрибут сущности "Фильм" становится частью составного ключа отношения "Призы".
Таким образом,
получим отношения со следующими
атрибутами и функциональными
1) Кинотеатр (название, район, адрес, категория)
название ® район, адрес, категория
адрес ® название, категория, район
2) Зал (Кинотеатр, № зала, вместимость)
кинотеатр, № зала ® вместимость
3) Фильм (название, режиссер, оператор, жанр, производство, продолжительность, кадр из фильма, прокатная стоимость)
название ® режиссер, оператор, жанр, производство, продолжительность, кадр из фильма, прокатная стоимость;
4) Актеры (ФИО)
5) Роли (Актер, Фильм)
6) Призы (Название, Фильм)
7) Сеанс (кинотеатр, зал, фильм, дата, время, цена билета, количество свободных мест)
кинотеатр, зал, дата, время ® фильм, количество свободных мест, цена билета;
Все перечисленные
отношения находятся в
2. Структуры таблиц и постоянные связи между таблицами
Поля и их типы для всех таблиц спроектированной базы данных представлены ниже:
Постоянные связи между таблицами
3. Содержимое таблиц, на котором производилась отладка системы.
4. Схема иерархии интерфейса.
В квадратных скобках — группа данных, которая может быть повторена несколько раз, к/т — кинотеатр.
5. Описание экранных форм
5.1 Форма "Главная"
Внешний вид:
Назначение: выбор дальнейших операций
Источник данных: -
Компоненты:
1) кнопка "Кинотеатры" — открыть форму "Кинотеатры", закрыть форму "Главная";
2) кнопка "Справочная служба" — открыть форму "Справочная служба" , закрыть форму "Главная";
3) кнопка "Выход" — выход из Microsoft Access;
5.2 Форма "Кинотеатры"
5.2.1. Вкладка "Добавление фильма"
Внешний вид:
Назначение: добавление фильма в репертуар кинотеатра
Источник данных: -
Компоненты:
1) поле со списком "Кинотеатры" — источник данных — запрос
SELECT Кинотеатры.Название FROM Кинотеатры;
2) кнопка "Новый
фильм" — открыть форму "
3) Подчиненная форма "Сеансы" — форма, основанная на вспомогательной таблице "всп_сеансы";
4) кнопка "Отмена" — очистить поля "фильм", "начало проката" и "конец проката", удалить все записи из таблицы "всп_сеансы" (запрос "з_всп_сеансы");
5) кнопка "OK" — открытие запросов, заполняющих вспомогательную таблицу "всп_дни" в соответствии с днями проката (будни или выходные) — d_1, d_2; открытие запросов на добавление записей в таблицу "Сеансы" — ЗС1, ЗС2, ЗС3; открытие запросов на удаление всех записей из вспомогательных таблиц "всп_сеансы" и "всп_дни" — "з_всп_сеансы", "з_дни";
6) кнопка "Выход" - закрыть форму "Кинотеатры", открыть форму "Главная";
5.2.2. Вкладка "Удаление фильма"
Внешний вид:
Назначение: удаление фильма из репертуара кинотеатра
Источник данных: -
Компоненты:
1) поле со списком "Кинотеатры" — источник данных — запрос
SELECT Кинотеатры.Название FROM Кинотеатры;
2) поле со списком "Кинотеатры" — источник данных — запрос
SELECT Сеансы.Фильм FROM Сеансы WHERE (((Сеансы.Кинотеатр) = Forms! Кинотеатры![к/т])) GROUP BY Сеансы.Фильм;
3) кнопка "Отмена" — очистить поле "фильм";
4) кнопка "Удалить"
— открытие запроса,
5) кнопка "Выход"
- закрыть форму "Кинотеатры",
открыть форму "Главная";
5.2.3. Вкладка "Создание афиши"
Внешний вид:
Назначение: удаление фильма из репертуара кинотеатра
Источник данных: -
Компоненты:
1) поле со списком "Кинотеатры" — источник данных — запрос
SELECT Кинотеатры.Название FROM Кинотеатры;
2) поле со списком "Кинотеатры" — источник данных — запрос
SELECT Сеансы.Фильм FROM Сеансы WHERE (((Сеансы.Кинотеатр) = Forms! Кинотеатры![к/т])) GROUP BY Сеансы.Фильм;
3) кнопка "Отмена" — очистить поле "фильм";
4) кнопка "Создать" — открытие запросов, добавляющих в соответствии с днями, когда идут сеансы с заданным фильмом записи во вспомогательную таблицу "всп_афиша" - "з_афиша_будни", "з_афиша_вых"; открытие отчета "афиша"; открытие запроса, удаляющего все записи из вспомогательной таблицы "всп_афиша" — "аф";
5) кнопка "Выход" - закрыть форму "Кинотеатры", открыть форму "Главная";
5.3 Форма "Справочная служба"
Внешний вид:
Назначение: выбор дальнейших операций
Источник данных: -
Компоненты:
1) кнопки "Справки", "Продажа билетов", "Перечень кинотеатров", "Перечень фильмов" — открыть одноименные формы;
2) кнопка "Отчет" — открыть отчет "Отчет"
3) кнопка "Выход" — закрыть форму "Справочная служба", открыть форму "Главная";
5.4. Форма "Билеты"
Внешний вид:
Назначение: продажа билетов на сеанс
Источник данных: -
Компоненты:
1) поле со списком "Кинотеатры" — источник данных — запрос
SELECT Кинотеатры.Название FROM Кинотеатры;
2) поле со списком "Фильм" — источник данных — запрос
SELECT Сеансы.Фильм
FROM Сеансы WHERE (((Сеансы.Кинотеатр)=Forms!
3) поле со списком "Зал" — источник данных — запрос
SELECT Сеансы.Зал
FROM Сеансы WHERE (((Сеансы.Кинотеатр)=Forms!
4) поле со списком "Дата" — источник данных — запрос
SELECT Сеансы.Дата
FROM Сеансы WHERE (((Сеансы.Зал)=Forms!Билеты!
5) поле со списком "Время" — источник данных — запрос
SELECT Сеансы.Время
FROM Сеансы WHERE (((Сеансы.Зал)=Forms!Билеты!
6) подчиненная форма "Цена и кол-во" — форма "З_билеты", основанная на запросе "З_билеты";
7) кнопка "Продать"
- открывает запросы "З_продать",
"обн_доход" или "доб_доход"
в зависимости от того, надо
ли добавить запись во
8) кнопка "Выход" - закрыть форму "Продажа билетов" , открыть форму "Справочная служба";
5.5 Форма "Билеты"
5.5.1 Вкладка "Добавление кинотеатра"
Внешний вид:
Назначение: добавление кинотеатра в перечень кинотеатров.
Источник данных: -
Компоненты:
1) поле со списком "Районы" — источник данных — таблица "Районы" с пеерчислением всех районов города;
2) поле со
списком "Категория" —
3) подчиненная
форма "Залы" — источник
данных — вспомогательная
4) кнопка "ОК" — открытие запросов "Добавление кинотеатра", "доб_залы"
5) кнопка "Отмена"
— очищение полей "Название",
"Район", "Адрес", "Категория",
удаление всех записей из
6) кнопка "Выход"
- закрыть форму "Перечень
5.5.2 Вкладка "Удаление кинотеатра"
Внешний вид:
Назначение: продажа билетов на сеанс
Источник данных: -
Компоненты:
1) поле со списком "Название" — источник данных — запрос
SELECT Кинотеатры.Название FROM Кинотеатры;
2) кнопка "Удалить" — открытие запросов "Вр_удаление", и, если флаг "Временое удаление" не установлен, то "Удаление кинотеатра";
5) кнопка "Отмена"
— очищение полей "Название",
сброс флага "Временое
6) кнопка "Выход"
- закрыть форму "Перечень
5.6 Форма "Перечень фильмов"
5.6.1 Страница "Добавить фильм"
Внешний вид:
Назначение: добавление фильма в перечень фильмов
Источник данных: -
Компоненты:
1) Подчиненная форма "Актеры" — форма "всп", основанная на вспомогательной таблице "всп"
2) Подчиненная форма "Призы" — форма "всп2", основанная на вспомогательной таблице "всп2"
3) кнопка "ОК" — открытие запросов "З1_фильмы", "З1_актеры", "З1_призы";
4) кнопка "Отмена" — очищение всех полей формы, открытие запросов, очищающих таблицы "всп" и "всп2" — "З1_всп", "З1_всп2";
5) кнопка "Выход"
- закрыть форму "Перечень
5.6.2 Страница "Удалить фильм"
Внешний вид:
Назначение: удаление фильма из перечня фильмов
Источник данных: -
Компоненты:
1) Поле со списком "Название фильма" — источник данных — таблица "Фильмы"
2) кнопка "Удалить" — открытие запроса на удаление "З2_фильм";
4) кнопка "Отмена" — очищение поля "Название фильма";
5) кнопка "Выход" - закрыть форму "Перечень фильмов", открыть форму "Справочная служба";
5.7 Форма "Справки"
Внешний вид:
Назначение: выбор необходимой справки
Источник данных: -
Компоненты:
1) кнопки
открывают следующие формы (по
порядку): С_Репертуар, С_адрес, С_
2) кнопка "Выход" - закрыть форму "Справки", открыть форму "Справочная служба";
5.7 Форма "С_Репертуар"
Внешний вид:
Назначение: определение фильмов, входящих в репертуар заданного кинотеатра
Источник данных: -
Компоненты:
1) поле со списком "Кинотеатр" — источник данных — запрос
SELECT Кинотеатры.Название FROM Кинотеатры;
2) подчиненная форма "З_Реперт" основана на запросе "З_Реперт";
5.8 Форма "С_адрес"
Внешний вид:
Назначение: определение района и адреса кинотеатра
Источник данных: -
Компоненты:
1) поле со
списком "Кинотеатр" —
SELECT Кинотеатры.Название FROM Кинотеатры;
2) подчиненная форма "З_адрес" основана на запросе "З_адрес";
5.9 Форма "С_сеансы"
Внешний вид:
Назначение: определение цены билета и количества свободных мест на заданный сеанс
Источник данных: -
Компоненты:
1) поле со
списком "Кинотеатр" —
SELECT Кинотеатры.Название FROM Кинотеатры;
2) поле со списком "Зал" — источник данных — запрос
SELECT Сеансы.Зал FROM Сеансы WHERE (((Сеансы.Кинотеатр)= Forms!С_сеансы![к/т])) GROUP BY Сеансы.Зал ORDER BY Сеансы.Зал;
3) поле со списком "Дата" — источник данных — запрос
SELECT Сеансы.Дата
FROM Сеансы WHERE (((Сеансы.Кинотеатр)=Forms!С_
4) поле со списком "Время" — источник данных — запрос
SELECT Сеансы.Время
FROM Сеансы WHERE (((Сеансы.Кинотеатр)=Forms!С_
5) подчиненная форма "З_сеансы" основана на запросе "З_сеансы";
5.10 Форма "С_фильмы"
Внешний вид:
Назначение: определение сведений о фильме
Источник данных: -
Компоненты:
1) поле со списком "Фильм" — источник данных — запрос
SELECT Фильмы.Название FROM Фильмы;
2) подчиненная форма "З_Фильмы" основана на запросе "З_Фильмы";
5.11 Форма "С_жанр"
Внешний вид:
Назначение: определение кинотеатров, где на определенном сеансе идет фильм определенного жанра
Источник данных: -
Компоненты:
1) поле со списком "Жанр" — источник данных — запрос
SELECT Фильмы.Жанр FROM Фильмы INNER JOIN Сеансы ON Фильмы.Название=Сеансы.Фильм GROUP BY Фильмы.Жанр;
2) поле со списком "Дата" — источник данных — запрос
SELECT Сеансы.Дата FROM Фильмы INNER JOIN Сеансы ON Фильмы.Название=Сеансы.Фильм WHERE (((Фильмы.Жанр)= Forms!С_жанр!жанр)) GROUP BY Сеансы.Дата ORDER BY Сеансы.Дата;
3) поле со списком "Время" — источник данных — запрос
SELECT Сеансы.Время
FROM Фильмы INNER JOIN Сеансы ON Фильмы.Название=Сеансы.Фильм
WHERE (((Сеансы.Дата)=Forms!С_жанр!
4) подчиненная форма "З_Жанр" основана на запросе "З_Жанр";
5.12 Форма "С_актеры"
Внешний вид:
Назначение: определение фильмов, где играет заданный актер и сеансов с этими фильмами
Источник данных: -
Компоненты:
1) поле со списком "Фильм" — источник данных — запрос
SELECT Роли.Актер FROM (Фильмы INNER JOIN Роли ON Фильмы.Название=Роли.Фильм) INNER JOIN Сеансы ON Фильмы.Название=Сеансы.Фильм GROUP BY Роли.Актер ORDER BY Роли.Актер;

- Базы данных для станции технического обслуживания
- «Базы данных»: Домашний архив
- Базы данных и лингвистические информационные ресурсы
- Базы данных и система управления базами данных
- Базы данных и системы управления базами данных
- Базы данных и системы управления базами данных
- Базы данных и управление ими
- Базы Данных в VS 2010
- Базы данных в интернете
- Базы данных в СУБД ACCESS
- Базы данных "Выставочный комплекс" Visual FoxPro
- Базы Данных "Гостиница"
- Базы данных для гостиницы
- Базы данных для информационной системе