Курсовая работа: Разработка многопользовательской информационной системы для автоматизации работы книжного интернет-магазина
Главная кнопочная форма клиентского приложения «iShop» представлена на следующем рисунке 1.
Рисунок 1 - Главная форма клиентского приложения «iShop»
В разделе «Каталог книг» для ввода информации служат кнопки «Редактирование» и «Разделы», которые открывают формы «Каталог книг» и «Тематические разделы», соответственно. Для ввода данных о новых заказах служит кнопка «Новый заказ», размещенная в разделе «Заказы», эта форма представлена на рисунке 2.
Рисунок 2 – Форма «Продажи»
Для ввода данных о книгах используется форма «КаталогКниг», которая представлена на рисунке 3.
Рисунок 3 – Форма «Каталог книг»
Для клиентов была создана страница доступа к данным. С помощью этой страницы клиенты могут просматривать каталог доступных книг, отсортированный по разделам. Для оформления заказа клиенту необходимо нажать на кнопку «Оформить заказ» и в появившейся форме ввести необходимые данные, которые затем будут отправлены на адрес электронной почты магазина и обработаны оператором.
3.2 SQL -определения запросов
На базе описанных выше таблиц для обработки данных и для нахождения некоторой информации были построены следующие запросы.
Для расчета суммы заказа был построен запрос на обновление, который на языке SQL имеет следующий вид:
UPDATE КаталогКниг
INNER JOIN (ВидыДоставки INNER JOIN Продажи ON ВидыДоставки.ВидДоставки = Продажи.ВидДоставки) ON КаталогКниг.Код = Продажи.КодКниги SET Продажи.Стоимость = [Цена]*1.2+[СуммаДопСбора]
WHERE ((([Продажи]![Стоимость])=0));
Для расчета возросшей задолженности перед поставщиком заказанной книги был построен запрос на обновление, который на языке SQL имеет следующий вид:
UPDATE Поставщики
INNER JOIN (КаталогКниг INNER JOIN Продажи ON КаталогКниг.Код = Продажи.КодКниги) ON Поставщики.Название = КаталогКниг.Поставщик SET Поставщики.ЗадолженностьМагазина = Поставщики!ЗадолженностьМагазина+[Цена]
WHERE (((Продажи.Стоимость)=0));
Для определения наиболее покупаемых в текущем месяце книг был построен запрос, который на языке SQL имеет следующий вид:
SELECT DISTINCTROW Продажи.КодКниги, КаталогКниг.Название, Count(*) AS [Количество реализаций]
FROM КаталогКниг INNER JOIN Продажи ON КаталогКниг.Код = Продажи.КодКниги
WHERE (([Продажи]![Год]=Year(Now())))
GROUP BY Продажи.КодКниги, КаталогКниг.Название, КаталогКниг.Код, Продажи.Месяц
HAVING (([Продажи]![Месяц]=Month(Now())));
Для определения оборота с поставщиками и суммы задолженности перед ними был построен запрос следующего вида:
SELECT DISTINCTROW [Оборот с поставщиками].Название, Sum([Оборот с поставщиками].[Sum-Цена]) AS [Sum-Sum-Цена], Поставщики.ЗадолженностьМагазина
FROM [Оборот с поставщиками] INNER JOIN Поставщики ON [Оборот с поставщиками].Название = Поставщики.Название
GROUP BY [Оборот с поставщиками].Название, Поставщики.ЗадолженностьМагазина;
Для определения суммы выручки, затрат и прибыли за выбранный месяц был построен запрос с параметрами, который на языке SQL имеет следующий вид:
PARAMETERS [Дата] DateTime;