Ручной учет товаров на складе — это путь, полный подводных камней. Он неизбежно ведет к ошибкам в подсчетах, пересортице, потерям времени и, как следствие, денег. В современном мире ключевым решением этой проблемы стали информационные технологии, а именно — базы данных. Они позволяют организованно хранить и обрабатывать огромные объемы информации, превращая хаос в строгий порядок. Система управления базами данных (СУБД) — это тот самый инструмент, который позволяет вводить, сортировать, фильтровать и анализировать данные.
Для студента, работающего над дипломным проектом, выбор правильного инструмента критически важен. И здесь Microsoft Access становится практически идеальным кандидатом. Почему?
- Доступность: Access входит в стандартный пакет Microsoft Office, который установлен на большинстве компьютеров.
- Наглядность: Он позволяет визуально проектировать таблицы, связи, формы и отчеты, что помогает понять фундаментальные принципы работы реляционных баз данных.
- Баланс сложности: Access достаточно мощен для создания полнофункциональной системы, но при этом не требует глубоких знаний в программировании, как более сложные СУБД.
Цель данной работы — не просто описать теорию, а предоставить пошаговое руководство по созданию с нуля реальной информационной системы для складского учета. Мы разработаем учебную, но принципиально корректную базу данных, которая может стать надежной основой для успешной защиты вашего дипломного проекта. Теперь, когда мы определили актуальность и выбрали инструмент, пора перейти от теории к практике и спроектировать архитектуру нашей будущей системы.
Проектируем архитектуру будущей системы, или Мыслим как архитектор
Любой серьезный проект, будь то здание или база данных, начинается не с «заливки фундамента», а с продуманного чертежа. Прежде чем открыть Access, мы должны взять ручку и бумагу (или открыть текстовый редактор) и определить, из каких «кирпичиков» будет состоять наша система. В мире баз данных эти кирпичики называются сущностями и атрибутами.
- Сущность — это ключевой объект, информацию о котором мы хотим хранить. Спросите себя: «Что я буду отслеживать на складе?».
- Атрибут — это конкретная характеристика сущности. Спросите себя: «Что я хочу знать об этом объекте?».
Применительно к нашему складу, ключевыми сущностями будут:
- Товары: Номенклатура, которую мы храним, продаем и закупаем.
- Поставщики: Компании или лица, у которых мы закупаем товары.
- Движение Товаров: Это не физический объект, а сущность-операция, которая фиксирует все факты прихода и расхода товаров. Именно она — сердце нашей системы учета.
Теперь определим для них атрибуты (которые в Access станут полями таблиц). Например, для сущности «Товары» базовый набор атрибутов выглядит так:
Таблица «Товары»:
— Артикул (уникальный код товара)
— Наименование (полное название)
— Единица измерения (шт, кг, л)
— Цена закупки (по какой цене мы покупаем)
— Цена продажи (по какой цене продаем)
Проделав такую работу для всех сущностей, мы получаем четкий и понятный чертеж. Имея на руках эту схему, мы можем приступать к «строительству» — созданию фундамента нашей базы данных, то есть таблиц.
Возводим фундамент данных, то есть создаем таблицы в Access
На этом этапе мы переносим наш архитектурный план в реальную среду Microsoft Access. Таблицы — это основа, в которой будут физически храниться все наши данные. Создадим их последовательно, уделяя особое внимание типам данных — от этого зависит корректность работы всей системы.
Для создания таблицы откройте Access, перейдите на вкладку Создание и выберите режим Конструктор таблиц. Теперь для каждой из наших сущностей создадим свою таблицу.
1. Таблица «Товары»
Это справочник всей нашей номенклатуры. Каждое поле должно иметь правильный тип данных:
ID_Товара
: Тип данных «Счетчик». Это будет наш первичный ключ — уникальный идентификатор записи, который Access присваивает автоматически. Он гарантирует, что у нас не будет двух абсолютно одинаковых товаров.Артикул
: Тип данных «Короткий текст». Здесь будут храниться уникальные коды товаров.Наименование
: Тип данных «Длинный текст», чтобы поместилось любое название.ЕдиницаИзмерения
: Тип данных «Короткий текст» (например, «шт.», «кг»).ЦенаЗакупки
: Тип данных «Денежный». Критически важно использовать именно его, а не «Числовой», чтобы избежать ошибок округления при финансовых расчетах.ЦенаПродажи
: Тип данных «Денежный».
2. Таблица «Поставщики»
Справочник контрагентов, у которых мы закупаем товар. Структура аналогична:
ID_Поставщика
: Тип данных «Счетчик» (первичный ключ).НазваниеОрганизации
: «Короткий текст».КонтактноеЛицо
: «Короткий текст».Телефон
: «Короткий текст».
3. Таблица «ДвижениеТоваров» (ключевая таблица)
Здесь будут фиксироваться все операции: приход и расход. Она свяжет все воедино.
ID_Операции
: «Счетчик» (первичный ключ).ДатаОперации
: Тип данных «Дата/время».ТипОперации
: «Короткий текст» (будем писать «Приход» или «Расход»).ID_Товара
: Тип данных «Числовой». Это поле будет внешним ключом, оно будет ссылаться на ID_Товара из таблицы «Товары».Количество
: Тип данных «Числовой».ID_Поставщика
: Тип данных «Числовой» (внешний ключ, ссылается на таблицу «Поставщики»).
Наши таблицы существуют, но пока это лишь изолированные наборы данных. Чтобы система стала единым целым и обеспечивала целостность информации, нам нужно построить между ними логические мосты.
Строим логические мосты, или Как правильно связать таблицы
Созданные нами таблицы пока что «не знают» о существовании друг друга. Наша задача — объяснить системе, как они соотносятся. Этот процесс называется созданием связей. Связи защищают базу от «логических ошибок»: например, они не позволят оформить приход несуществующего товара или отгрузку от несуществующего поставщика.
Ключевой тип связи в нашей системе — «один-ко-многим». Что это значит на простом примере?
Один Поставщик может фигурировать во многих операциях поставки. Один Товар может много раз поступать на склад и много раз отгружаться.
Чтобы установить эти связи, выполните следующие шаги:
- Перейдите на вкладку ленты Работа с базами данных и нажмите кнопку Схема данных.
- Добавьте в окно схемы все созданные вами таблицы («Товары», «Поставщики», «ДвижениеТоваров»).
- Теперь «протяните» связи. Зажмите левой кнопкой мыши поле
ID_Товара
из таблицы «Товары» и перетащите его на полеID_Товара
в таблице «ДвижениеТоваров». - В появившемся окне «Изменение связей» установите галочку Обеспечение целостности данных. Это самый важный шаг! Именно эта опция физически запретит создавать операции с «товарами-призраками». Нажмите «Создать».
- Повторите ту же операцию для пары таблиц «Поставщики» и «ДвижениеТоваров», связав их по полям
ID_Поставщика
.
После этих действий ваша схема данных наглядно покажет логическую структуру всей системы. У нас есть прочный и логически связанный фундамент. Пора заставить его работать и извлекать нужную информацию. Для этого в Access существует мощнейший инструмент — запросы.
Запускаем двигатель нашей системы через разработку запросов
Если таблицы — это «хранилище» данных, то запросы — это «мозг» и «двигатель» нашей системы. Именно запросы позволяют задавать базе данных сложные вопросы, фильтровать информацию, проводить вычисления и готовить данные для отображения в отчетах. Для дипломной работы необходимо освоить несколько ключевых типов запросов.
Все запросы создаются на вкладке Создание -> Конструктор запросов.
1. Запрос на выборку: «Покажи все товары категории X»
Это самый простой тип. Он просто отбирает данные по заданному критерию. Например, чтобы выбрать все операции прихода, нужно добавить в конструктор таблицу «ДвижениеТоваров» и в строке «Условие отбора» для поля `ТипОперации` написать «Приход».
2. Запрос с параметром: «Покажи движение по конкретному товару»
Это более интерактивный вариант. Он задает вопрос пользователю перед выполнением. Чтобы его создать, в той же строке «Условие отбора» для поля (например, `ID_Товара`) нужно написать текст-приглашение в квадратных скобках. Например: [Введите Артикул товара]
. При запуске такого запроса Access покажет окошко, в котором пользователь сможет ввести нужный артикул.
3. Запрос на вычисление: «Рассчитай актуальные остатки на складе»
Это самый важный запрос для системы складского учета. Он не просто выбирает, а агрегирует и вычисляет данные. Нам нужно посчитать остаток по каждому товару как (Сумма всех приходов) — (Сумма всех расходов).
Для этого в конструкторе запросов нужно нажать на значок Σ (Итоги). После этого под сеткой полей появится строка «Групповая операция».
Алгоритм такой:
- Добавляем в запрос таблицы «Товары» и «ДвижениеТоваров».
- Выбираем поле «Наименование» из таблицы «Товары», и для него в строке «Групповая операция» оставляем Группировка.
- Добавляем поле «Количество» из «ДвиженияТоваров». Для него в строке «Групповая операция» выбираем Sum.
- Далее, используя построитель выражений, мы создаем вычисляемое поле, которое будет суммировать количество по приходу и вычитать количество по расходу для каждой группы товаров.
Именно на основе таких итоговых запросов будут строиться наши финальные отчеты. Наши запросы могут извлечь любую информацию, но работать с ними напрямую неудобно. Чтобы системой мог пользоваться обычный сотрудник склада, нужен интуитивно понятный интерфейс. Мы создадим его с помощью форм.
Создаем панель управления, то есть проектируем удобные формы
Формы — это «лицо» нашей базы данных, ее пользовательский интерфейс. Они позволяют обычному сотруднику, не знакомому с устройством таблиц и запросов, легко и безошибочно выполнять базовые операции: добавлять новый товар, регистрировать поступление или отпуск со склада.
Проще всего создавать формы с помощью инструмента Мастер форм (вкладка «Создание»). Давайте создадим несколько ключевых форм.
1. Форма «Товары» для добавления и редактирования
Это простая форма, основанная на таблице «Товары». Мастер форм проведет вас по всем шагам, где вы сможете выбрать поля для отображения и внешний вид. В результате вы получите удобный интерфейс для ведения номенклатурного справочника.
2. Формы для регистрации операций: «ПриходТовара» и «РасходТовара»
Эти формы чуть сложнее. Они основаны на таблице «ДвижениеТоваров». Их ключевая особенность — использование поля со списком. Вместо того чтобы вручную вводить код товара (что чревато ошибками), пользователь сможет выбрать наименование товара из выпадающего списка. При создании формы в режиме конструктора стандартное текстовое поле для `ID_Товара` можно легко превратить в «Поле со списком», указав в качестве источника строк таблицу «Товары».
3. Главная кнопочная форма: Навигационное меню
Это кульминация разработки интерфейса. Главная форма не привязана ни к какой таблице. Это просто «панель управления» или главное меню нашей системы. На ней мы размещаем кнопки для выполнения основных действий:
- Открыть форму «Товары»
- Зарегистрировать приход (открывает форму «ПриходТовара»)
- Оформить отпуск (открывает форму «РасходТовара»)
- Сформировать отчеты
- Выход из программы
Для каждой кнопки с помощью «Мастера кнопок» задается соответствующее действие (например, «Операции с формой» -> «Открыть форму»). Наша система почти готова: она надежно хранит данные и позволяет удобно ими управлять. Финальный штрих — научиться представлять эти данные в наглядном и профессиональном виде для анализа и принятия решений.
Получаем ценные инсайты через отчеты и подводим итоги работы
Отчеты — это финальный продукт любой учетной системы. Именно их распечатывают, показывают руководству и на их основе принимают управленческие решения. В Access создание профессионально выглядящих отчетов — простая задача, если у нас уже готовы запросы для подготовки данных.
Для создания отчетов мы будем использовать Мастер отчетов (вкладка «Создание»), который позволяет пошагово настроить их структуру и внешний вид.
Примеры ключевых отчетов для дипломного проекта:
- Отчет «Остатки товаров на складе». Этот отчет строится на основе того самого итогового запроса, который мы создали для расчета остатков. Он выводит список всех товаров и их актуальное количество на складе на текущую дату.
- Отчет «Движение товаров за период». Этот отчет базируется на запросе с параметром. Он запрашивает у пользователя начальную и конечную даты и выводит подробный список всех операций (приходов и расходов) за указанный период.
Подведение итогов и пути развития
В рамках данной работы мы с нуля спроектировали и реализовали полнофункциональную информационную систему для ведения складского учета. Она решает ключевые задачи:
- Структурированное хранение данных о товарах и поставщиках.
- Оперативный учет всех операций прихода и расхода.
- Автоматический расчет актуальных остатков.
- Предоставление удобного пользовательского интерфейса через формы.
- Формирование итоговых отчетов для анализа.
Для сильного завершения дипломной работы всегда полезно указать пути дальнейшего развития проекта. Например, можно предложить такие усовершенствования:
- Разграничение прав доступа: Создание разных учетных записей для кладовщика и менеджера.
- Интеграция со сканером штрих-кодов: Ускорение процесса инвентаризации и регистрации товаров.
- Более сложная аналитика: Создание отчетов о товарах с низкой оборачиваемостью или ABC-анализ.
Такой подход демонстрирует не только то, что вы справились с поставленной задачей, но и видите перспективы вашего проекта, что всегда высоко ценится аттестационной комиссией.
Список использованных источников
- Агальцов, В.П. Базы данных. В 2-х т.Т. 1. Локальные базы данных: Учебник / В.П. Агальцов. — М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. — 352 c.
- Акперов, И.Г. Информационные технологии в менеджменте: Учебник / И.Г. Акперов, А.В. Сметанин, И.А. Коноплева. — М.: НИЦ ИНФРА-М, 2013. — 400 c.
- Бекаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access. – СПб.: БХВ – Петербург, 2012. – 720 с.
- Венделева, М.А. Информационные технологии в управлении: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. — М.: Юрайт, 2013. — 462 c.
- Голицына, О.Л. Базы данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. — М.: Форум, 2012. — 400 c.
- Грекул В. И., Денищенко Г. Н., Коровкина Н. Л. Проектирование информационных систем. — М.: Интернет-университет информационных технологий – М.: ИНТУИТ.ру, 2009. с.135
- Васильев А.: Microsoft Office 2010. Новые возможности. — СПб.: Питер, 2012
- Диго, С.М. Базы данных: проектирование и использование: [Учеб. для вузов по специальности «Прикладная информатика (по обл.)»] /С.М. Диго.-М.: Финансы и статистика, 2010.-591 с.
- Ивасенко, А.Г. Информационные технологии в экономике и управлении: [учеб. пособие для вузов по специальностям «Прикладная информатика (по обл.)», «Менеджмент орг.», «Гос. и муницип. упр.»] /А. Г. Ивасенко, А. Ю. Гридасов, В. А. Павленко.-М.: КноРус, 2011.-153 с.
- Информатика: [учеб. для вузов по специальности «Прикладная информатика (по обл.)» и др. экон. специальностям] /А. Н. Гуда [и др.] ; под общ. ред. В. И. Колесникова.-М.: Дашков и К°, 2010.-399 с.
- Информатика: учебник для студентов вузов, обучающихся по специальности 080801 «Прикладная информатика» и другим экономическим специальностям /[В. В. Трофимов и др.] ; под ред. проф. В. В. Трофимова.-М.: Юрайт, 2010.-910 с.
- Информационные системы и технологии в экономике и управлении: [учеб. для вузов по специальности «Прикладная информатика (по обл.)» и др. экон. специальностям] /[В. В. Трофимов и др.] ; под ред. В. В. Трофимова.-М.: Высш. образование, 2010.-480 с.
- Информационные технологии: [учеб. для студентов вузов, обучающихся по специальности 080801 «Прикладная информатика» и др. экон. специальностям /В. В. Трофимов и др.] ; под ред. проф. В. В. Трофимова.-М.: Юрайт, 2009.-624 с.
- Исаев, Г.Н. Информационные технологии: Учебное пособие / Г.Н. Исаев. — М.: Омега-Л, 2013. — 464 c.
- Карпова, И.П. Базы данных: Учебное пособие / И.П. Карпова. — СПб.: Питер, 2013. — 240 c.
- Кириллов, В.В. Введение в реляционные базы данных.Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. — СПб.: БХВ-Петербург, 2012. — 464 c.
- Комплексная система защиты информации на предприятии. Часть 1. – М.: Московская Финансово-Юридическая Академия, 2008. – 124 с.
- Коноплева, И.А. Информационные технологии: учеб. пособие : [для вузов по специальности «Прикладная информатика (по областям)] /И. А. Коноплева, О. А. Хохлова, А. В. Денисов.-М.: Проспект, 2010.-294 с.
- Корняков В.Н.: Программирование документов и приложений MS Office. — СПб.: БХВ-Петербург, 2012
- Кудинов, Ю.И. Основы современной информатики: учеб. пособие для студентов вузов, обучающихся по специальности «Прикладная информатика» /Ю. И. Кудинов, Ф. Ф. Пащенко.-СПб.: Лань, 2009.-255 с.
- Луенбергер, Д.Д. Информатика: учеб.-метод. пособие для студентов вузов, обучающихся по специальности 080801 «Прикладная информатика» и др. междисциплинарным специальностям /Дэвид Дж. Луенбергер ; пер. с англ. Ю. Л. Цвирко под ред. д.т.н. К. К. Колина.-М.: Техносфера, 2008.-447 с.
- Маклаков, С.В. Bpwin и Erwin. Case-средства разработки информационных систем − М. : ДИАЛОГ-МЭФИ, 2009.
- Максимов, Н.В. Современные информационные технологии: Учебное пособие / Н.В. Максимов, Т.Л. Партыка, И.И. Попов. — М.: Форум, 2013. — 512 c.
- Малыхина, М.П. Базы данных: основы, проектирование, использование. – СПб: БХВ Петербург.2009.
- Марков, А.С. Базы данных: Введ. в теорию и методологию : [Учеб. по специальности «Прикладная математика и информатика»] /А.С. Марков, К.Ю. Лисовский.-М.: Финансы и статистика, 2009.-511 с.
- Мишенин А.И. Теория экономических информационных систем. — М.: Финансы и статистика, 2010. 240 с
- Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. — М.: Юрайт, 2013. — 463 c.
- Степанов А.Н. Информатика: учебное пособие. – СПб: Питер Пресс, 2012. – 764 с.
- Стражева Н. С., Стражев А. В. Бухгалтерский учет. — М.: Диалог, 2008. – 252с.
- Угринович Н.Д.: Исследование информационных моделей. Элективный курс. — М.: БИНОМ. Лаборатория знаний, 2006