Сумма задолженности заказчиков по оплате отгруженных изделий за заданный месяц

 

1. Анализ предметной области


.1 Описание предметной области и функции решаемых задач


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

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

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

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

в процессе планирования:

Отгрузки продукции в соответствии с договорами;

Поступления денежных средств за продажу продукции.

в процессе учета:

Фактически отгруженной продукции;

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

в процессе анализа:

Корректности договоров на поставку продукции;

Выполнения плана отгрузки;

Поступления предоплаты за заказанную продукцию.

Автоматизация указанных задач позволит оперативно вести учет доходов, контролировать их поступления, анализировать структуру платежных поступлений (по различным заказчикам) и тем, самым, улучшить качество принимаемых решений.


1.2 Перечень входных (первичных) документов


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


РеквизитНаименование заказчикаСумма отгрузкиСумма оплатыДолгДокументСписок заказчиковТоваро-транспортная накладнаяПлатежное поручениеВычислить

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

Данные о номенклатуре изделия, о складах, сведения о заказчиках являются условно-постоянной информацией. Эти данные отображаются в документах Список выпускаемых изделий, Справочник единиц измерения, Список складов и Список заказчиков. Они имеют табличную форму.


Список выпускаемых изделийкод изделиянаименование изделиякод единицы измеренияценаномер склада

Оперативная информация включает следующую информацию:


Рис. 1


Данные о планируемых отгрузках изделий заказчикам содержатся в документе «Договор»:

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

На основе договоров составляется финансовый план, и разрабатываются срока поставки и отгрузки изделий заказчикам. При отгрузке продукции заказчикам выписывается документ «Товарно-транспортная накладная», также состоящая из общей части и спецификации.

Рис .2


В анкетной части данного документа содержатся его номер и дата выписки, номер договора и сведения о заказчике. В табличной части ТТН приводятся данные об отгруженных по данной ТТН изделиях.

Оплата продукции заказчиком оформляется документом, называемым «Платежное поручение».


Рис. 3

В анкетной части ПП содержатся номер ПП, номер ТТН или номер счета, дата составления документа и сведения о плательщике. В табличной части ПП приводятся данные об оплачиваемых заказчиком по ПП изделиях.

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


Наименование реквизитов входных документовХарактеристика реквизитовТипМаксимальная длина знаковКод изделиятекстовый2Наименование изделиятекстовый10Код единицы измерения текстовый3Ценаденежный8Номер складатекстовый3Наименование единицы измерениятекстовый10Наименование складатекстовый10Код заказчикатекстовый5Наименование заказчикатекстовый20Адрестекстовый50Номер договоратекстовый5Месяцтекстовый2Количествочисловой5Номер ТТНтекстовый3Датадата/время10Номер ППтекстовый4

1.3 Ограничения предметной области по индивидуальной задаче


Предприятие выпускает несколько видов изделий, использует несколько единиц измерения

У разных изделий может быть одинаковая единица измерения

На предприятии имеется несколько складов

На одном складе может храниться несколько наименований готовых изделий

С одним заказчиком можно заключить несколько договоров

В каждом договоре может быть несколько наименований изделий

Каждая ТТН относится только к одному договору

Одной ТТН может соответствовать несколько ПП

Оплата должна быть произведена в текущем месяце заказа

В одном документе об оплате может быть несколько изделий

Все цены в рублях

2. Постановка задачи


.1 Организационно-экономическая сущность комплекса решаемых задач


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

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


2.2 Описание выходной информации


Выходную информацию представим в виде отчетной формы:

Суммы задолженности заказчиков за _______ месяц


Наименование заказчикаСумма отгрузкиСумма оплатыДолг Итого2.3 Описание входной информации


Входную информацию


№ п/пНаименование документаРеквизиты1Список изделийКод изделия Наименование изделия Код единицы измерения Цена Номер склада2Список заказчиковКод заказчика Наименование заказчика адрес3Справочник единиц измерениякод единицы измерения наименование единицы измерения4Список складовномер склада наименование склада5Список договоровномер договора код заказчика месяц отгрузки код изделия количество6Товарно-транспортная накладнаяномер ТТН дата отгрузки Номер договора Код изделия количество7Платежное поручениеНомер ТТН Номер ПП Дата оплаты Код изделия количество3. Разработка информационного обеспечения


3.1 Анализ входной информации предметной области и выделение информационных объектов


Реквизитный состав первичных документов:

Код изделия, наименование изделия, код единицы измерения, цена, номер склада, код заказчика, наименование заказчика, адрес, наименование единицы измерения, наименование склада, номер договора, месяц отгрузки, номер ТТН, дата отгрузки, количество, номер ПП, дата оплаты.

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

Например, реквизиты Код изделия и Наименование изделия отражают сведения об изделиях. Номер склада и Наименование склада - сведения о складах; код единицы измерения и наименование единицы измерения - сведения об используемых единицах измерения; код заказчика, наименование заказчика, адрес - сведения о заказчиках.

Среди реквизитов, описывающих сущность, можно выделить один или несколько реквизитов, которые однозначно идентифицируют (определяют) экземпляр сущности. Такой реквизит является ключом.

Между ключом и другими реквизитам существует функциональная зависимость. Например, существует функциональная зависимость между кодом изделия и его наименованием. По ключу можно отыскать любой нужный экземпляр среди других экземпляров сущности. Кандидатов в ключевые реквизиты в группе реквизитов может быть несколько. Из реквизитов Код изделия и Наименование изделия выберем в качестве ключа Код изделия, так как этот реквизит характеризуется компактным значением и удобен для обработки. В дальнейшем в других сущностях вместо наименования в качестве ключа будем выбирать код.

Данные договора на поставку продукции можно свести в таблицу:


№ договораКод заказчикаМесяц отгрузкиКод изделияКоличествоД1000020404100Д1010030303500530Д1020010301504200Д103003040110022004150Д1040020501150215Д105001040225Д1060020303450570

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

группа. Все общие сведения о договоре: номер договора и код заказчика представлены в таблице:


номер договоракод заказчикаД100002Д101003Д102001Д103003Д104002Д105001Д1060022 группа. Спецификация договора: номер документа, месяц отгрузки, код изделия и количество:


Номер договораМесяц отгрузкиКод изделияКоличествоД1000404100Д1010303500530Д1020301504200Д103040110022004150Д1040501150215Д105040225Д1060303450570

В качестве ключа для первой группы используется Номер договора. Для второй группы этого ключа недостаточно, так как он повторяется, поэтому используется составной ключ: Номер договора + Код изделия.

Аналогично представляем в виде двух групп документы: платежное поручение и товарно-транспортные накладные.

Факт поступление платежей из платежных поручений:


№ ТТН№ ППДата оплатыКод изделияКоличествоТ1П-0126.03.20040350П-0231.03.20040525Т2П-0326.04.2004015П-0427.04.20040210П-0525.04.200404110Т3П-0604.05.20040110025Т4П-0721.04.20040420П-0823.04.20040450Т5П-0902.04.20040210П-1024.04.20040210Т6П-1113.05.2004015П-1220.05.20040450П-1325.05.20040450Т7П-1421.03.200403450570

группа: Номер ТТН, номер ПП и дата оплаты представлены в таблице:

Платежи


Номер ТТННомер ППДата оплатыТ1П-0126.03.04П-0231.03.04Т2П-0326.04.04П-0427.04.04П-0525.04.04Т3П-0604.05.04Т4П-0721.04.04П-0823.04.04Т5П-0902.04.04П-1024.04.04Т6П-1113.05.04П-1220.05.04П-1325.05.04Т7П-1421.03.04

группа: Номер ТТН, Номер ПП, код изделия и количество представлены в таблице:


Спецификация ППНомер ТТННомер ППКод изделияКоличествоТ1П-010350П-020525Т2П-03015П-040210П-0504110Т3П-060110025Т4П-070420П-080450Т5П-090210П-100210Т6П-11015П-120450П-130450Т7П-1403450570

В качестве составного ключа для первой группы используются Номер ТТН + Номер ПП, так как один номер ТТН может соответствовать разным номерам ПП.

Для второй группы этого ключа недостаточно, так он повторяется. Поэтому используется составной ключ Номер ТТН + Номер ПП + Код Изделия.

Информацию товарно-транспортных накладных можно представить с виде следующей таблицы:


Номер ТТНДата отгрузкиНомер договораКод изделияКоличествоТ126.03.2004Д10103500530Т217.04.2004Д1030110022004150Т302.05.2004Д10401150215Т420.04.2004Д10004100Т501.04.2004Д1050225Т613.05.2004Д10201504200Т710.03.2004Д106034505701 группа: Номер ТТН, Дата отгрузки и номер договора представлены в таблице:


Список товарно-транспортных накладныхНомер ТТНДата отгрузкиНомер договора№_ТТНДАТА_ОТГР№_ДОГТ126.03.04Д101Т217.04.04Д103Т302.05.04Д104Т420.04.04Д100Т501.04.04Д105Т613.05.04Д102Т710.03.04Д106

группа: Номер ТТН, Код изделия и количество представлены в таблице:


Номер ТТНКод изделияКоличествоТ103500530Т20110022004150Т301150215Т404100Т50225Т601504200Т703450570

В качестве ключа для первой группы используется только Номер ТТН, так как одному номеру ТТН соответствует только один номер договора. Для второй группы этого ключа недостаточно, так как он повторяется и поэтому используется составной ключ Номер ТТН + Код Изделия

Покажем на схеме функционально-зависимые реквизиты неповторяющиеся в каждой группе:


РеквизитыИнформационные объектыИзделияЕдин измерСкладЗаказчикиДоговорыСДОГТТНСТТНППСППкод изделия наим изделия код един измер цена номер склада наим един измер наим склада код заказчика наим заказчика адрес номер договора месяц отгрузки количество Номер ТТН дата отгрузки Номер ПП дата оплаты

Жирной линией выделены ключевые реквизиты.

Для решения задачи выделены 10 групп с ключевыми реквизитами (ключи подчеркнуты):

ИЗДЕЛИЯ (код изделия, наименование изделия, код единицы измерения, цена, номер склада);

СПРАВОЧНИК ЕДИНИЦ ИЗМЕРЕНИЯ (код единицы измерения, номер склада);

СПИСОК СКЛАДОВ (номер склада, наименование склада);

СПИСОК ЗАКАЗЧИКОВ (код заказчика, наименование заказчик, адрес);

ДОГОВОРЫ (номер договора, код заказчика);

СПЕЦИФИКАЦИЯ ДОГОВОРОВ (номер договора, месяц отгрузки, код изделия, количество);

ТОВАРНО-ТРАНСПОТНЫЕ НАКЛАДНЫЕ (номер ТТН, дата отгрузки, номер договора);

СПЕЦИФИКАЦИЯ ТТН (Номер ТТН, код изделия, количество);

ПЛАТЕЖНЫЕ ПОРУЧЕНИЯ (Номер ТТН, номер ПП, Дата оплаты);

СПЕЦИФИКАЦИЯ ПП (Номер ТТН, номер ПП, код изделия, количество).


.2 Определение связей информационных объектов и построение информационно-логической модели


В результате анализа получили 10 информационных объектов или сущностей. Проведем попарный анализ между ними:

Список Изделий - Специализация ПП (Список Изделий - главный ИО, Специализация ПП - подчиненный ИО). Тип связи 1:М, так как один вид изделия может быть оплачен несколько раз, но один платеж соответствует только одному виду изделия. Связь между объектами осуществляется с помощью реквизита Код изделия.

Список Изделий - Специализация договора (Список Изделий - главный ИО, Специализация договора - подчиненный ИО). Тип связи 1:М, так как один вид изделия может быть заказан несколько раз, но один заказ соответствует одному виду изделия. Связь между этими объектам обеспечивается с помощью реквизита Код изделия.

Список Изделий - Специализация ТТН (Список Изделий - главный ИО, Специализация ТТН - подчиненный ИО). Тип связи 1:М, так как один вид изделия может быть отгружен несколько раз, но одна отгрузка соответствует определенному виду изделия. Связь между этими объектами осуществляется с помощью реквизита Код Изделия.

Справочник единиц измерения - Список Изделий (Справочник единиц измерения - главный ИО, Список Изделий - подчиненный ИО). Тип связи 1:М, так как одна единица измерения может быть одинаковой у нескольких видов изделий, но один вид изделия соответствует одной единице измерения. Связь между этими объектами обеспечивается с помощью реквизита Код единицы измерения.

Список складов - Список Изделий (Список складов - Главный ИО, Список Изделий - подчиненный ИО). Тип связи 1:М, так как на одном складе могут храниться несколько видов изделий, но одному виду изделия соответствует только один склад. Связь между этими объектами обеспечивается с помощью реквизита Номер склада.

Платежные поручения - Специализация ПП (Платежные поручения - главный ИО, Специализация ПП - подчиненный ИО). Тип связи 1:М, так как одному номеру платежного поручения соответствует оплата за несколько видов изделия, но оплата одно вида изделия относится к одному номеру платежного поручения. Связь между объектами обеспечивается реквизитами Номер ПП и Номер ТТН.

Список договоров - Спецификация договоров (Список договоров - главный ИО, Спецификация договоров - подчиненный ИО). Тип связи 1:М, так как по одному договору могут заказываться несколько видов изделия, но заказ одного вида изделия соответствует одному номеру договора. Связь между этими объектами обеспечивается с помощью реквизита Номер договора.

Список договоров - Товарно-транспортные накладные (Список договоров - главный ИО, Товарно-транспортные накладные - подчиненный ИО). Тип связи 1:М, так как по одному договору могут быть произведены несколько отгрузок, но одной отгрузке соответствует один договор. Связь между этими объектами обеспечивается с помощью реквизита Номер договора.

Список заказчиков - Список договоров (Список заказчиков - главный ИО, Список договоров - подчиненный ИО). Тип связи 1:М, так как один заказчик может заключать несколько договоров, но один договор соответствует одному заказчику. Связь между объектами обеспечивается с помощью реквизита Код заказчика.

Товарно-транспортные накладные - Спецификация ТТН (Товарно-транспортные накладные - главный ИО, Спецификация ТТН - подчиненный ИО). Тип связи 1:М, так как по одной накладной могут отгружаться несколько видов изделий, но одно изделие соответствует одной накладной. Связь между объектами обеспечивается с помощью реквизита Номер ТТН.

Товарно-транспортные накладные - Платежные поручения (Товарно-транспортные накладные - главный ИО, Платежные поручения - подчиненный ИО). Тип связи 1:М, так как одна накладная может оплачиваться несколькими платежными поручениями, но одно платежное поручение соответствует одной накладной. Связь между этими объектами обеспечивается с помощью реквизита Номер ТТН.

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

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

Правила построения ИЛМ связаны с упорядочением ИО по уровням иерархии. Такой способ изображения по уровням называют канонической формой ИЛМ. Рассмотрим формальный способ установление уровней иерархии. Этот способ особенно необходим в данной задаче, так как количество ИО велико.

Способ основан на использовании матрицы смежности - квадратной матрицы (количество строк и столбцов равно числу ИО). Составим исходную матрицу смежности для задачи:


изделиясправочникскладызаказчикидоговорСДОГТТНСТТНППСППизделия 1 1 1справочник1 склады1 заказчики 1 договор 11 СДОГ ТТН 11 СТТН ПП 1СПП Сумма по столбцу2000121212

Значение «1» в матрице смежности записывается в том случае, если между ИО в строке и ИО в столбце имеется связь один-ко-многим. Мы используем установленные ранее связи.

Нулевые суммы получились по столбцам Справочник, Склады и Заказчики. Если сумма по столбцу равна нулю, то столбец и строка с таким же именем вычеркиваются (выделяются серым цветом), а оставшиеся строки и столбцы образуют новую матрицу смежности. Вычеркнутые ИО выносятся на нулевой уровень иерархии. В данной задаче нулевые суммы получились в столбцах Справочник, Склады и заказчики. Следовательно, они определяют нулевой уровень.

После этого получится следующая матрица:


изделиядоговорСДОГТТНСТТНППСППизделия 1 1 1договор 11 СДОГ ТТН 11 СТТН ПП 1СПП Сумма столбца0021212

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


СДОГТТНСТТНППСППСДОГ ТТН 11 СТТН ПП 1СПП Сумма по столбцу00111

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


СТТНППСППСТТН ПП 1СПП Сумма по столбцу001

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


СППСПП Сумма по столбцу0

Спецификация платежей располагается на четвертом (последнем) уровне.

На рисунке показана каноническая информационно-логическая модель (ИЛМ).


Рис. 4


3.3 Определение логической структуры базы данных


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

Связи между таблицами осуществляются посредством общих реквизитов (ключевых или неключевых). Логическая структура РБД имеет следующий вид:


Рис. 5


3.4 Разработка физической структуры базы данных


Физическое моделирование БД - это способ размещения информации на машинных печатных носителях. Правила перехода от логической реляционной структуры к физической заключается в следующем:

Каждая реляционная таблица превращается в таблицу

Каждый столбец таблицы - в поле таблицы

Каждая строка таблицы - в запись таблицы

В процессе физического проектирования РБД необходимо:

Присвоить имена таблицам

Присвоить имена полям таблиц

Соответствие документов и таблиц БД:


Имя документаИмя таблицы БДСписок изделийИзделияСписок заказчиковЗаказчик Справочник единиц измерения Справочник единиц измеренияСписок складовСкладыСписок договоровДоговорСпец-я договоровТоварно-транспортные накладныеТТНСпец-я ТТНПлатежные порученияППСпец-я ПП

3.5 Контрольный пример


Заполнить таблицы исходными данными контрольного примера.

Контрольный пример необходим для проверки правильности решения задачи на персональном компьютере.

Для данной задачи таблицы выглядят так:


Изделиякод изделиянаименование изделиякод единицы ценаномер складаКОД_ИЗДНАИМ_ИЗДКОД_ЕД_ ИЗМЦЕНА№_СКЛАДА01бумага0310010102степлер023010303скрепки011510304ручки02510205кнопки0110103

Заказчикикод заказчиканаименование заказчикаАдресКОД_ЗАКНАИМ_ЗАКАДРЕС001Букварьпр. Большевиков, д.11002Школьникпр. Испытателей, д.104 к.2003Буквоедул. Ефимова, д. 56Справочник единиц измерениякод единицы измерениянаименование единицы измеренияКОД_ЕД_ИЗМНАИМ_ЕД_ИЗМ01коробка02штука03пачкаСпецификация ТТННомер ТТНКод изделияКоличество№_ТТНКОД_ИЗДКОЛ_ВОТ103500530Т20110022004150Т301150215Т404100Т50225Т601504200Т703450570Спецификация договораНомер договораМесяц отгрузкиКод изделияКоличество№_ДОГМЕСЯЦ_ОТГРКОД_ИЗДКОЛ_ВОД1000404100Д1010303500530Д1020301504200Д103040110022004150Д1040501150215Д105040225Д1060303450570

ТТННомер ТТНДата отгрузкиНомер договора№_ТТНДАТА_ОТГР№_ДОГТ126.03.04Д101Т217.04.04Д103Т302.05.04Д104Т420.04.04Д100Т501.04.04Д105Т613.05.04Д102Т710.03.04Д106Спецификация ППНомер ТТННомер ППКод изделияКоличество№_ТТН№_ППКОД_ИЗДКОЛ_ВОТ1П-010350П-020525Т2П-03015П-040210П-0504110Т3П-060110025Т4П-070420П-080450Т5П-090210П-100210Т6П-11015П-120450П-130450Т7П-1403450570ППНомер ТТННомер ППДата оплаты№_ТТН№_ППДАТА_ОПЛТ1П-0126.03.04П-0231.03.04Т2П-0326.04.04П-0427.04.04П-0525.04.04Т3П-0604.05.04Т4П-0721.04.04П-0823.04.04Т5П-0902.04.04П-1024.04.04Т6П-1113.05.04П-1220.05.04П-1325.05.04Т7П-1421.03.04

По проведенным исходным данным выполним вручную решение поставленной задачи:


Рис. 6


Отберем товарно-транспортные накладные и платежи на заданный месяц (за четвертый месяц). По товарно-транспортным накладным вычислим общую сумму плановой отгрузки изделий для каждого предприятия. По платежным поручениям вычисляем общие суммы оплаты отгрузки изделий для каждого заказчика. Найдем долг каждого заказчика.

4. Создание базы данных


4.1 Структура таблиц


Создание таблиц БД возможно несколькими способами:

Создание структуры таблиц в режиме конструктора,

Создание таблицы путем ввода данных,

Создание таблицы с помощью мастера таблиц.

В окне Курсовик: База данных на панели объектов выбрать Таблицы. Нажать кнопку. Создать на панели инструментов и выбрать в окне Новая таблица строку Конструктор (можно воспользоваться ярлыком Создание таблицы в режиме конструктора).

Описание структуры таблиц базы данных Курсовик представлено в следующей таблице:


Имя таблицыИмя поляКлючТип данныхРазмер, формат поляИзделияКОД_ИЗДДаТекстовый2НАИМ_ИЗД-Текстовый10КОД_ЕД_ИЗМ-Текстовый3ЦЕНА-Денежный №_СКЛАДА-Текстовый7Склады№_СКЛАДАДаТекстовый3НАИМ_СКЛАДА-Текстовый10Справочник единиц измеренияКОД_ЕД_ИЗМДаТекстовый3НАИМ_ЕД_ИЗМ-Текстовый10ЗаказчикКОД_ЗАКДаТекстовый5НАИМ_ЗАК-Текстовый20АДРЕС-Текстовый50Договор№_ДОГДаТекстовый5КОД_ЗАК-Текстовый5Спец-я договоров№_ДОГДаТекстовый5МЕС_ОТГ-Текстовый2КОД_ИЗДДаТекстовый2КОЛ-Числовой ПП№_ТТНДаТекстовый3№_ППДаТекстовый4ДАТА_ОПЛАТЫ-Дата/времяКраткий форматСпец-я ПП№_ТТНДаТекстовый3№_ППДаТекстовый4КОД_ИЗДДаТекстовый2КОЛ-Числовой ТТН№_ТТНДаТекстовый3ДАТА_ОТГ-Дата/времяКраткий формат№_ДОГ-Текстовый5Спец-я ТТН№_ТТНДаТекстовый3КОД_ИЗДДаТекстовый2КОЛ-Числовой

В окне ИЗДЕЛИЯ: таблица создать структуру таблицы ИЗДЕЛИЯ, согласно приведенному описанию:


Рис. 7


При создании структуры таблиц в верхней части окна задаются имена полей, тип данных, отмечаются ключевые поля. В нижней части окна в области под названием Свойства поля во вкладке Общие задаются свойства активного окна. В столбце Имя поля указываются имена полей таблицы, а в столбце Тип данных - тип поля (выбирается из раскрывшегося списка).

Для данной работы необходимы следующие типы данных: текстовые, числовые, денежные, дата/время.

Текстовый тип данных применяется для тех полей, которые не участвуют в расчетах; это будут почти все поля таблиц данной курсовой работы - КОД_ИЗД, НАИМ_ИЗД, КОД_ЕД_ИЗМ, №_СКЛАДА, НАИМ_СКЛАДА, НАИМ_ЕД_ИЗМ, КОД_ЗАК, НАИМ_ЗАК, АДРЕС, №_ДОГ, МЕС_ОТГ, №_ТТН, №_ПП.

Числовой тип задают числовым данным: КОЛ.

Денежный тип - денежным данным, в данном случае - ЦЕНА.

Тип дата/время - используется для формирования дат - ДАТА_ОПЛАТЫ, ДАТА_ОТГ.

Размер поля устанавливается для каждого типа данных и определяется максимальным значением этого поля в документе. Для текстового по умолчанию устанавливается автоматически равным 50 байт, для числового поля размер выбирается из списка: Байт, Целое (2 байта), С плавающей точкой (4 байта).

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

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

Условие на значение определяет требования к вводимым данным. Например, >0, это условие не позволит ввести число <=0. Во время ввода данных осуществляется контроль.

Обязательное поле - ключевое поле всегда обязательное, если указывается в этом поле Да, то пустые значения не допускаются.

Индексированное поле - индексы позволяют ускорить поиск записей в больших таблицах, по номеру записи осуществляется прямой доступ к искомой записи в таблице. Для свойства Индексированное поле при наличии простого ключа устанавливается значение Да (Совпадения не допускаются).

Пример - КОД_ЗАК и №_ДОГ в таблицах Заказчик и Договор. Для составных ключей из списка выбирается Да (Допускаются совпадения). Пример - таблицы Спец-я ДОГ, Спец-я ТТН.

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

С учетом вышеперечисленных правил, так же как и таблица ИЗДЕЛИЯ, создаются все остальные таблицы.


4.2 Схема данных


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

Для создания схемы данных нажать кнопку Схема данных на панели инструментов или выполнить команду Сервис/Схема данных. Затем в окне
Добавление таблицы открыть на панели объектов Таблицы, выделить ИЗДЕЛИЯ, нажать кнопку Добавить; выделить и добавить таблицы СПРАВОЧНИК ЕДИНИЦ ИЗМЕРЕНИЯ, СКЛАДЫ, ЗАКАЗЧИК, ДОГОВОР, СПЕЦ-Я ДОГОВОРОВ, ТТН, СПЕЦ-Я ТТН, ПП, СПЕЦ-Я ПП. Закрыть окно Добавление таблицы. На экране появятся все выбранные таблицы со списками полей. Таблицы можно перемещать с помощью левой кнопки мыши. В главной таблице выбрать поле, по которому устанавливается связь. Затем при нажатой кнопке мыши соединить это поле с соответствующим полем подчиненной таблицы.
При установлении связи между таблицами ИЗДЕЛИЯ и СПРАВОЧНИК ЕДИНИЦ ИЗМЕРЕНИЯ связь осуществляется по полю КОД_ЕД_ИЗМ. После того как намечена очередная связь между таблицами, появляется окно Изменение связей, в котором должен быть определен тип отношения один к многим.

база данная кнопочный форма

Рис. 8


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

При установке флажка Каскадное обновление связанных полей изменение значения в ключевом поле главной таблицы приводит к автоматическому обновлению соответствующих значений во всех связанных записях. Например, при изменении значения кода изделия в таблице ИЗДЕЛИЯ будут изменены значения этого кода изделия в таблицах СПЕЦ-Я ДОГОВОРОВ, СПЕЦ-Я ПП, СПЕЦ-Я ТТН.

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

Устанавливаем связи между таблицами ИЗДЕЛИЕ - СПРАВОЧНИК ЕДИНИЦ ИЗМЕРЕНИЯ, ИЗДЕЛИЕ - СПЕЦ-Я ДОГОВОРА, ИЗДЕЛИЕ - СПЕЦ-Я ПП, ИЗДЕЛИЯ - СКЛАДЫ, ЗАКАЗЧИК - ДОГОВОР, ДОГОВОР - СПЕЦ-Я ДОГОВОРА, ДОГОВОР - ТТН, ТТН - СПЕЦ-Я ТТН, ТТН - ПП, ПП - СПЕЦ-Я ПП, устанавливаем флажки Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей. Для всех связей должен быть установлен тип отношения один к многим.

Между таблицами ПЛАТЕЖИ И СПЕЙ-Я ПЛАТЕЖЕЙ связь строится по составному ключу №_ТТН + №_ПП. Для выделения составного ключа нужно нажать клавишу Ctrl и, не отпуская ее, отметить кнопкой мыши поля №_ТТН и №_ПП таблицы ПЛАТЕЖИ. Перетащить выделенные поля на соответствующие поля таблицы СПЕЦ_Я ПЛАТЕЖЕЙ.

После того, как все связи установлены, схема данных имеет вид:


Рис. 9

4.3 Пользовательские формы


Однотабличные формы

Рассмотрим пример создания однотабличной формы.

Последовательность действий:

В окне Курсовик: база данных выбрать на панели объектов тип объектов Формы, нажать кнопку Создать формы с помощью мастера.

В открывшемся окне Создание форм выбрать из списка таблицу ИЗДЕЛИЯ.

В Доступные поля выбрать КОД_ИЗД, НАИМ_ИЗД, КОД_ЕД_ИЗМ, ЦЕНА, №_СКЛАДА, нажав кнопку >> . Эти поля будут перемещены в окно Выбранные поля. Нажать кнопку Далее.

В следующем окне Создание форм выбрать из списка любой внешний вид формы. Нажать кнопку Далее.

Выбрать из списка любой стиль. Нажать кнопку Далее >.

В следующем окне можно задать имя для формы. По умолчанию имя формы совпадает с именем таблицы ИЗДЕЛИЯ, но можно ввести другое имя. Ниже, предлагается выбрать Дальнейшие действия: открытие формы для просмотра и ввода данных или изменение макета формы. Для завершения создания формы нажать кнопку Готово.

Закрыть форму. В списке форм окна Курсовик: база данных появится Список изделий.


Рис. 10

Далее необходимо аналогично создать однотабличные формы Список Заказчиков, Список складов, Справочник единиц измерения. Заполним данные формы данными из таблиц:


Изделиякод изделиянаименование изделиякод единицы ценаномер складаКОД_ИЗДНАИМ_ИЗДКОД_ЕД_ ИЗМЦЕНА№_СКЛАДА01бумага0310010102степлер023010303скрепки011510304ручки02510205кнопки0110103

Складыномер складанаименование склада№_складаНАИМ_СКЛАДА101Чайка102Иволга103ДятелЗаказчикикод заказчиканаименование заказчикаАдресКОД_ЗАКНАИМ_ЗАКАДРЕС001Букварьпр. Большевиков, д.11002Школьникпр. Испытателей, д.104 к.2003Буквоедул. Ефимова, д. 56Справочник единиц измерениякод единицы измерениянаименование единицы измеренияКОД_ЕД_ИЗМНАИМ_ЕД_ИЗМ01коробка02штука03пачкаПри заполнении форм данными необходимо придерживаться определенных правил последовательности их заполнения в соответствии со схемой данных:

Независимо могут заполняться те формы (таблицы), которые не подчинены каким-либо другим таблицам в одно-многозначных связях.

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

Многотабличная форма

На основе связанных таблиц следует создать составную форму, для этого требуется выполнить следующую последовательность действий:

Выбрать на панели объектов тип Формы, нажать кнопку Создать формы с помощью мастера.

В окне Создание форм выбрать из списка таблицу ДОГОВОР, а из нее поля №_ДОГ, КОД_ЗАК, затем выбрать таблицу СПЕЦ-Я ДОГОВОРОВ и перенести поля МЕС_ОТГ, КОД_ИЗД, КОЛ. Нажать кнопку Далее >. В следующем окне Создание форм проверить правильность размещения выбранных полей, установку переключателя в положение Подчиненные формы, нажать кнопку Далее >.

Выбрать вид подчиненной формы (поставить флажок). Нажать кнопку Далее > и в следующем окне выбрать стиль. Перейти к следующему окну.

В последнем окне Создание форм предлагается задать форме имя ДОГОВОР. Проверить наличие флажка Открытие формы для просмотра и ввода данных. Нажать Готово.

Появилась составная форма ДОГОВОР, в которой отражены объединенные данные из таблиц ДОГОВОР и СПЕЦ-Я ДОГ.

Рис. 11


Корректировать формы можно с помощью Конструктора форм.


.4 Ввод данных


Для ввода данных в таблицы используются формы.

После ввода данных через формы будут заполнены и таблицы:

Изделия



Договоры


Спец-я договоров



Заказчики



Склады



Справочник единиц измерения


Платежное поручение



Спец-я Платежных поручений



Товарно-транспортные накладные


Спец-я товарно-транспортных накладных



Исходные данные можно ввести непосредственно в таблицы.

5. Алгоритм решения задачи


Перед решением нашей задачи составим подробное описание последовательности действий (алгоритм) для получения выходных документов.

Алгоритм можно представить в виде словесного описания или блок-схемы. Составим алгоритм в виде блок-схемы, которая выглядит так:


Рис. 12

6. Создание запросов


Для обработки данных в СУБД используются запросы. Запрос можно построить на основе одной или нескольких таблиц и запросов.

Для конечного запроса требуется создать несколько запросов в соответствии с блок-схемой алгоритма решения задачи.

В окне Курсовик: база данных на панели объектов выбрать Запросы, нажать кнопку Создание запроса в режиме конструктора.

Шаг 1.

Рассчитать суммарные планы выплат заказчиков по товарно-транспортным накладным выбрать суммы оплаты на заданный месяц.

В окне Курсовик: База данных на панели объектов выбрать Запросы, нажать кнопку Создание запросы в режиме конструктора. В появившемся окне Добавление таблицы выбираем необходимые нам таблицы Изделия, Заказчик, Договоры, ТТН, Спец-я ТТН. Закрываем окно Добавление таблицы. В верхней части окна запроса отображены списки полей выбранных таблиц, а в нижней находится область для формирования запроса (бланк запроса). Так как запрос создается на основе таблиц, в окне запроса отображаются связи, установленные в схеме данных.

Двойным щелчком по любому полю таблицы его можно поместить в бланк запроса. Помещаем в бланк запроса поле НАИМ_ЗАК. Все данные группируются по этому полю, поэтому в строке Групповая операция должно быть установлено значение Группировка (команда Вид \ Групповые операции). Далее выполняем расчет суммы оплаты заказчиков по товарно-транспортным накладным.

Чтобы выполнить вычисление, надо установить курсор в строку Поле и нажать кнопку Построить на панели инструментов. Откроется окно Построителя выражений.

Выражение для вычисления формируется в верхней части окна. Перед выражением задать имя нового поля Сумма Оплаты:. Далее в нижней части окна слева выбираем объект, входящий в выражение, то есть папку Таблицы. Из списка выбираем таблицу Спец-я ТТН, ищем нужное поле КОЛ, вставляем его в выражение. Затем ставим знак умножения и по принципу, описанному выше, вставляем второй множитель. Мы получаем:


Рис. 13


Затем надо выбрать оплату за заданный месяц. Для этого устанавливаем курсор в поле месяца и вызываем Построитель выражений. Выбрать в папке Функции/Встроенные функции категорию Дата/время, а затем функцию Month. Нажать кнопку Вставить. Выделить значение «number». Выбрать в папке Таблицы таблицу ТТН, в окне полей таблицы - поле ДАТА_ОТГР и нажать кнопку Вставить. Получится выражение Month:([ТТН]![ДАТА_ОТГР]).

Рис. 14


Нажать кнопку OK. Теперь заполняем строку Условие отбора для поля Месяц. Введем параметр [Введите месяц:] (Используем правило, что текст параметра не должен совпадать с именем поля).

Теперь щелкаем по значку вывода на экран (V) (убрать значок), так как в выводе на экран поля месяца мы не нуждаемся.

В итоге наш запрос должен принять вид:


Рис. 15

После заполнения бланка выполняем запрос с помощью кнопки! (Запуск) на панели инструментов или команды Запрос/Запуск.

Шаг 2.

По такому же принципу создаем запрос на основе таблиц Изделия, Договор, Заказчики, ТТН, ПП, Спец-я ПП.

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


Рис. 16


Шаг 3.

Создаем запрос Долг на основе созданных ранее запросов. Бланк запроса имеет вид:


Рис. 17

7. Создание отчетов


7.1 Получение отчета с помощью мастера отчетов

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

Заголовка отчета,

Заголовков полей отчета,

Значений полей, входящих в отчет,

Значений вычисляемых реквизитов.

При конструировании макета отчета имеется возможность группировать данные по нескольким уровням. Для каждого уровня могут вычисляться итоги с поясняющим текстом. Отчет может быть создан с помощью Мастера отчетов или в режиме Конструктора отчетов. Проще создать отчет с помощью Мастера отчетов, а затем доработать его в режиме Конструктора отчетов.

На основе запроса Долг создадим отчет, для этого необходимо:

В окне Курсовик: база данных выбрать на панели объект Отчеты, щелкнуть по ярлыку Создание отчета с помощью мастера.

В диалоговом окне Создание отчетов в окне Таблицы и запросы в качестве источника выбрать из списка запрос Долг. В окне Доступные поля выбрать все поля для включения в отчет (кнопка >>). Для выбора отдельных полей служит кнопка >. Нажать кнопку Далее > .

В следующих диалоговых окнах не добавлять уровни группировки и не задавать порядок сортировки (по умолчанию принят порядок сортировки По возрастанию). Нажать кнопку Далее > .

Установить переключатель для вида макета отчета - таблица и ориентацию книжная. Установить флажок на Настроить ширину полей для размещения на одной странице. Нажать кнопку Далее>.

Из предлагаемого списка выбрать стиль заголовка. Нажать кнопку Далее>.

В следующем окне задается имя отчета. Готово .

Сумма задолженностей заказчиков на 4 месяц будет выглядеть следующим образом:


Рис. 18


Этот отчет имеет некоторые недостатки. Его можно откорректировать с помощью конструктора отчетов.


7.2 Корректировка макета отчета с помощью Конструктора отчетов


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

Рис. 19


В результате отчет по задолженностям заказчиков за 4 месяц примет вид:


Рис. 20


7.3 Вывод отчета на печать


Вывод отчета на печать можно выполнить с помощью кнопки Печать на панели инструментов или команды Файл/Печать.

Создание кнопочной формы с помощью диспетчера кнопочных форм.

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

Все страницы КФ представлены двумя уровнями.

уровень - главная страница кнопочной формы Курсовик.

уровень - страницы Добавление данных в формы, Редактирование данных, Открытие отчетов.

Порядок создания кнопочной формы с помощью Диспетчера кнопочных форм (ДКФ):

Открыть базу данных Курсовик и выбрать в меню Сервис/ Служебные программы/ Диспетчер кнопочных форм

Подтвердить создание кнопочной формы - Да.

В окне ДКФ создать список всех страниц кнопочной формы разных уровней.


Рис. 21

8. Создание списка страниц кнопочной формы


В окне ДКФ всегда существует главная страница кнопочной формы - Main Switchboard.

С помощью кнопки Создать сформировать последовательно список страниц кнопочной формы:

Редактирование данных,

Добавление данных в формы,

Открытие отчетов.


Рис. 22


Содержание главной страницы кнопочной формы (первый уровень)

Для создания содержания главной страницы кнопочной формы необходимо в окне ДКФ выделить ее в списке и нажать кнопку Изменить. В окне Изменение страницы кнопочной формы создать ее элементы с помощью кнопки Создать. Для создания элемента ДОБАВЛЕНИЕ ДАННЫХ нажать кнопку Создать и в окне Изменение элемента кнопочной формы получить


Рис. 23

Нажать ОК.

По аналогии создать элементы РЕДАКТИРОВАНИЕ ДАННЫХ (перейти к кнопочной форме Редактирование данных) и ПРОСМОТР ОТЧЕТОВ (перейти к кнопочной форме Открытие отчетов).

При создании элемента ИЗМЕНЕНИЕ КНОПОЧНОЙ ФОРМЫ выбрать команду Конструктор приложения. При создании элемента ВЫХОД выбрать команду Выйти из приложения.


Рис. 24


Нажать ОК.

В результате в окне Изменение страницы кнопочной формы созданы все элементы для главной страницы кнопочной формы Main Switchboard.


Рис. 25


Нажать ОК.

Закрыть все окна, кроме ДКФ.

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

Для создания содержания страницы Редактирование данных (второй уровень) выделить ее и нажать кнопку Изменить.

В окне Изменение страницы кнопочной формы создать элемент для данной кнопочной формы с помощью кнопки Создать. Сформировать в окне Изменение элементов кнопочной формы элемент для формы ИЗДЕЛИЯ.


Рис. 26


По аналогии создаются элементы ФОРМА ЗАКАЗЧИКИ и ФОРМА ЕДИНИЦЫ ИЗМЕРЕНИЯ. Для создания элемента ВОЗВРАТ:


Рис. 27


Нажать ОК.

В окне Изменение страницы кнопочной формы отображены все созданные элементы страницы кнпочной формы Редактирование форм:

Рис. 28


Для создания содержания страницы кнопочной формы (второй уровень) выделить ее в окне ДКФ и создать все элементы, используя команду Открыть форму для добавления.


Рис. 29


Для создания содержания страницы Открытие отчетов необходимо получить:


Рис. 30

Аналогично ВОЗВРАТ и в результате:


Рис. 31


С помощью кнопки Закрыть выйти из Диспетчера кнопочных форм.

В окне БД перейти к объектам Формы. В списке добавилось название новой формы - Main Switchboard. В списке Таблиц добавилась новая таблица - Switchboard Item, в которой отображена структура созданной кнопочной формы. Теперь для изменения, добавления новых записей, изменения самой КФ служат функциональные кнопки. Например, чтобы изменить название КФ следует нажать кнопку ИЗМЕНЕНИЕ КНОПОЧНОЙ ФОРМЫ, в появившемся окне ДКФ выделить Main Switchboard, нажать кнопку Изменить и сделать заданное изменение в окне Название кнопочной формы.

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

Рис. 32



1. Анализ предметной области .1 Описание предметной области и функции решаемых задач В качестве примера рассматривается упрощенный вариант деятель

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ