Главная страница

разработка базы данных для ресторана фастыуда. Курсовая работа по дисциплине Разработка базы данных для автоматизации учёта продаж и аренды товаров в свадебном салоне


Скачать 1.61 Mb.
НазваниеКурсовая работа по дисциплине Разработка базы данных для автоматизации учёта продаж и аренды товаров в свадебном салоне
Анкорразработка базы данных для ресторана фастыуда
Дата17.04.2021
Размер1.61 Mb.
Формат файлаdocx
Имя файлаKIT.docx
ТипКурсовая
#195767
страница5 из 6
1   2   3   4   5   6

3.2 Реализация запросов к базе данных



Для удобства работы с базой данных создадим соответствующие запросы(для определения информации по сотрудникам, клиентам, товарам; для контроля продажи и аренды товаров; для внесение в базу данных и вынесения; для создании таблицы по итогам продажи и аренды; для обновления общей стоимости и так далее).[11]

Запрос 1. Создадим запрос на создание таблицы. Для вычисления итоговой стоимости продажи необходимо вычислить стоимость товаров каждой категории (фата, перчатки, платья) приобретаемые клиентами. Для вычисления стоимости платьев в одном заказе создадим таблицу целью отдельного вывода кода продажи и стоимости платьев. Из таблицы «Продажа платьев» выбираем «КодПродажи», из таблицы «Платья» выбираем «ЦенаПродажиПлатья». «Групповая операция» для «КодПродажи»  «Группировка». Для поля «ЦенаПродажиПлатья» выбираем итоговую функцию Sum и даем название таблицы «ПЛАТЬЯ: цены участвующих в продаже». Аналогично создадим запросы для фаты и перчаток. Вид запроса 1 в режиме конструктора представлен на рисунке 24, а его результат на рисунке 25.



Рисунок 24  Запрос 1 в режиме конструктора



Рисунок 25  Результат запроса 1
Текст запроса на языке SQL:

SELECT [Продажа платьев].КодПродажи, Sum(Платья.ЦенаПродажиПлатья) AS [стоимость участвующих платьев] INTO [ПЛАТЬЯ: цены участвующих в продаже]

FROM Продажа INNER JOIN (Платья INNER JOIN [Продажа платьев] ON Платья.КодПлатья = [Продажа платьев].КодПлатья) ON Продажа.КодПродажи = [Продажа платьев].КодПродажи

GROUP BY [Продажа платьев].КодПродажи;

Запрос 2. Создадим запрос на обновление, который позволит вывести итоговую стоимость из таблицы «ПЛАТЬЯ: цены участвующих в продаже» (запрос 1) в таблицу «Продажа». Для этого выберем поле «Итоговая стоимость» из таблицы «Продажа». В «Обновление» напишем «[ПЛАТЬЯ: цены участвующих в продаже]![стоимость участвующих платьев]». Вид запроса в режиме конструктора представлен на рисунке 26, а на рисунке 27 его результат.



Рисунок 26  Запрос 2 в режиме конструктора


Рисунок 27  Результат запроса 2
Текст запроса на языке SQL:

UPDATE [Стоимость за платья] INNER JOIN Продажа ON [Стоимость за платья].КодПродажи = Продажа.КодПродажи SET Продажа.ИтоговаяСтоимостьПродажи = [Стоимость за платья]![Сумма по платьям];

Запрос 3. Создадим запрос на обновление, который будет расчитывать итоговую стоимость продажи в таблице «Продажа» с учётом стоимости перчаток, если таковы имеются в продаже (из таблицы «ПЕРЧАТКИ: цены участвующих в продаже»). Для этого выберем поле «ИтоговаяСтоимостьПродажи». «Обновление» для  «[Продажа]![ИтоговаяСтоимостьПродажи]+[ПЕРЧАТКИ: цены участвующих в продаже]![стоимость участвующих перчаток]». Вид запроса в режиме конструктора представлен на рисунке 28, а на рисунке 29 его результат.



Рисунок 28  Запрос 3 в режиме конструктора



Рисунок 29  Результат запроса 3
Текст запроса на языке SQL:

UPDATE Продажа INNER JOIN [ПЕРЧАТКИ: цены участвующих в продаже] ON Продажа.КодПродажи = [ПЕРЧАТКИ: цены участвующих в продаже].КодПродажи SET Продажа.ИтоговаяСтоимостьПродажи = [Продажа]![ИтоговаяСтоимостьПродажи]+[ПЕРЧАТКИ: цены участвующих в продаже]![стоимость участвующих перчаток];

Запрос 4. Создадим запрос на выборку, который позволит получить информацию о клиенте. Из таблицы «Клиент» выбираем все поля. Предоставим сотруднику возможность посмотреть определенного клиента, для этого в условиях отбора для поля «ID-Клиента» укажем [Введите ID-Клиента]. Вид запроса в режиме конструктора представлен на рисунке 30, а на рисунке 31 его результат.



Рисунок 30  Запрос 4 в режиме конструктора


Рисунок 31  Результат запроса 4
Текст запроса на языке SQL:

SELECT Клиенты.[ID-клиента], Клиенты.Фамилия, Клиенты.Имя, Клиенты.Отчество, Клиенты.ДатаРождения, Клиенты.КонтактныйНомерТелефона

FROM Клиенты

WHERE (((Клиенты.[ID-клиента])=[Введите ID-Клиента]));

Запрос 5. Создадим запрос на добавление, который позволит нам дабавить в таблицу «Клиенты» нового клиента. Из таблицы «Клиенты» выбираем все поля. В строке «Поле» новые выражения для каждого свое. В строке «Добавление»  имена полей. Вид запроса в режиме конструктора представлен на рисунке 32, а на рисунке 33 его результат.


Рисунок 32  Запрос 5 в режиме конструктора


Рисунок 33  Результат запроса 5
Текст запроса на языке SQL:

INSERT INTO Клиенты ( [ID-клиента], Фамилия, Имя, Отчество, ДатаРождения, КонтактныйНомерТелефона )

SELECT [Введите ID-клиента] AS [ID-клиента], [Введите фамилию] AS Фамилия, [Введите имя] AS Имя, [Введите отчество] AS Отчество, [Введите дату рождения] AS ДатаРождения, [Введите номер телефона] AS КонтактныйНомерТелефона

FROM Клиенты;

Запрос 6. Создадим запрос на удаление, который позволит удалить клиента из базы данных. Из таблицы «Клиент» выбираем все поля и для всех выбранных полей ставим в «Удаление» выбираем «Условие». В «Условия отбора» для поля «ID-Клиента» укажем [Введите ID-Клиента]. Вид запроса в режиме конструктора представлен на рисунке 34, а на рисунке 35 его результат.



Рисунок 34  Запрос 6 в режиме конструктора


Рисунок 35  Результат запроса 6

Текст запроса на языке SQL:

DELETE Клиенты.[ID-клиента], Клиенты.Фамилия, Клиенты.Имя, Клиенты.Отчество, Клиенты.ДатаРождения, Клиенты.КонтактныйНомерТелефона

FROM Клиенты

WHERE (((Клиенты.[ID-клиента])=[Введите ID-Клиента]));

Запрос 7. Создадим запрос на обновление, который будет обновлять итоговую стоимость аренды платьев в таблице «Договор аренды». Для этого выберем поле «ИтоговаяСтоимостьАренды». «Обновление» для «ИтоговаяСтоимостьАренды» - «[Платья]![ЦенаАрендыЗа1Сутки]*([Договор аренды]![ДатаОкончанияДоговора]- [Договораренды]![ДатаЗаключенияДоговора])». Вид запроса в режиме конструктора представлен на рисунке 36, а на рисунке 37 его результат.


Рисунок 36  Запрос 7 в режиме конструктора


Рисунок 37  Результат запроса 7
Текст запроса на языке SQL:

UPDATE Платья INNER JOIN ([Договор аренды] INNER JOIN [Аренда платьев] ON [Договор аренды].НомерДоговора = [Аренда платьев].НомерДоговора) ON Платья.КодПлатья = [Аренда платьев].КодПлатья SET [Договор аренды].ИтоговаяСтоимостьАренды = [Платья]![ЦенаАрендыЗа1Сутки]*([Договор аренды]![ДатаОкончанияДоговора]-[Договор аренды]![ДатаЗаключенияДоговора]);

Запрос 8. Создадим перекрестный запрос, который отображает на какую сумму произвёл продажи тот или иной сотрудник по каждому месяцу и итоговую сумму продаж. Для этого из таблицы «Сотрудники» выберем поле «ФИО», из таблицы «Продажа» - «ИтоговаяСтоимостьПродажи». «Групповая операция» для «ФИО»  «Группировка». В строке «Перекрестная таблица» устоновим «Заголовки строк. Для поля «ИтоговаяСтоимостьПродажи» в строке «Групповая операция»  «Sum». В строке «Перекрестная таблица» устоновим «Значение». Вычислим итоговую сумму продаж по каждому сотруднику за все месяцы, для этого создадим поле «Итоговая сумма продаж». Установим в строке «Групповая операция»  «Sum», а в строке «Перекрестная таблица» - «Заголовки строк». Для отображения месяцев создадим поле с выражением: [Format([ДатаПродажи];"mmm")]. Установим в строке «Групповая операция»  «Группировка», а в строке «Перекрестная таблица» - «Заголовки столбцов». Вид запроса в режиме конструктора представлен на рисунке 40, а на рисунке 41 его результат.


Рисунок 38  Запрос 8 в режиме конструктора


Рисунок 39  Результат запроса 8



Рисунок 40  Продолжение результата запроса 8
Текст запроса на языке SQL:

TRANSFORM Sum(Продажа.ИтоговаяСтоимостьПродажи) AS [Sum-ИтоговаяСтоимостьПродажи]

SELECT Сотрудники.ФИО AS Сотрудники, Sum(Продажа.ИтоговаяСтоимостьПродажи) AS [Итоговая сумма продаж]

FROM Сотрудники INNER JOIN Продажа ON Сотрудники.ТабельныйНомер = Продажа.ТабельныйНомер

GROUP BY Сотрудники.ФИО

PIVOT Format([ДатаПродажи],"mmm") In ("янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек");

Запрос 9. Создадим перекрестный запрос, который отображает суммарные стоимости и наименования платьев , проданные сотрудниками и итог по каждому сотруднику. Для этого из таблицы «Сотрудники» выберем поле «ФИО», из таблицы «Платья» - «Наименование» и из таблицы «Платья: цены участвующих в продаже» - «Стоимость участвующих платьев». «Групповая операция» для «ФИО»  «Группировка». В строке «Перекрестная таблица» устоновим «Заголовки строк» для «ФИО». Для поля «Наименование» в строке «Групповая операция»  «Группировка». В строке «Перекрестная таблица» устоновим «Заголовки столбцов». Для поля «Стоимость участвующих платьев» в строке «Групповая операция» выберем функцию «Sum», а в строке «Перекрестная таблица» установим «Значение». Вычислим итоговую сумму продаж платьев по каждому сотруднику, для этого создадим поле «Итого». Установим в строке «Групповая операция»  «Sum», а в строке «Перекрестная таблица» установим «Заголовки строк». Вид запроса в режиме конструктора представлен на рисунке 42, а на рисунке 43 его результат.



Рисунок 41  Запрос 9 в режиме конструктора


Рисунок 42  Результат запроса 9
Текст запроса на языке SQL:

TRANSFORM Sum([ПЛАТЬЯ: цены участвующих в продаже].[стоимость участвующих платьев]) AS [Sum-стоимость участвующих платьев]

SELECT Сотрудники.ФИО, Sum([ПЛАТЬЯ: цены участвующих в продаже].[стоимость участвующих платьев]) AS Итого

FROM Платья INNER JOIN (((Сотрудники INNER JOIN Продажа ON Сотрудники.ТабельныйНомер = Продажа.ТабельныйНомер) INNER JOIN [ПЛАТЬЯ: цены участвующих в продаже] ON Продажа.КодПродажи = [ПЛАТЬЯ: цены участвующих в продаже].КодПродажи) INNER JOIN [Продажа платьев] ON Продажа.КодПродажи = [Продажа платьев].КодПродажи) ON Платья.КодПлатья = [Продажа платьев].КодПлатья

GROUP BY Сотрудники.ФИО

PIVOT Платья.Наименование;
3.3 Создание отчетов
Для эффективности отслеживания продажи и сдачи в аренду товаров сотрудниками и просмотр в наличии создаются соответствующие отчеты.

Все отчеты создадим с помощью мастера отчетов. [15]

Отчет 1. Создадим отчем, чтобы подвести итоги стоимости по прокату для каждого клиента. Из таблицы «Клиент» выносим поля «Фамилия», «Имя», «Отчество» и «ID-Клиента». Из таблицы «Договор аренды» выбираем поле «ИтоговаяСтоимостьАренды», «НомерДоговора», «ДатаЗаключения» и «ДатаОкончания». Для подсчета итоговой стоимости по каждому клиенту и по всей реализации прокатов выберем итоговую функцию Sum. Отчет с информацией о клиентах и стоимостей аренды представлен на рисунке В.1.

Отчет 2. Создадим отчет, чтобы подвести итоги по сдаче в аренду товаров по каждому сотруднику. Из таблицы «Сотрудник» выносим поля «ФИО» и «ТабельныйНомер». Из таблицы «Договор аренды» выбираем поле «ИтоговаяСтоимостьАренды» и «НомерДоговора». Для подсчета итоговой стоимости по каждому сотруднику и по всей реализации прокатов выберем итоговую функцию Sum. Отчет с информацией об итоговой сумме по каждому сотруднику и по прокату в целом представлен на рисунке В.2.

Отчет 3. Создадим отчет, чтобы подвести итоги стоимости по продаже товаров для каждого сотрудника. Из таблицы «Сотрудники» выносим поля «ФИО» и «ТабельныйНомер». Из таблицы «Продажа» выбираем поле «КодПродажи» и «ИтоговаяСтоимостьПродажи». Для подсчёта итоговой стоимости по каждому сотруднику и по всей реализации прокатов выберем итоговую функцию Sum. Отчет с информацией об итоговой сумме по каждому сотруднику и по прокату в целом представлен на рисунке В.3.

1   2   3   4   5   6


написать администратору сайта