Разработка базы данных торговой организации

Автор работы: Пользователь скрыл имя, 02 Октября 2009 в 19:31, Не определен

Описание работы

Курсовой проект

Файлы: 1 файл

Курсовая работа по Базам Данных.doc

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

            3. Создание пользовательского интерфейса

            3.1 Запросы

В моей БД содержатся 14 запросов всех типов:

  • запрос на обновление
  • запрос на удаление
  • запрос на создание
  • запрос на выборку.

Ниже я опишу  каждый из запросов.

 

Запрос «Все клиенты»

Данный запрос при выполнении дает информацию обо  всех клиентах организации – название фирмы, адрес, телефон и e-mail.

Данные для  этого запроса берутся из таблицы  Клиенты.

В режиме SQL запрос выглядит так:

SELECT Клиенты.Фирма, Клиенты.Адрес, Клиенты.Телефон, Клиенты.[E-mail]

FROM Клиенты; 

Запрос «Выборка по ценам типа товаров»

Данный  запрос группирует все записи в таблице  Товар по типу товаров и выводит :

  • максимальную цену  товара
  • минимальную цену товара
  • общее количество товаров в таблице Товар

При выполнении запрос выглядит так:

Данные для  создания запроса берутся из таблицы  Товар, а для подсчета максимальной и минимальных цен в режиме SQL вводим данные и с помощью Sum выводятся нужные нам цены.

В режиме SQL запрос выглядит так:

SELECT Товар.Тип, Min(Товар.Цена) AS [Минимальная Цена], Max(Товар.Цена) AS [Максимальная Цена], Sum(Товар.Количество) AS [Общее Кол-во]

FROM Товар

GROUP BY Товар.Тип; 

Запрос  «Добавление заказа»

Данный запрос добавляет заказы в таблицу Выполненные заказы невыполненные в таблице Заказы.  Запрос вносит в эту таблицу следующие данные ФИО клиента, Код заказа и Дату заказа, которые он берет из таблицы Заказы. Этот запрос проверяет, является поле Выполнен (в таблице Заказы) ложным или нет. Если да, то он берет эти данные, и подставляет в таблицу Выполненные заказы. Также в эту таблицу

вставляются данные о том, когда был выполнен заказ, количество товаров, заказанное данным клиентом и сумму покупки.

В режиме SQL запрос выглядит так:

INSERT INTO [Выполненные заказы] ( [Код заказа], Фирма, [Дата заказа], [Дата выполнения], Количество, [Сумма заказа] )

SELECT Заказы.[Код  заказа], Заказы.Фирма, Заказы.[Дата  заказа], Date() AS [Дата выполнения], Sum(Товар.Количество) AS Количество, Sum(Заказанные_товары!Количество*Товар!Цена) AS Сумма

FROM Заказы INNER JOIN (Товар INNER JOIN Заказанные_товары ON Товар.Номер = Заказанные_товары.[Код  товара]) ON Заказы.[Код заказа] = Заказанные_товары.Номер

GROUP BY Заказы.[Код  заказа], Заказы.Фирма, Заказы.[Дата  заказа], Date(), Заказы.Выполнен

HAVING (((Заказы.Выполнен)=False)); 

Запрос «Заказанные_товары и клиенты»

Данный запрос при выполнении выводит все заказанные товары, название фирмы – клиента, которая заказала товар, требуемое количество товара и его цену, а также дату поступления заказа на данный товар. Выборка осуществляется только по тем товарам, которые были заказаны хотя бы один раз. А данные для этого запроса находятся в таблицах Заказанные_товары, Клиенты и Товар.

 

В режиме SQL запрос выглядит так:

SELECT Заказы.Фирма,  Товар.Тип, Товар.Производитель,  Товар.Характеристика, Товар.Цена, Заказы.[Дата  заказа], Товар.Количество

FROM (Клиенты  INNER JOIN Заказы ON Клиенты.Фирма=Заказы.Фирма) INNER JOIN (Товар INNER JOIN Заказанные_товары ON Товар.Номер=Заказанные_товары.id) ON Заказы.[Код заказа]=Заказанные_товары.Номер; 

«Запрос на Выборку всех клиентов с введенной буквы».

При запуске  этого запроса он требует ввести букву или несколько букв, с  которых начинается название фирмы  – клиента (данные из таблицы Клиенты). Данный запрос довольно прост, но необходим. Например если продавец помнит первую букву или несколько букв, то он запускает данный запрос и вводит, ту букву, которую помнит, а в ответ на введенную букву запрос выводит название всех фирм на указанную букву.

В режиме SQL  данный запрос выглядит так :

SELECT Клиенты.Фирма,  Клиенты.Адрес, Клиенты.Телефон

FROM Клиенты

WHERE (((Клиенты.Фирма) Like [Введите] & "*")); 

«Запрос по типу товара»

Простой запрос, который позволяет выводить товары (из таблицы Товар) по определенному типу. При этом дается описание товара – производитель, характеристика, цена, количество.

Ниже представлен  результат выполнения данного запроса  при введении товара «Шубы» :

 

В режиме SQL запрос выглядит так:

SELECT Товар.Тип,  Товар.Производитель, Товар.Характеристика, Товар.Цена, Товар.Количество

FROM Товар

WHERE (((Товар.Тип) Like [Введите тип] & "*")); 
 
 

Запрос  на обновление «Обновление заказа».

Запрос, который  обновляет количество товаров (в  том числе и проданных) в таблице  Товар, а также он обновляет поле Выполнен в таблице Заказы. Запрос работает следующим образом: если в таблице Заказы в поле Выполнен есть заказы с ложным значением (False), то данный запрос обновляет все товары, которые содержатся в данном заказе в таблице Товар. 

Например : В таблице Заказы есть заказ, состоящий из 5 товаров «Шорты, мини», содержащий название фирмы-заказчика и дату заказа. Данный заказ не выполнен, т.е. в поле Выполнен стоит значение ложь. Запустив запрос «Обновление заказа», происходит следующее: значение выполнен в таблице становится истиной (True), количество  имеющихся на складе товаров «Шорты, мини» уменьшается на 5, в то время как количество проданных на столько же увеличивается.  

В режиме SQL запрос выглядит так:

UPDATE Заказы INNER JOIN (Товар INNER JOIN Заказанные_товары ON (Товар.Номер = Заказанные_товары.[Код товара]) AND (Товар.Номер = Заказанные_товары.[Код товара])) ON Заказы.[Код заказа] = Заказанные_товары.Номер SET Товар.Количество = Товар.Количество-Заказанные_товары.[Количество], Заказы.Выполнен = True, Товар.[Количество проданных] = Товар.[Количество проданных]+Заказанные_товары.[Количество]

WHERE (((Заказы.Выполнен)=False)); 

Запрос  на «Создание таблицы уцененных товаров».

Этот  запрос создает новую таблицу  с уцененными товарами. Он работает следующим образом :

При запуске  запроса необходимо ввести процент  уценения товаров, а затем дату. Запрос выбирает все товары, дата поставки которых соответствует введенной дате, и копирует их в новую таблицу Уцененные товары.

Например :

Я запускаю запрос и ввожу процент  = 15

 и дату 07.01.05. В итоге у меня  получается  таблица, содержащая 2 записи:

По сравнению  с таблицей Товар цены действительно  снизились на 15%.

 

В режиме SQL запрос выглядит так:

SELECT Товар.Тип, Товар.Производитель, Товар.Характеристика, Товар.Цена*(1-[Введите процент уценения]/100) AS Выражение2, Товар.[Дата поставки] INTO [Уцененные товары]

FROM Товар

WHERE (((Товар.[Дата  поставки])=[Введите  дату])); 

Запрос  «Сумма всех товаров»

Этот запрос позволяет определить,  сколько на складе товара каждого типа и его цену, а также общую стоимость всей партии каждого товара. Все данные для запроса из таблицы Товар. Я считаю этот запрос полезным, так как с его помощью можно определить общую стоимость всех имеющихся  

товаров. Чтобы посчитать сумму всех товаров, надо в режиме SQL умножить цену всех товаров на их количество.

(сортировка  по типу)

В режиме SQL запрос выглядит так:

SELECT Товар.Тип, Товар.Производитель,  Товар.Характеристика, Товар.Цена, Товар.Количество, Товар.Цена*Товар.Количество AS [Общая стоимость]

FROM Товар;Запрос на добавление; 

Запрос  «Сумма покупок клиентов»

Запрос выбирает всех клиентов, совершивших заказ, и  выдает информацию о сумме заказа, о количестве заказанных товаров  и о выполнении заказа.

   

Данный  запрос необходим для определения  частых клиентов и для рассмотрения возможности предоставления льгот  и скидок постоянным заказчикам. Для построения запроса данные берутся из таблиц Заказы, Заказанные товары, Клиенты, Товар.  

В режиме SQL запрос выглядит так:

SELECT Заказы.Фирма,  Заказы.[Дата заказа], Sum(Заказанные_товары.Количество) AS [Кол-во], Sum(Заказанные_товары!Количество*Товар!Цена) AS Сумма, Заказы.Выполнен

FROM (Клиенты  INNER JOIN Заказы ON Клиенты.Фирма=Заказы.Фирма) INNER JOIN (Товар INNER JOIN Заказанные_товары ON Товар.Номер=Заказанные_товары.id) ON Заказы.[Код заказа]=Заказанные_товары.Номер

GROUP BY Заказы.Фирма,  Заказы.[Дата заказа], Заказы.Выполнен; 

«Товар,  цена которого больше заданной»

Запрос, позволяющий  выбирать товары с наибольшей стоимостью. В запросе выводятся товары (таблица Товар), у которых цена выше заданной суммы.

Я ввела сумму 14200 и получила  результат:

В режиме SQL запрос выглядит так:

SELECT Товар.Тип,  Товар.Производитель, Товар.Характеристика, Товар.Цена

FROM Товар

WHERE (((Товар.Цена)=[введите  цену] Or (Товар.Цена)>[введите цену])); 

Запрос на «Товары с высокой стоимостью»

Запрос делает выборку из таблицы Товар по стоимости товаров и выдает информацию о 10 наиболее дорогостоящих.

При построении запроса я использовала в режиме SQL предикат TOP10 – вывод на экран первые 10 товаров (без повторения). Помимо цен и самих товаров, прилагается еще характеристика товара и его фирма- производитель. 

 

В режиме SQL запрос выглядит так:

SELECT TOP 10 Товар.Тип, Товар.Производитель, Товар.Характеристика, Товар.Цена

FROM Товар

ORDER BY Товар.Цена DESC; 

Запрос  на «Удаление Поставщика»

Данный запрос очень прост, но полезен. Он позволяет  удалять из базы производителя, с которым мы больше не работаем, не открывая таблицы Производитель_товара. 

В режиме SQL запрос выглядит так:

DELETE Поставщик_товара.Поставщик,  Поставщик_товара.Поставщик

FROM Поставщик_товара

WHERE (((Поставщик_товара.Поставщик)=[введите  поставщика])); 
 
 
 
 
 
 
 
 
 

    1. Формы

Формы создавать  достаточно просто. Для этого в режиме «мастер форм» выбираются значения из таблиц и формируются по усмотрению  разработчика базы.

Моя База Данных содержит 11 форм:

 

Форма «Все заказы».

Простая форма, выводящая все заказы, как выполненные, так и невыполненные.

 

Форма «Выборка всех клиентов с введенной буквы»

Информация о работе Разработка базы данных торговой организации