Файл: Проектирование реализации операций бизнес-процесса «Взаиморасчеты с поставщиками.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 222

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

4. Каждое оплата по накладной в соответствии с принятой структурой может проводиться только по одной накладной, в то же время по одной накладной могут производиться несколько оплат. Следовательно, для связи Накладные – Оплата по накладным степень связи 1:n, класс принадлежности сущности Накладные – необязательный, сущности Оплата по накладным – обязательный.

5. Каждое поступление товара в соответствии с принятой структурой может проводиться только для одного товара, в то же время один товар может поступать неоднократно в разное время. Следовательно, для связи Товары – Поступление товара степень связи 1:n, класс принадлежности сущности Товары – необязательный, сущности Поступление товара – обязательный.

6. Каждый товар по счету в соответствии с принятой структурой может указываться только в одном счете, в то же время по одному счету могут указываться несколько товаров. Следовательно, для связи Счета на оплату – Товары по счету степень связи 1:n, класс принадлежности сущности Счета на оплату – необязательный, сущности Товары по счету – обязательный.

7. Каждое оплата по счету в соответствии с принятой структурой может проводиться только по одному счету, в то же время по одному счету могут производиться несколько оплат. Следовательно, для связи Счета на оплату – Оплата по счету степень связи 1:n, класс принадлежности сущности Счета на оплату – необязательный, сущности Оплата по счету – обязательный.

8. Каждый товар по счету в соответствии с принятой структурой может указываться только для одного товара, в то же время один товар может указываться в разных счетах. Следовательно, для связи Товары – Товары по счету степень связи 1:n, класс принадлежности сущности Товары – необязательный, сущности Товары по счету – обязательный.

9. Каждая выплата аванса в соответствии с принятой структурой может производиться только для одного поставщика, в то же время один поставщик может получать в разные авансы. Следовательно, для связи Поставщики – Авансы степень связи 1:n, класс принадлежности сущности Поставщики – необязательный, сущности Авансы – обязательный.

На рисунке 7 представлена логическая модель данных.

Рисунок 3. Логическая модель данных.

Для всех связей установлена степень связи 1:n и класс принадлежности n-связной сущности обязательный. Следовательно, для построения предварительных отношений используются следующие правила:

- необходимы два отношения;


- ключами отношений являются ключи сущности;

- ключ односвязной сущности должен быть добавлен как атрибут в отношение для n-связной сущности.

Перечень отношений с учетом суррогатных ключей представлен в таблице 8.

Таблица 8

Перечень отношений и атрибутов

Отношения

Атрибуты

Поставщики

Код поставщика

Наименование

Адрес

ИНН

Расчетный счет

Накладные

Номер документа

Дата

Поставщик

Авансы

Регистрационный номер

Дата

Поставщик

Сумма

Поступление товара

Накладная

Товар

Цена за единицу

Количество

Оплата по накладным

Регистрационный номер

Накладная

Дата оплаты

Сумма

Счета на оплату

Номер документа

Дата

Поставщик

Товары по счету

Счет

Товар

Цена за единицу

Количество

Оплата по счетам

Регистрационный номер

Счет

Дата оплаты

Сумма

Товары

Код товара

Наименование

Единица измерения

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

На основании логической модели данных создана физическая модель с учетом конкретной системы управления базами данных (СУБД) Access. Физическая модель представлена на рисунке 4.

Рисунок 4. Физическая модель данных.

Характеристика базы данных.

      1. Таблицы базы данных.

В базе данных заполнение таблиц должно выполняться только через разработанные формы. Нарушение этого правила может привести к потере информации. Перечень таблиц с указанием полей и их свойств приведен на рисунках 5-15.

Рисунок 5. Структура таблицы «Авансы»

Рисунок 6. Структура таблицы «Карточка взаиморасчетов»

Рисунок 7. Структура таблицы «Накладные»

Рисунок 8. Структура таблицы «Обороты»


Рисунок 9. Структура таблицы «Оплата по накладным»

Рисунок 10. Структура таблицы «Оплата по счетам»

Рисунок 11. Структура таблицы «Поставщики»

Рисунок 12. Структура таблицы «Поступление товара»

Рисунок 13. Структура таблицы «Счета на оплату»

Рисунок 14. Структура таблицы «Товары»

Рисунок 15. Структура таблицы «Товары по счету»

      1. Запросы.

Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.

Ниже приводятся тексты SQL-выражений запросов.

  1. Запрос «Авансовые платежи».

SELECT Поставщики.[Код поставщика], Поставщики.Наименование, Авансы.Дата, 'Авансовый платеж' AS Выражение2, Авансы.Сумма

FROM Поставщики INNER JOIN Авансы ON Поставщики.[Код поставщика] = Авансы.Поставщик

ORDER BY Поставщики.[Код поставщика], Поставщики.Наименование, Авансы.Дата, 'Авансовый платеж';

  1. Запрос «Итоги по накладным».

SELECT Поставщики.[Код поставщика], Поставщики.Наименование, Накладные.Дата, 'Накладная № ' & [Номер документа] AS Выражение2, Sum([Поступление товара]![Цена за единицу]*[Поступление товара]![Количество]) AS Выражение1

FROM Поставщики INNER JOIN (Накладные INNER JOIN [Поступление товара] ON Накладные.[Номер документа] = [Поступление товара].Накладная) ON Поставщики.[Код поставщика] = Накладные.Поставщик

GROUP BY Поставщики.[Код поставщика], Поставщики.Наименование, Накладные.Дата, 'Накладная № ' & [Номер документа]

ORDER BY Поставщики.[Код поставщика], Поставщики.Наименование, Накладные.Дата, 'Накладная № ' & [Номер документа];

  1. Запрос «Итоги по оплате по накладным».

SELECT Поставщики.[Код поставщика], Поставщики.Наименование, Накладные.Дата, 'Оплата по накладной № ' & [Номер документа] AS Выражение2, Sum([Оплата по накладным]![Сумма]) AS Выражение1

FROM (Поставщики INNER JOIN Накладные ON Поставщики.[Код поставщика] = Накладные.Поставщик) INNER JOIN [Оплата по накладным] ON Накладные.[Номер документа] = [Оплата по накладным].Накладная


GROUP BY Поставщики.[Код поставщика], Поставщики.Наименование, Накладные.Дата, 'Оплата по накладной № ' & [Номер документа]

ORDER BY Поставщики.[Код поставщика], Поставщики.Наименование, Накладные.Дата, 'Оплата по накладной № ' & [Номер документа];

  1. Запрос «Итоги по оплате по счетам».

SELECT Поставщики.[Код поставщика], Поставщики.Наименование, [Счета на оплату].Дата, 'Оплата по счету № ' & [Номер документа] AS Выражение2, Sum(([Оплата по счетам]![Сумма])) AS Выражение1

FROM (Поставщики INNER JOIN [Счета на оплату] ON Поставщики.[Код поставщика] = [Счета на оплату].Поставщик) INNER JOIN [Оплата по счетам] ON [Счета на оплату].[Номер документа] = [Оплата по счетам].Счет

GROUP BY Поставщики.[Код поставщика], Поставщики.Наименование, [Счета на оплату].Дата, 'Оплата по счету № ' & [Номер документа]

ORDER BY Поставщики.[Код поставщика], Поставщики.Наименование, [Счета на оплату].Дата, 'Оплата по счету № ' & [Номер документа];

  1. Запрос «Итоги по счетам».

SELECT Поставщики.[Код поставщика], Поставщики.Наименование, [Счета на оплату].Дата, [Счета на оплату].[Номер документа], Sum(([Товары по счету]![Цена за единицу]*[Товары по счету]![Количество])) AS Выражение1

FROM (Поставщики INNER JOIN [Счета на оплату] ON Поставщики.[Код поставщика] = [Счета на оплату].Поставщик) INNER JOIN [Товары по счету] ON [Счета на оплату].[Номер документа] = [Товары по счету].Счет

GROUP BY Поставщики.[Код поставщика], Поставщики.Наименование, [Счета на оплату].Дата, [Счета на оплату].[Номер документа]

ORDER BY Поставщики.[Код поставщика], Поставщики.Наименование, [Счета на оплату].Дата, [Счета на оплату].[Номер документа];

  1. Запрос «Сальдо».

SELECT *

FROM [Итоги по накладным]

UNION SELECT *

FROM [Итоги по оплате по накладным]

UNION SELECT *

FROM [Итоги по оплате по счетам]

UNION SELECT *

FROM [Авансовые платежи];

      1. Формы.

Форма — это объект БД, предназначенный для ввода и отображения информации. Формы позволяют выполнить проверку корректности данных при вводе, проводить вычисления, обеспечивают доступ к данным в связанных таблицах с помощью подчиненных форм.

Ниже приводятся формы базы данных.

Рисунок 16. Главная форма «Взаиморасчеты с поставщиками»

Рисунок 17. Форма «Поставщики»

Форма создана с помощью Мастера. Источником информации для формы является таблица «Поставщики».


Рисунок 18. Форма «Товары»

Форма создана с помощью Мастера. Источником информации для формы является таблица «Товары».

Рисунок 19. Составная форма «Накладные»

Форма создана с помощью Мастера. Источником информации для основной формы является таблица «Накладные», для подчиненных форм – таблицы «Поступление товара» и «Оплата по накладным».

Рисунок 20. Составная форма «Счета на оплату»

Форма создана с помощью Мастера. Источником информации для основной формы является таблица «Счета на оплату», для подчиненных форм – таблицы «Товары по счету» и «Оплата по счетам».

Рисунок 21. Форма «Авансы»

Форма создана с помощью Мастера. Источником информации для формы является таблица «Авансы».

Рисунок 22. Форма «Карточка взаиморасчетов»

Форма создана в режиме конструктора. После заполнения периода, выбора поставщика и нажатия кнопки «Отчет» последовательно выполняются запросы «Итоги по накладным», «Итоги по оплате по накладным», «Итоги по счетам», «Итоги по оплате по счетам», функция VZR и составляется отчет «Карточка взаиморасчетов».

Рисунок 23. Форма «Сальдо взаиморасчетов»

Форма создана в режиме конструктора. После заполнения периода, выбора поставщика и нажатия кнопки «Отчет» последовательно выполняются запросы «Итоги по накладным», «Итоги по оплате по накладным», «Итоги по счетам», «Итоги по оплате по счетам», функция OB и составляется отчет «Сальдо взаиморасчетов».

      1. Отчеты.

Отчет – это форматированное представление данных, которое выводится на экран, в печать или файл.

Ниже приводятся фрагменты отчетов.

Рисунок 24. Отчет «Карточка взаиморасчетов»

Рисунок 25. Фрагмент отчета «Сальдо взаиморасчетов»

Контрольный пример реализации проекта и его описание.

Задача реализована на примере работы предприятия, выпускающего мясные полуфабрикаты. Контрольная информация дана за август2017 года.

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