Базы данных для кинотеатров

Автор работы: Пользователь скрыл имя, 13 Декабря 2011 в 21:54, курсовая работа

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

Для проектирования базы данных выбран универсальный метод проектирования — ER-метод (метод "сущность-связь"). При использовании этого метода необходимо прежде всего создать ER- модель, отражающую связи сущностей заданной предметной области. описание сущностей включает в себя перечисление атрибутов сущностей — их свойств, необходимых для решения задачи, один или несколько атрибутов могут быть ключевыми, то есть однозначно определяющими экземпляр сущности (они подчеркнуты).

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

Документ Microsoft Word.doc

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

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 Призы.Фильм;

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

6.16 Запрос "З_нагр_сеансы"

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

FROM Сеансы

WHERE (((Сеансы.Фильм)=[Forms]![С_награды]![Фильм]))

ORDER BY Сеансы.Кинотеатр,  Сеансы.Дата, Сеансы.Зал, Сеансы.Время;

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

6.17 Запрос "З_Призы"

SQL-код: SELECT Призы.Приз

FROM Призы

WHERE (((Призы.Фильм)=[Forms]![С_награды]![Фильм]));

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

6.18 Запрос "Добавление  кинотеатра"

SQL-код: INSERT INTO Кинотеатры ( Название, Район, Адрес,  Категория )

SELECT Forms![Перечень  кинотеатров]!Название AS Выражение1, Forms![Перечень кинотеатров]!Район AS Выражение2, Forms![Перечень кинотеатров]!Адрес AS Выражение3, Forms![Перечень кинотеатров]!Категория AS Выражение4

FROM 1строка;

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

6.19 Запрос "Удаление кинотеатра"

SQL-код: DELETE Кинотеатры.Название

FROM Кинотеатры

WHERE (((Кинотеатры.Название)=([Forms]![Перечень  кинотеатров]![Уд к/т])));

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

6.20 Запрос "Вр  удаление"

SQL-код: DELETE Сеансы.Кинотеатр

FROM Сеансы

WHERE (((Сеансы.Кинотеатр)=[Forms]![Перечень  кинотеатров]![Уд к/т]));

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

6.21 Запрос "З_продать"

SQL-код: UPDATE Сеансы SET Сеансы.[Кол-во мест] = (Сеансы![Кол-во  мест])-(Forms!Билеты!Поле14)

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

Результат: уменьшение количества свободных мест на заданном сеансе

6.22 Запрос "обн_доход"

SQL-код: UPDATE Доход  SET Доход.Доход = Доход!Доход+Forms!Билеты!Сум

WHERE (((Доход.Кинотеатр)=[Forms]![Билеты]![к/т]) AND ((Доход.День)=[Forms]![Билеты]![Дата]));

Результат: увеличение дохода кинотеатра в заданный день

6.23 Запрос "з_афиша_вых","з_афиша_будни"

SQL-код: INSERT INTO всп_аф ( время, день )

SELECT Сеансы.Время, "выходные" AS Выражение1

FROM Сеансы

WHERE (((Сеансы.Кинотеатр)=[Forms]![Кинотеатры]![к/т]) AND ((Сеансы.Фильм)=[Forms]![Кинотеатры]![PresMovie]) AND ((Weekday([Сеансы]![Дата]))=1 Or (Weekday([Сеансы]![Дата]))=7))

GROUP BY Сеансы.Время;

(В "з_афиша_будни"  вместо "выходные" - "будни", "=1", "=7" — "<>1", "<>7")

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

6.24 Запрос "З_афиша"

SQL-код: SELECT Фильмы.Название, Фильмы.Режиссер, Фильмы.Оператор, Фильмы.Жанр, Фильмы.Производство, Фильмы.Продолжительность, First(Фильмы.Кадр) AS [First-Кадр], Min(Сеансы.Дата) AS [Min-Дата], Max(Сеансы.Дата) AS [Max-Дата], всп_аф.день, всп_аф.время, Сеансы.Кинотеатр

FROM всп_аф, всп_аф AS всп_аф_1, Фильмы INNER JOIN Сеансы ON Фильмы.Название = Сеансы.Фильм

WHERE (((Сеансы.Кинотеатр)=[Forms]![Кинотеатры]![к/т]) AND ((Сеансы.Фильм)=[Forms]![Кинотеатры]![PresMovie]))

GROUP BY Фильмы.Название, Фильмы.Режиссер, Фильмы.Оператор, Фильмы.Жанр, Фильмы.Производство, Фильмы.Продолжительность, всп_аф.день, всп_аф.время, Сеансы.Кинотеатр;

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

6.25 Запрос "кол-во  по жанрам"

SQL-код: SELECT [кол-во  фильмов].Жанр, Count([кол-во фильмов].Жанр) AS [Count-Жанр]

FROM [кол-во  фильмов]

GROUP BY [кол-во  фильмов].Жанр;

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

6.26 Запрос "д_отчета"

SQL-код: SELECT Кинотеатры.Район,  Кинотеатры.Название, Count([кол-во фильмов].[Count-Название]) AS [Count-Count-Название], ср_цена.Название, ср_цена.[Avg-Цена], ([Sum-Доход])/[кол-во фильмов по к/т]![Count-Название] AS Выражение1

FROM [кол-во  фильмов], [кол-во фильмов по к/т] INNER JOIN ((Кинотеатры INNER JOIN ср_цена ON Кинотеатры.Название = ср_цена.Кинотеатр) INNER JOIN дох ON Кинотеатры.Название = дох.Кинотеатр) ON [кол-во фильмов по к/т].Кинотеатр = Кинотеатры.Название

GROUP BY Кинотеатры.Район,  Кинотеатры.Название, ср_цена.Название, ср_цена.[Avg-Цена], ([Sum-Доход])/[кол-во фильмов по к/т]![Count-Название];

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

7. Описание отчетов

7.1 Отчет "Афиша"

Внешний вид:

Источник  данных: запрос "З_афиша"

Сортировка  и группировка:

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