Автор работы: Пользователь скрыл имя, 22 Декабря 2013 в 16:23, курсовая работа
Пусть требуется создать программную систему, предназначенную для работников справочной службы кинотеатров города. Такая система должна обеспечивать хранение сведений о кинотеатрах города, о фильмах, которые в них демонстрируются, о сеансах и билетах на эти сеансы. Сведения о кинотеатре - это его название, район города, где расположен кинотеатр, категория, вместимость. Сведения о фильме - это название фильма, режиссер, оператор, актеры, сыгравшие главные роли, жанр; производство, наличие призов кинофестивалей, продолжительность сеанса, кадр из фильма для рекламы.
Проектирование базы данных....................................................................4
2. Структуры таблиц и постоянные связи между таблицами.....................5
3. Содержимое таблиц, на котором производилась отладка системы.......7
4. Схема иерархии интерфейса......................................................................9
5. Описание экранных форм..........................................................................10
6. Описание запросов......................................................................................24
7. Описание отчетов.......................................................................................28
8. Заключение..................................................................................................32
Назначение: продажа билетов на сеанс
Источник данных: -
Компоненты:
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) поле со списком "Категория" – источник данных список значений (1;2;3)
3) подчиненная форма "Залы" – источник данных – вспомогательная таблица для ввода "всп_3з"
4) кнопка "ОК" – открытие запросов "Добавление кинотеатра", "доб_залы"
5) кнопка "Отмена" – очищение полей "Название", "Район", "Адрес", "Категория", удаление всех записей из вспомогательной таблицы "всп_3з" (запрос "всп_3");
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 Роли.Актер;
2) подчиненная форма "З_акт_фильм" основана на запросе "З_акт_фильм";
3) подчиненная форма "З_Актеры" основана на запросе "З_Актеры", поле связи – "Фильм";
5.13 Форма "С_призы"
Внешний вид:
Назначение: определение фильмов, имеющих награды и сеансов с этими фильмами
Источник данных: - Запрос "З_награды";
Компоненты:
1) поле со списком "Фильм" – источник данных – поле "Фильм"
2) подчиненная форма "З_призы" - поле связи – "фильм";
3) подчиненная форма "З_нагр_сеансы" основана на запросе "З_нагр_сеансы";
6. Описание запросов
6.1 Запрос "З1_Фильм"
SQL-код: INSERT INTO Фильмы ( Название, Режиссер, Оператор, Жанр, Производство, Продолжительность, Стоимость, Кадр )
SELECT Forms![Перечень фильмов]!Name AS Выражение1,
Forms![Перечень фильмов]!
Результат: добавление записи в таблицу "Фильмы"
6.2 Запрос "З1_Призы"
SQL-код: INSERT INTO Призы ( Приз, Фильм )
SELECT всп2.Приз, Forms![Перечень фильмов]!Name AS Выражение1
FROM всп2;
Результат: добавление записей в таблицу "Призы"
6.3 Запрос "З1_Акт"
SQL-код: INSERT INTO Роли ( Актер, Фильм )
SELECT всп.ФИО, Forms![Перечень фильмов]!Name AS Выражение1
FROM всп;
Результат: добавление записей в таблицу "Роли"
6.4 Запрос "З1_всп", "З1_всп2"
SQL-код: DELETE всп.ФИО FROM всп;
(в "З1_всп2" вместо "всп" – "всп2")
Результат: удаление записей из таблицы "всп" или "всп2"
6.5 Запрос "З2_Фильм"
SQL-код: DELETE Фильмы.Название
FROM Фильмы
WHERE (((Фильмы.Название)=[Forms]![
Результат: удаление записей из таблицы "Фильмы"
6.6 Запросы "З_С1", "З_C2", "З_С3"
SQL-код:
INSERT INTO Сеансы ( Кинотеатр, Фильм, Зал, Дата, Время, Цена, [Кол-во мест] )
SELECT Forms!Кинотеатры![к/т] AS Выражение1,
Forms!Кинотеатры!Movie AS Выражение2, всп_сеансы.зал,
всп_дни.[все дни], всп_сеансы.время,
Round(((Round((Hour(всп_
FROM всп_дни, Фильмы, Кинотеатры INNER JOIN (всп_сеансы INNER JOIN Залы ON всп_сеансы.зал = Залы.[№ зала]) ON Кинотеатры.Название = Залы.Кинотеатр
WHERE (((Залы.Кинотеатр)=[Forms]![
(В "З_С1" – вместо "все дни" – "выходные", в "З_С" – "будни")
Результат: добавление записей в таблицу "Сеансы"
6.7 Запросы "d_1", "d_2"
SQL-код: INSERT INTO всп_дни ( выходные, [все дни] )
SELECT Forms!Кинотеатры!Curdata AS Выражение1, Forms!Кинотеатры!Curdata AS Выражение2
FROM 1строка
WHERE (((Weekday([Forms]![Кинотеатры
( В d_2 вместо "выходные" – "будни" и вместо "=1", "=7" - "<>1", "<>7"
Результат: добавление записей в таблицу "Призы"
6.8 Запрос "З_всп_сеансы"
SQL-код: DELETE всп_сеансы.зал, всп_сеансы.дата AS Выражение1, всп_сеансы.время
FROM всп_сеансы;
Результат: удаление записей из таблицы "всп.сеансы"
6.9 Запрос "З_дни"
SQL-код: DELETE всп_дни.выходные, всп_дни.будни, всп_дни.[все дни]
FROM всп_дни;
Результат: удаление записей из таблицы "всп.дни"
6.10 Запрос "Удалитьфильм"
SQL-код: DELETE Сеансы.Фильм, Сеансы.Кинотеатр
FROM Сеансы
WHERE (((Сеансы.Фильм)=[Forms]![
Результат: удаление записей с заданным кинотеатром и фильмом из таблицы "сеансы"
6.11 Запрос "З_Реперт"
SQL-код: SELECT Сеансы.Фильм, Min(Сеансы.Дата) AS [Min-Дата], Max(Сеансы.Дата) AS [Max-Дата]
FROM Сеансы
WHERE (((Сеансы.Кинотеатр)=[Forms]![
GROUP BY Сеансы.Фильм;
Результат: отображение всех фильмов из репертуара заданного кинотеатра, дат начала и конца их проката
6.12 Запрос "З_адрес"
SQL-код: SELECT Кинотеатры.Район, Кинотеатры.Адрес
FROM Кинотеатры
WHERE (((Кинотеатры.Название)=[
Результат: отображение района и адреса заданного кинотеатра
6.13 Запрос "З_сеансы"
SQL-код: SELECT Сеансы.Цена, Сеансы.[Кол-во мест], Сеансы.Кинотеатр, Сеансы.Зал, Сеансы.Дата, Сеансы.Время
FROM Сеансы
WHERE (((Сеансы.Кинотеатр)=[Forms]![
Результат: отображение цены билета и количества свободных мест для заданного сеанса
6.14 Запрос "З_Фильмы"
SQL-код: SELECT Фильмы.Жанр, Фильмы.Производство, Фильмы.Режиссер, Фильмы.Кадр
FROM Фильмы
WHERE (((Фильмы.Название)=[Forms]![
Результат: отображение сведений о фильме с заданным названием
6.15 Запрос "З_награды"
SQL-код: SELECT Призы.Фильм
FROM Призы
GROUP BY Призы.Фильм;
Результат: отображение всех фильмов, имеющих награды