Смекни!
smekni.com

Работа торгового склада (стр. 4 из 7)

3 Сложные запросы

Вывести список всех товаров, которые купил какой-либо покупатель

Select товар from отпуск_тов_со_склада where номер_накладной in

(select номер_накладной from накладные where покупатель=’наимен_фирмы’)

В результате запрос выведет таблицу 6.1.

Таблица 6.1

Купленные товары
Товар1
ТоварN

Вывести список всех покупателей, которые купили какой-либо товар

Select покупатель from накладные where номер_накладной in

(select номер_накладной from отпуск_тов_со_склада where

товар =’наимен_товара’)

В результате запрос выведет таблицу 6.2.


Таблица 6.2

Покупатель, который приобрел товар
Покупатель1
ПокупательN

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

Select товары . тов , sum(отпуск_тов_со_склада . отпущено_ед),

sum(отпуск_тов_со_склада . отпущено_ед * товары . ед_измер),

from (товары JOIN отпуск_тов_со_склада ON товары . товар= отпуск_тов_со_склада . товар) JOIN накладные ON отпуск_тов_со_склада . номер_накл=накладные . номер_накл

GROUPBY товары . товар

В результате запрос выведет таблицу 6.3.

Таблица 6.3

Товар Кол-во единиц проданных за все время Общая сумма за все время
Товар1 Кол-во_товара1 Сумма1
ТоварN Кол-во_товараN СуммаN

Список выручек за каждый день, за все время работы предприятия

Select накладные . дата ,

sum(отпуск_тов_со_склада . отпущено_ед * товары . ед_измер)

from (товары JOIN отпуск_тов_со_склада ON товары . товар= отпуск_тов_со_склада . товар) JOIN накладные ON отпуск_тов_со_склада . номер_накл=накладные . номер_накл

GROUPBY накладные . дата

В результате запрос выведет таблицу 6.4.

Таблица 6.4

Дата Выручка_за_день
Дата1 Выручка1
ДатаN Выручка N

Выручка за конкретный день

Selectsum(отпуск_тов_со_склада . отпущено_ед * товары . ед_измер)

from (товары JOIN отпуск_тов_со_склада ON товары . товар= отпуск_тов_со_склада . товар) JOIN накладные ON отпуск_тов_со_склада . номер_накл=накладные . номер_накл

where накладные . дата=’день. месяц. год’

В результате запрос выведет графу, содержащую выручку за интересующий день( таблица 6.5).

Таблица 6.5

Выручка за ‘День. Месяц. Год ’

Список товаров, их количество и сумма выручки за конкретный день

Select товары . тов , sum(отпуск_тов_со_склада . отпущено_ед),

sum(отпуск_тов_со_склада . отпущено_ед * товары . ед_измер),

from (товары JOIN отпуск_тов_со_склада ON товары . товар= отпуск_тов_со_склада . товар) JOIN накладные ON отпуск_тов_со_склада . номер_накл=накладные . номер_накл

where накладные . дата=’день. месяц. год’ GROUPBY товары . товар

В результате запрос выведет таблицу 6.6.

Таблица 6.6

Товар Кол-во единиц проданных за день Общая сумма за день
Товар1 Кол-во_товара1 Сумма1
ТоварN Кол-во_товараN СуммаN

7. Обоснование выбора языка программирования

Клиентское приложение для информационной системы «Работа торгового склада» разработано с помощью системы объектно-ориентированного программирования Delphi 6, при этом, для реализации доступа к данным был выбран механизм прямого доступа FireBird с форматом InterBase.

Система объектно-ориентированного программирования Delphi 6 производства корпорации Borland предназначена для операционных систем Windows 95,WindowsNT и более поздних версий Windows. Интегрированная среда Delphi 6 обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощью языковых средств ObjectPascal, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.

Вместо отдельного инструментария, оперирующего визуальными элементами управления, в Delphi 6 интегрирована так называемая палитра компонент, разделенная картотечными вкладками на несколько функциональных групп. Функциональные возможности поставляемых компонент можно достаточно просто модифицировать, а также разрабатывать компоненты, обладающие совершенно новым оригинальным поведением.

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

После размещения компонент на форме "Инспектор объектов" позволяет устанавливать их свойства и предписывать событиям коды обработки. Проект будет строиться постепенно, на фоне производимых вами изменений в свойствах, событиях и функциях используемых элементов. Хорошо продумано разделение и редактирование программного модуля по двум частям: интерфейсной и собственно кодовой.

Delphi 6 обеспечивает высокое быстродействии при компиляции и сборке 32 - разрядных приложений для современных операционных систем Windows, включая OLE взаимодействие клиент-сервер. Результирующие программы хорошо оптимизированы по скорости исполнения и затратам памяти. "Дизайнер форм" и "Инспектор объектов" и другие средства остаются доступными во время работы программы, поэтому вносить изменения можно в процессе отладки.

Разработка по способу "drag-and-drop" многократно упрощает и ускоряет обычно трудоёмкий процесс программирования СУБД в архитектуре клиент-сервер. Широкий выбор компонент управления визуализацией и редактированием позволяет легко изменить вид отображаемой информации и поведение программы. Delphi 6 использует DatabaseExplorer (Проводник баз данных) и DataDictionary (Словарь данных), чтобы автоматически настроить средства отображения и редактирования применительно к специфики вашей информации.

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

Словарь данных поддерживает целостность изменяющейся информации о содержимом таблиц баз данных. Пользователь может динамически модифицировать состав словаря данных. Словарь содержит информацию о расширенных атрибутах полей в записях: минимальные и максимальные значения, свойства отображения, маски редактирования и т. п.

"Живые" данные (livedata) предоставляются разработчику в процессе визуального проектирования прототипов и при испытании приложений баз данных. Вам не требуется многократно перетранслировать и запускать приложение - данные на стадии проектирования будут точно такими же и представлены точно так же, как их увидит пользователь законченной программы.

Доступ к данным осуществляется через механизм прямого доступа к объектам FireBird, который поддерживает высокопроизводительный 32 – разрядный доступ к базам данных. Delphi 6 использует контроллер ODBC (OpenDatabaseConnectivity) производства Microsoft для связи с серверами баз данных.

Объекты модулей данных действуют как связывающий каркас приложения - они определяют источники и бизнес - логику базы данных, фиксируют взаимосвязи компонент. В централизованной модели доступа к данным бизнес - логика отделена от разработки графического интерфейса с пользователем (GUI). Любое изменение бизнес - логики базы данных сказывается на поведении только соответствующего модуля данных. Работая с модулями данных, вы однократно устанавливаете связи нашего приложения с адресуемой базой данных, а затем по способу "drag - and - drop" можете перетаскивать поля записей на новые формы - в любой узел вашей сети. Никакого дополнительного кодирования при этом не требуется.

Система объектно-ориентированного программирования Delphi 6 является мощным и производительным средством для создания баз данных и обеспечивает высокую скорость визуальной разработки приложений информационных систем, избавляя разработчика от лишних затрат рабочего времени. Механизм прямого доступа к объектам FireBird придает обслуживанию связей с базами данных простоту и прозрачность.


8. Технические требования к системе для применения программы

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

- ЭВМ типа IBMPC или любая другая, обладающая полной совместимостью;

- наличие накопителя на жестком магнитном диске;

- наличие накопителя на гибких магнитных дисках;

- процессор класса не ниже Pentium;

- оперативная память – 16 Мбайт;

- операционная система – Windows 98;

- сервер баз данных - InterBase Server.

Данные минимальные требования к системе определяются требованиями, необходимыми для работы операционной системы Windows 98 и надежной работы InterBase.


9. Общая структура программы

Структура программы отображает взаимодействие окон (форм) программы. Общая структура программы представлена на рисунке 9.1.


Рисунок 9.1 - Общая структура программы

Программа состоит из 6-ти основных программных модулей, каждому из которых соответствует своя форма. Кроме того, имеются 2 дополнительные формы, а именно: форма, выводящая сведения об авторах и форма, запрашивающая подтверждение о выходе из программы.

Unit1 (Form1) – основной модуль программы. Он используется для просмотра всех имеющихся таблиц, для добавления, модификации и удаления данных.