База данных

Автор работы: Пользователь скрыл имя, 22 Декабря 2013 в 16:23, курсовая работа

Краткое описание

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

Содержание

Проектирование базы данных....................................................................4
2. Структуры таблиц и постоянные связи между таблицами.....................5
3. Содержимое таблиц, на котором производилась отладка системы.......7
4. Схема иерархии интерфейса......................................................................9
5. Описание экранных форм..........................................................................10
6. Описание запросов......................................................................................24
7. Описание отчетов.......................................................................................28
8. Заключение..................................................................................................32

Вложенные файлы: 3 файла

Курсовая.doc

— 2.43 Мб (Скачать файл)

 

Назначение: продажа билетов на сеанс

Источник данных: -

Компоненты:

1) поле со списком "Кинотеатры" – источник данных – запрос

SELECT Кинотеатры.Название FROM Кинотеатры;

2) поле со списком "Фильм" – источник данных – запрос

SELECT Сеансы.Фильм FROM Сеансы WHERE (((Сеансы.Кинотеатр)=Forms!Билеты![к/т])) GROUP BY Сеансы.Фильм; 

3) поле со списком "Зал" – источник данных – запрос

SELECT Сеансы.Зал FROM Сеансы WHERE (((Сеансы.Кинотеатр)=Forms!Билеты![к/т]) And ((Сеансы.Фильм)=Forms!Билеты!фильмы)) GROUP BY Сеансы.Зал;

4) поле со списком "Дата" – источник данных – запрос

SELECT Сеансы.Дата FROM Сеансы WHERE (((Сеансы.Зал)=Forms!Билеты!зал) And ((Сеансы.Кинотеатр)=Forms!Билеты![к/т]) And ((Сеансы.Фильм)=Forms!Билеты!фильмы)) GROUP BY Сеансы.Дата;

5) поле со списком "Время" – источник данных – запрос

SELECT Сеансы.Время FROM Сеансы WHERE (((Сеансы.Зал)=Forms!Билеты!зал) And ((Сеансы.Кинотеатр)=Forms!Билеты![к/т]) And ((Сеансы.Фильм)=Forms!Билеты!фильмы) And ((Сеансы.Дата)=Forms!Билеты!дата)) GROUP BY Сеансы.Время;

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!С_сеансы![к/т]) And ((Сеансы.Зал)= Forms!С_сеансы!зал)) GROUP BY Сеансы.Дата ORDER BY Сеансы.Дата;

4) поле со списком "Время" – источник данных – запрос

SELECT Сеансы.Время FROM Сеансы WHERE (((Сеансы.Кинотеатр)=Forms!С_сеансы![к/т]) And ((Сеансы.Зал)= Forms!С_сеансы!зал) And ((Сеансы.Дата)=Forms!С_сеансы!Дата)) GROUP BY Сеансы.Время ORDER BY Сеансы.Время;

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!С_жанр!дата) And ((Фильмы.Жанр)=Forms!С_жанр!жанр)) GROUP BY Сеансы.Время ORDER BY Сеансы.Время; 

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![Перечень фильмов]!direct AS Выражение2, Forms![Перечень фильмов]!operator AS Выражение3, Forms![Перечень фильмов]!genre AS Выражение4, Forms![Перечень фильмов]!made AS Выражение5, Forms![Перечень фильмов]!last AS Выражение6, Forms![Перечень фильмов]!price AS Выражение7, Forms![Перечень фильмов]!кадр AS Выражение8;

Результат: добавление записи в таблицу "Фильмы"

 

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(всп_сеансы!время)+0.4)/4,0)/4)*(2-(Кинотеатры!Категория)*0.4)*(Фильмы!Стоимость/600))*(1+(всп_дни!выходные Is Not Null)/5)/10,0)*10 AS Выражение3, Залы.Вместимость

FROM всп_дни, Фильмы, Кинотеатры INNER JOIN (всп_сеансы INNER JOIN Залы ON всп_сеансы.зал  = Залы.[№ зала]) ON Кинотеатры.Название = Залы.Кинотеатр

WHERE (((Залы.Кинотеатр)=[Forms]![Кинотеатры]![к/т]) AND ((всп_сеансы.дни)="все дни") AND ((Фильмы.Название)=[Forms]![Кинотеатры]![Movie]));

(В "З_С1" – вместо "все дни" – "выходные", в "З_С" – "будни")

Результат: добавление записей в таблицу "Сеансы"

 

6.7  Запросы "d_1", "d_2"

SQL-код: INSERT INTO всп_дни ( выходные, [все дни] )

SELECT Forms!Кинотеатры!Curdata AS Выражение1, Forms!Кинотеатры!Curdata AS Выражение2

FROM 1строка

WHERE (((Weekday([Forms]![Кинотеатры]![Curdata]))=1 Or (Weekday([Forms]![Кинотеатры]![Curdata]))=7));

( В 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]![Кинотеатры]![DelMovie]) AND ((Сеансы.Кинотеатр)=[Forms]![Кинотеатры]![к/т]));

Результат: удаление записей с заданным кинотеатром и фильмом из таблицы "сеансы"

 

6.11  Запрос "З_Реперт"

SQL-код: SELECT Сеансы.Фильм, Min(Сеансы.Дата) AS [Min-Дата], Max(Сеансы.Дата) AS [Max-Дата]

FROM Сеансы

WHERE (((Сеансы.Кинотеатр)=[Forms]![С_Репертуар]![к/т]))

GROUP BY Сеансы.Фильм;

Результат: отображение всех фильмов из репертуара заданного кинотеатра, дат начала и конца их проката

 

6.12  Запрос "З_адрес"

SQL-код: SELECT Кинотеатры.Район, Кинотеатры.Адрес

FROM Кинотеатры

WHERE (((Кинотеатры.Название)=[Forms]![С_адрес]![к/т]));

Результат: отображение  района и адреса заданного кинотеатра

 

 

6.13  Запрос "З_сеансы"

SQL-код: SELECT Сеансы.Цена, Сеансы.[Кол-во мест], Сеансы.Кинотеатр, Сеансы.Зал, Сеансы.Дата, Сеансы.Время

FROM Сеансы

WHERE (((Сеансы.Кинотеатр)=[Forms]![С_сеансы]![к/т]) AND ((Сеансы.Зал)=[Forms]![С_сеансы]![зал]) AND ((Сеансы.Дата)=[Forms]![С_сеансы]![Дата]) AND ((Сеансы.Время)=[Forms]![С_сеансы]![Время]));

Результат: отображение цены билета и количества свободных мест для заданного сеанса

 

6.14  Запрос "З_Фильмы"

SQL-код: SELECT Фильмы.Жанр, Фильмы.Производство, Фильмы.Режиссер, Фильмы.Кадр

FROM Фильмы

WHERE (((Фильмы.Название)=[Forms]![С_фильмы]![фильм]));

Результат: отображение сведений о фильме с заданным названием

 

6.15  Запрос "З_награды"

SQL-код: SELECT Призы.Фильм

FROM Призы

GROUP BY Призы.Фильм;

Результат: отображение  всех фильмов, имеющих награды

Курс.mdb

— 7.34 Мб (Скачать файл)

StudFiles.htm

— 897 байт (Скачать файл)

Информация о работе База данных