Разработка базы данных для анализа продаж в рекламном агентстве
База данных (БД) представляет собой организованную структуру, используемую для хранения данных, т.е. любых сведений о явлениях, процесса, действиях и т.д. В современной технологии БД предполагается, что создание БД, ее поддержка и обеспечения доступа пользователей к ней осуществляется централизованно с помощью специализированного программного инструментария — системы управления базами данных (СУБД).
Системы управления базами данных (СУБД) — это комплекс программных и языковых средств, необходимых для создания баз данных, поддерживания их в актуальном состоянии и организации поиска в них необходимой информации.
Среди наиболее ярких представителей систем управления базами данных: Microsoft Access, Microsoft Visual FoxPro, а также базы данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер».
В этом курсовом проекте база данных разработана с использованием облачного сервиса №701385.files/image001.gif»>
Рисунок 1 — Вход в Oracle Application Express
2.2 Создание таблиц в Oracle Application Express
Таблицы в СУБД Oracle Application Express можно создавать двумя способами: в диалоговом режиме и с помощью языка SQL.
Создание таблиц с помощью диалогового режима , Главного меню
Рисунок 2 — Кнопка Object Browser
После этого на экране появляется окно, разделенное на два поля: левое содержит список всех объектов БД, правое — различную информацию о них (Рисунок 3).
Рисунок 3 — Окно создания таблицы в диалоговом режиме
При нажатии в правом верхнем углу кнопки Create (Создать ) откроется выпадающий список, в котором можно выбрать тип создаваемого объекта БД. При создании таблицы следует выбрать пункт Table (Рисунок 4).
Маркетинг-менеджмент и его место в управлении организацией
... связи с этим необходима новая система управления маркетингом, обеспечивающая необходимый уровень управления маркетингом, определяющий актуальность выбора темы бизнеса. Маркетинг-менеджмент в системе управления предприятием Управление маркетингом - это систематическое и целенаправленное воздействие на маркетинговую деятельность посредством ...
Рисунок 4 — Выбор типа создаваемого объекта (Table)
Table Name
Рисунок 5 — Окно создания таблицы
Рассмотрим процесс создания таблицы на примере таблицы KLIENT . Введем имя таблицы, названия столбцов, определим типы данных (Type ), установим количество знаков после запятой (Scale ) и ограничения на нулевое значения (Not Null ) (Рисунок 6).
Рисунок 6 — Создание полей таблицы KLIENTS
На следующем этапе создания таблицы определим ключевые поля. Ключевое поле — это одно или несколько полей, комбинация значений которых однозначно идентифицирует каждую запись в таблице.
Система предлагает 4 варианта определения первичного ключа: «Не указывать первичный ключ», «Указать ключевое поле из новой таблицы», «Указать ключевое поле из уже существующей таблицы», «Создать составное ключевое поле из двух колонок таблицы». При создании таблицы KLIENT выберем второй вариант; ключевым полем таблицы станет поле ID (Рисунок 7).
Рисунок 7 — Выбор первичного ключа
На следующем этапе следует определить внешние ключи. Внешний ключ устанавливает связь между столбцами двух таблиц. При создании таблицы KLIENT внешние ключи не использовались (Рисунок 8).
Рисунок 8 — Выбор внешних ключей
После определения внешних ключей пользователю предоставляется возможность создания ограничений двух видов: Check (проверка) и Unique (уникальность).
Установим параметры уникальности для столбца BIK таблицы KLIENTS и нажмем кнопку Add (Рисунок 9).
Рисунок 9 — Окно создания ограничений
На последнем этапе подтверждаем создание таблицы (Рисунок 10).
Рисунок 10 — Окно подтверждения создания таблицы
Нажав кнопку SQL можно увидеть, как выглядит запрос на создание таблицы на языке SQL (Рисунок 11).
Рисунок 11 — Запрос создания таблицы на языке SQL
Внешний вид созданной таблицы KLIENTS представлен на рисунке 12.
Рисунок 12 — Таблица KLIENTS, созданная в диалоговом режиме
Создание таблиц в режиме SQL
Главного меню
Рисунок 13 — Кнопка SQL Commands
Особенности создания стоматологической деятельности
... заболеваний; детская стоматология эстетическая стоматология (отбеливание зубов, снятие зубного камня, налета курильщика и пр.) В советское время клиники ориентировались в основном на терапию и хирургию, то ... 200 Протезирование (металлокерамика) 200 Снятие зубного камня 10 (с зуба) Таблица 11. Ответственность за деятельность Главный бухгалтер Заведующий оргметодотделом Администратор Лечащий врач ...
После этого открывается окно, в котором расположены область для ввода SQL команд и кнопки Sav e и Run для сохранения и запуска написанной программы соответственно (Рисунок 14).
Рисунок 14 — Окно ввода SQL команд
VIDI_USLUG
Рисунок 15 — SQL команды для создания таблицы VIDI_USLUG
После нажатия кнопки Run при верном написании кода таблица будет создана (Рисунок 16).
Рисунок 16 — Таблица VIDI_USLUG, созданная с помощью SQL запроса
Если структура таблицы в базе данных Oracle совпадает со структурой таблицы в базе данных Access или Excel, данные из одной таблицы можно импортировать в другую.
Price_list
Рисунок 17 — Кнопка Data Workshop
Spredsheet Data
На первом этапе требуется выбрать, куда ( Load to ) закачивать данные. Т.к. таблица уже существует в БД Oracle, то выбираем существующую таблицу (Existing Table ) (рисунок 18).
Рисунок 18 — Выбор места копирования данных
На втором этапе указываем таблицу, в которую будут импортироваться данные (Рисунок 19).
Рисунок 19 — Выбор таблицы для загрузки данных
На следующем шаге импорта мастер предлагает вставить данные из буфера обмена в окно, расположенное в центре страницы. Сначала откроем таблицу в Access, выделим все строки и нажмем клавиши Ctrl+C (копировать).
Затем щелкнем мышью в окошке на страницу APEX и нажмем CTRL+V (вставить).
В окне появляются данные из таблицы (Рисунок 20).
Рисунок 20 — Копирование данных из таблицы Access на страницу Apex
На последнем этапе импортирования мастер выводит всю структуру таблицы и данные (Рисунок 21).
Рисунок 21 — Структура и данные импортированной таблицы
Load Data
Рисунок 22 — Таблица Price_list, данные которой импортированы из таблицы Access
В ходе выполнения курсового проекта были созданы таблицы KLIENTS, VIDI_USLUG, USLUGI, FIRMA (Рисунки 23, 24), ZAKAZ (Рисунки 25, 26), DOKUMENT (Рисунки 27, 28).
Рисунок 23 — Ограничения для таблицы FIRMA
Повышение конкурентоспособности малого предприятия в условиях ...
... доля организации (объем продаж). Виды рынков несовершенной конкуренцией показаны на рисунке 1. Рисунок 1 Виды рынков несовершенной конкуренции Исходя из Рис. 1, можно ... предприятия. Целью выпускной квалификационной работы является разработка мероприятий по повышению конкурентоспособности и обоснование экономической эффективности предприятия на примере ООО «Ритейл Групп». Для достижения поставленной ...
Рисунок 24 — Данные таблицы FIRMA
Рисунок 25 — Ограничения для таблицы ZAKAZ
Рисунок 26 — Данные таблицы ZAKAZ
Рисунок 27 — Ограничения для таблицы DOKUMENT
Рисунок 28 — Данные таблицы DOKUMENT
2.3
Чтобы просмотреть таблицы и связи между ними, используйте форму конструктора запросов. Для этого выберем в меню вкладку SQL Workshop , нажмем кнопку Utilities .
Далее нажмем кнопку Query Builder .
В открывшемся окне из боковой панели добавьте все таблицы, щелкнув по ним и соедините нужные поля линиями.
.1 Создание запросов
SQL Workshop
В открывшемся окне следует ввести текст запроса на языке SQL. Для запуска запроса на выполнения необходимо нажать кнопку Run . Для того чтобы сохранить созданный запрос, необходимо нажать кнопку Save.
Запрос 1 — «Суммарная суточная стоимость и количество продаж по каждому товару».
SELECT DOKUMENT.DATA, USLUGI.USLUGA, SUM (USLUGI.PRICE*ZAKAZ.KOLICHESTVO) AS VIRUCHKA, SUM (ZAKAZ.KOLICHESTVO) AS KOLICHESTVO_ZAKAZOV
FROM USLUGI INNER JOIN (DOKUMENT INNER JOIN ZAKAZ ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA) ON USLUGI.KOD=ZAKAZ.KOD_USLUGIDOKUMENT.DATA >: «НАЧАЛО ПЕРИОДА» AND DOKUMENT.DATA <: «КОНЕЦ ПЕРИОДА»BY DOKUMENT.DATA, USLUGI.USLUGA, USLUGI.PRICE, ZAKAZ.STATUS
HAVING (ZAKAZ.STATUS=’выполнен’)BY DOKUMENT.DATA
После выполнения этого запроса на экране появляется окно, предлагающее пользователю ввести период, для которого должен отображаться результат.
После нажатия кнопки Submit выводится таблица, отражающая суммарную стоимость и количество продаж по каждому товару.
Запрос 2 — Расчет суммарной стоимости заказов за день, месяц, год
1. Выручка по дням
SELECT DOKUMENT.DATA, SUM (USLUGI.PRICE*ZAKAZ.KOLICHESTVO) AS VIRUCHKA
FROM DOKUMENT INNER JOIN (USLUGI INNER JOIN ZAKAZ ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTADOKUMENT.DATA >: «НАЧАЛО ПЕРИОДА» AND DOKUMENT.DATA <: «КОНЕЦ ПЕРИОДА»
GROUP BY DOKUMENT.DATA
После нажатия кнопки Submit выводится таблица, отражающая выручку по дням.
- Выручка за месяц
SELECT P1.MONTH, SUM (P1.VIRUCHKA) AS VIRUCHKAP1P1.YEAR =: «ВВЕДИТЕ ГОД» AND P1.MONTH >: «ВВЕДИТЕ МЕСЯЦ» BY P1.MONTH
После нажатия кнопки Submit выводится таблица, отражающая выручку за месяц.
- Выручка за год
SELECT P1.YEAR, SUM (P1.VIRUCHKA) AS VIRUCHKAP1P1.YEAR=: «ВВЕДИТЕ ГОД»
GROUP BY P1.YEAR
После нажатия кнопки Submit выводится таблица, отражающая выручку по годам.
Текст запроса для View P1:
SELECT TO_CHAR (DOKUMENT.DATA, ‘YYYY’) AS YEAR, TO_CHAR (DOKUMENT.DATA, ‘MONTH’) AS MONTH, SUM (USLUGI.PRICE*ZAKAZ.KOLICHESTVO) AS VIRUCHKA
Плюсы и минусы рекламы
... также на автозаправочных станциях (азс).) 8. Интернет реклама Плюсы и минусы рекламы в прессе Традиционно к плюсам печатной рекламы относят: Информативность. Рекламное обращение может включать несколько ... объявление, разительно отличающееся от остальных. Плюсы и минусы печатной рекламы: Плюсы. Низкая стоимость. Низкая стоимость создания рекламного модуля и размещения в печати. Конечно, есть ...
FROM DOKUMENT INNER JOIN (USLUGI INNER JOIN ZAKAZ ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA
GROUP BY DOKUMENT.DATA
Запрос 3 — Расчет количества заказов по группам товаров
SELECT DOKUMENT.DATA, VIDI_USLUG.VID, SUM (ZAKAZ.KOLICHESTVO) AS KOLICHESTVO_ZAKAZOVVIDI_USLUG INNER JOIN (USLUGI INNER JOIN (DOKUMENT INNER JOIN ZAKAZ ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA) ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON VIDI_USLUG.KOD=USLUGI.KOD_VIDABY DOKUMENT.DATA, VIDI_USLUG.VID
Object Browser
SQL Commands
Далее подтверждаем создание запроса. После успешного выполнения всех шагов запрос появится в списке запросов к базе данных.
Аналогичным образом были созданы запросы «Себестоимость и количество продаж по товарам», «Выручка по дням».
3.2 Создание основы для приложения
Application Builder
Sample Database Application
Далее введем имя приложения (РЕКЛАМНОЕ АГЕНТСТВО), укажем схему (REKLAMA) и выберем пользовательский интерфейс ( Desktop ).
В следующем окне предлагается выбрать тип стартовой страницы ( Blank — пустая, Report — отчет, Form — форма, Chart — график и др.).
Для создания стартовой страницы приложения «РЕКЛАМНОЕ АГЕНТСТВО» выберем тип Blank .
В следующем окне вы можете настроить возможность копирования компонентов из других доступных приложений.
После нажатия на кнопку «Далее» открывается окно, в котором мы выбираем язык, формат даты и времени.
Simple Gray
После нажатия кнопки Next появляется окно, в котором необходимо подтвердить создание приложения.
Application Builder
Для запуска приложения необходимо нажать кнопку Run , после чего система запросит логин и пароль.
3.3 Создание форм
User Interface
Далее открывается окно, в котором нужно указать, какой список значений мы хотим создать: новый или копию существующего списка. Выбираем первый вариант.
В следующем окне необходимо ввести имя списка и выбрать тип его создания (статический или динамический).
Для списка « STATUS » выбираем статический тип, для списка «KLIENTS » — динамический.
Чтобы применить созданный список, в окне редактирования страницы дважды щелкните поле, которое нужно изменить, чтобы открыть окно редактирования параметров поля.
Display As
После сохранения данных изменений в поле « Статус » пользователь сможет выбирать конкретные значения: выполнен/не выполнен вместо того, чтобы вводить эти значения вручную.
Аналогичным образом было настроено отображение поля « Клиенты » — выбор названия компании-заказчика вместо ID и поля «Наименование услуги » — выбор услуги из выпадающего списка.
.4 Создание отчетов
Существует несколько вариантов создания отчетов: интерактивный отчет, веб-отчет, стандартный отчет и мастер отчетов.
Современные аспекты маркетинговой политики компаний
... Российские компании все еще находятся в стадии понимания проблемы или начала организации маркетинговых услуг, переходя от идеологии продаж к «философии маркетинга". Большинство из них по- ... большинства отечественных производителей оригинальные технологии продолжают оставаться слабым звеном. Примеров блестящей маркетинговой стратегии очень мало, и ее часто заимствуют у зарубежных коллег. Например, ...
Выручка по дням, Выручка по дням
Текст SQL запроса для создаваемого отчета:
select VIRUCHKA_PO_DNYAM.DATA as DATA,_PO_DNYAM.VIRUCHKA as VIRUCHKAVIRUCHKA_PO_DNYAM VIRUCHKA_PO_DNYAM
В верхней части созданного интерактивного отчета находится стандартная панель, позволяющая произвести поиск данных, сортировку, фильтрацию, построить диаграмму по данным отчета, вызвать справку, перезапустить отчет, а так же выгрузить его.
Аналогичным образом были сформированы отчеты «Количество заказов по товарным группам» и «Стоимость и количество заказов на услуги и товары».
База данных предназначена для накопления и анализа данных о результатах коммерческой деятельности рекламного агентства «Идея». Хранит справочную информацию о клиентах и предоставляемых услугах, а также информацию о заказе.
Чтобы начать работу с Базой данных, в любом браузере перейдите по ссылке: # «701385.files/image030.gif»> позволяет открыть новую страницу, на которой представлен список услуг для каждого вида. Кнопки «Удалить», «Удалить выбранное», «Добавить услугу», «Сохранить изменения» позволяют выполнять соответствующие действия.
Вкладка «Заказы по документам»
Кнопка позволяет открыть новую страницу, на которой представлены заказы по каждому документу. Кнопки «Удалить», «Удалить выбранное», «Добавить услугу», «Сохранить изменения» позволяют выполнять соответствующие действия. Для ввода даты предусмотрен интегрированный календарь, щелкнув по которому пользователь может выбрать нужную дату.
Вкладка «Отчеты»
Он содержит кнопки «Количество заказов по товарным группам», «Стоимость и количество продаж по продуктам» и «Оборот по дням», при нажатии на одну из которых пользователь откроет страницу с соответствующим отчетом.
Меню Действия позволяет выполнять действия из выпадающего списка: сортировка, фильтрация, создание диаграммы на основе данных отчета, обращение за помощью, перезапуск отчета.
Эти отчеты могут быть отправлены по электронной почте, загружены в файл CSV или открыты на отдельной странице браузера, для этого выберите пункт «Загрузить» в меню «Действия.
Вкладка «Диаграммы»
Он содержит кнопки «Оборот по услугам» и «Оборот по заказам», при нажатии на одну из кнопок пользователь откроет страницу с соответствующей диаграммой.
Вкладка «Информация о нас»
Эта вкладка содержит информацию о компании, доступную только для просмотра. Пользователи приложения не могут вносить изменения. Кнопка «Вернуться на главную» используется для перехода на домашнюю страницу.
Вкладка «О программе»
Эта вкладка содержит информацию о назначении программного обеспечения, версии, разработчике и отзывы. При переходе по ссылке откроется страница с инструкциями по работе с программным приложением «Рекламное агентство« Идея»».
Заключение
В соответствии с заданием по курсовому проекту в рекламном агентстве «Идея» разработана база данных для учета заказов, что позволяет автоматизировать обработку информации. В базе данных хранятся данные о клиентах, услугах, компаниях, заказах и даже формы, относящиеся к документам, в виде отчетов и диаграмм.
База данных работает в диалоговом режиме, который предоставляет пользователю возможность взаимодействовать с хранящейся в системе информацией в режиме реального времени, получая при этом всю необходимую информацию для решения функциональных задач, и имеет удобный пользовательский интерфейс.
Облачная среда очень удобна для работы с БД. Практически все функциональные возможности стационарных СУБД реализованы с помощью удобного интерфейса. Средства визуального программирования позволяют за несколько шагов создать необходимые стандартные объекты (таблицы, запросы, формы и отчеты).
Но разработка наиболее удобного интерфейса для конечного пользователя требует более глубокого знания среды.
1. Базы данных. Проектирование, реализация, сопровождение. Теория и практика: Томас М. Конноли, Каролин Е. — Москва-Санкт-Петербург, 2009
2. Базы данных. Учебный курс: Глушков С.В., Ломотько Д.В. — Харьков, 2010
- SQL. Справочное руководство: Мартин Грабер — Санкт-Петербург, Лори, 2012
- Oracle PL/SQL для администраторов баз данных: Аруп Нанда и Стивен Фейерштейн — Санкт-Петербург, Символ-Плюс, 2008
- Эффективное проектирование приложений Oracle: Томас Кайт — Москва, Лори, 2008 г.
Текст SQL-запроса таблицы «FIRMA»
CREATE TABLE «FIRMA»
(«NAZVANIE» VARCHAR2 (70) NOT NULL ENABLE,
«RUKOVODITEL» VARCHAR2 (100) NOT NULL ENABLE,
«ADRES» VARCHAR2 (150),
«INN» VARCHAR2 (20) NOT NULL ENABLE,
«GLAV_BUH» VARCHAR2 (100),
«TELEPHONE» VARCHAR2 (30),
«BIK» VARCHAR2 (40) NOT NULL ENABLE,
«E-MAIL» VARCHAR2 (70)
/
Текст SQL-запроса таблицы «KLIENTS»
CREATE TABLE «KLIENTS»
(«ID» NUMBER NOT NULL ENABLE,
«NAZVANIE_FIRMI» VARCHAR2 (60) NOT NULL ENABLE,
«RUKOVODITEL» VARCHAR2 (100),
«BIK» VARCHAR2 (40) NOT NULL ENABLE,
«TELEPHONE» VARCHAR2 (30),
«ADRES» VARCHAR2 (140),«KLIENTS_PK» PRIMARY KEY («ID») ENABLE
/OR REPLACE TRIGGER «BI_KLIENTS»insert on «KLIENTS»each row:NEW. «ID» is null then«KLIENTS_SEQ».nextval into:NEW. «ID» from sys.dual;if;;
/TRIGGER «BI_KLIENTS» ENABLE
/
Текст SQL-запроса таблицы «ZAKAZ»
CREATE TABLE «ZAKAZ»
(«NOMER_DOKUMENTA» NUMBER (6,0) NOT NULL ENABLE,
«KOD_USLUGI» NUMBER (6,0) NOT NULL ENABLE,
«KOLICHESTVO» NUMBER (6,0) NOT NULL ENABLE,
«STATUS» VARCHAR2 (30)
/TABLE «ZAKAZ» ADD CONSTRAINT «ZAKAZ_FK2» FOREIGN KEY («NOMER_DOKUMENTA»)«DOKUMENT» («NOMER_DOKUMENTA») ON DELETE CASCADE ENABLE
/TABLE «ZAKAZ» ADD CONSTRAINT «ZAKAZ_FK3» FOREIGN KEY («KOD_USLUGI»)«USLUGI» («KOD») ON DELETE CASCADE ENABLE
/
Текст SQL-запроса таблицы «DOKUMENT»
CREATE TABLE «DOKUMENT»
(«NOMER_DOKUMENTA» NUMBER (6,0) NOT NULL ENABLE,
«NOMER_ZAKAZA» NUMBER (6,0) NOT NULL ENABLE,
«DATA» DATE NOT NULL ENABLE,
«KLIENTSKIJ_NOMER» NUMBER (6,0) NOT NULL ENABLE,«DOKUMENT_PK» PRIMARY KEY («NOMER_DOKUMENTA») ENABLE
/TABLE «DOKUMENT» ADD CONSTRAINT «DOKUMENT_FK» FOREIGN KEY («KLIENTSKIJ_NOMER»)«KLIENTS» («ID») ON DELETE CASCADE ENABLE
/
OR REPLACE TRIGGER «BI_DOKUMENT»insert on «DOKUMENT»each row:NEW. «NOMER_DOKUMENTA» is null then«DOKUMENT_SEQ».nextval into:NEW. «NOMER_DOKUMENTA» from sys.dual;if;;
Текст SQL-запроса таблицы «VIDI_USLUG»
CREATE TABLE «VIDI_USLUG»
(«KOD» NUMBER (6,0) NOT NULL ENABLE,
«VID» VARCHAR2 (60) NOT NULL ENABLE,«VIDI_USLUG_PK» PRIMARY KEY («KOD») ENABLE
/OR REPLACE TRIGGER «BI_VIDI_USLUG»insert on «VIDI_USLUG»each row:NEW. «KOD» is null then«VIDI_USLUG_SEQ1».nextval into:NEW. «KOD» from sys.dual;if;;
/TRIGGER «BI_VIDI_USLUG» ENABLE
/
Текст SQL-запроса таблицы «USLUGI»
CREATE TABLE «USLUGI»
(«KOD» NUMBER (6,0) NOT NULL ENABLE,
«USLUGA» VARCHAR2 (60) NOT NULL ENABLE,
«PRICE» NUMBER NOT NULL ENABLE,
«KOD_VIDA» NUMBER (6,0) NOT NULL ENABLE,«USLUGI_PK» PRIMARY KEY («KOD») ENABLE
/TABLE «USLUGI» ADD CONSTRAINT «USLUGI_FK» FOREIGN KEY («KOD_VIDA»)«VIDI_USLUG» («KOD») ON DELETE CASCADE ENABLE
/
OR REPLACE TRIGGER «BI_USLUGI»insert on «USLUGI»each row:NEW. «KOD» is null then«USLUGI_SEQ1».nextval into:NEW. «KOD» from sys.dual;if;;
/TRIGGER «BI_USLUGI» ENABLE
/
View для отчета «Количество заказов по группам товаров»
CREATE OR REPLACE FORCE VIEW «KOL_ZAKAZOV_PO_GRUPPAM_TOVAROV» («DATA», «VID», «KOLICHESTVO_ZAKAZOV») ASDOKUMENT.DATA, VIDI_USLUG.VID, SUM (ZAKAZ.KOLICHESTVO) AS KOLICHESTVO_ZAKAZOVVIDI_USLUG INNER JOIN (USLUGI INNER JOIN (DOKUMENT INNER JOIN ZAKAZ ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA) ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON VIDI_USLUG.KOD=USLUGI.KOD_VIDABY DOKUMENT.DATA, VIDI_USLUG.VID
/
View для отчета «Стоимость и количество продаж по услугам и товарам»
CREATE OR REPLACE FORCE VIEW «STOIM_I_KOL_PRODAG_PO_TOVARAM» («DATA», «USLUGA», «VIRUCHKA», «KOLICHESTVO_ZAKAZOV») ASDOKUMENT.DATA, USLUGI.USLUGA, SUM (USLUGI.PRICE*ZAKAZ.KOLICHESTVO) AS VIRUCHKA, SUM (ZAKAZ.KOLICHESTVO) AS KOLICHESTVO_ZAKAZOV
FROM USLUGI INNER JOIN (DOKUMENT INNER JOIN ZAKAZ ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA) ON USLUGI.KOD=ZAKAZ.KOD_USLUGIBY DOKUMENT.DATA, USLUGI.USLUGA, USLUGI.PRICE, ZAKAZ.STATUS
HAVING (ZAKAZ.STATUS=’выполнен’)BY DOKUMENT.DATA
/
View для отчета «Выручка по дням»
CREATE OR REPLACE FORCE VIEW «VIRUCHKA_PO_DNYAM» («DATA», «VIRUCHKA») ASDOKUMENT.DATA, SUM (USLUGI.PRICE*ZAKAZ.KOLICHESTVO) AS VIRUCHKA
FROM DOKUMENT INNER JOIN (USLUGI INNER JOIN ZAKAZ ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA
GROUP BY DOKUMENT.DATA
/
Текст запроса с параметром — «Выручка по дням»:
SELECT DOKUMENT.DATA, SUM (USLUGI.PRICE*ZAKAZ.KOLICHESTVO) AS VIRUCHKA
FROM DOKUMENT INNER JOIN (USLUGI INNER JOIN ZAKAZ ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTADOKUMENT.DATA >: «НАЧАЛО ПЕРИОДА» AND DOKUMENT.DATA <: «КОНЕЦ ПЕРИОДА»
GROUP BY DOKUMENT.DATA