Информационная система отдела закупок гипермаркета
Министерство Образования и Науки Российской Федерации
Санкт-Петербургский
Кафедра прикладной информатики
КУРСОВОЙ ПРОЕКТ
по курсу “Базы данных”
на тему: «Информационная система
отдела закупок гипермаркета».
Выполнила студентка группы
3-МД-9 Шварц Т. В.
Проверила доцент каф. ПИ: Лебедева С.
В.
Санкт-Петербург
2012
Оглавление
Вступление 3
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1. Информационный анализ. Выявление основных сущностей 5
1.2. Определение взаимосвязей сущностей 6
1.3. Построение концептуальной модели 10
1.4. Выбор СУБД и построение логической модели реляционной базы данных 12
2 РАЗРАБОТКА АЛГОРИТМОВ И ТЕХНОЛОГИИ РЕШЕНИЯ ЗАДАЧИ 16
2.1 Создание форм 16
2.1.1 Определение макета форм ввода-вывода для загрузки в базу данных входной информации 16
2.1.1.1.Форма
"Заказы"…………………………………………………...
2.1.1.2.Форма
"Поставки"………………………………………………..
2.1.1.3.Форма
"Товары"…………………………………...…………….
2.1.1.4.Форма
"Поставщики"…………………………………………..
2.2. Создание отчетов и запросов 28
2.2.1. Отчет о количестве и стоимости заказов по неделям 28
2.2.2. Отчет о недопоставленных товарах 31
2.2.3. Отчет о количестве и стоимости заказов по неделям 33
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 35
Вступление
Каждой цивилизации
С появлением вычислительной
техники значительно
Информационная система (ИС) представляет собой систему, реализующую автоматизированный сбор, обработку, хранение и манипулирование данными и включающая технические средства обработки данных, программное обеспечение и обслуживающий персонал.
На сегодняшний день ИС применяются почти во всех сферах человеческой деятельности. Одной из таких сфер является отдел закупок гипермаркета.
Организация снабжения магазина требует решения многих задач. В рассматриваемом случае снабжение осуществляется через специализированный отдел закупок, автоматизированную систему управления которой составляет предмет настоящей работы. Функционирование отдела закупок представляет собой симбиоз двух взаимодополняющих процессов: процесса заказов и процесса поставок. Каждая из них требует программного обеспечения процедур оформления заказов и поставок, ведения и поддержки базы данных товаров и поставщиков, оформления разнообразных отчетов и вычислений.
Решение данных задач требует обработки большого объема информации, а, следовательно, большой затраты времени и усилий. Чтобы обеспечить успешную и стабильную работу, уменьшить издержки производства, необходимо автоматизировать выполнение указанных выше задач. Одним из методов автоматизации является создание баз данных, которые удобны в использовании.
В данной курсовой работе будет рассмотрена следующая деятельность отдела закупок гипермаркета – оформление заказов и поставок товаров. Поэтому основными функциями, подлежащими автоматизации, в информационной системе будут:
- Удобное и понятное добавление новых данных в информационную систему.
- Поддержка целостности, согласованности и непротиворечивости данных.
- Своевременная информация о состоянии моделируемых процессов.
- Облегчение вычисления необходимы калькуляций.
- Формирование исчерпывающего набора статистических отчетов.
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1. Информационный анализ. Выявление основных сущностей
Каждая информационная система соотносится с конкретной частью реального мира, в которой она ориентирована на выполнение определенных функций.
Предметная область (ПО) – та часть реального мира, информация о которой подлежит хранению в информационной системе.
Предметной областью информационной системы отдела закупок гипермаркета являются процессы заказов товаров и их поставок в магазин. В этих процессах задействованы несколько участников: заказчик, поставщик и приемщик товаров.
Основной задачей заказчика является оформление заказов товаров, которые гипермаркет принимает на реализацию. При этом необходимо зафиксировать информацию о товаре, о его требуемом количестве, о поставщике, которому заказываются товары и о стоимости заказа. Также заказчик ведет отчетность о количествах и стоимости заказов по неделям.
Основной задачей поставщика является поставка товара в отдел закупок гипермаркета. Как было выше сказано, при заказе фиксируется вся информация о товаре и поставщике, который его поставил.
Основной задачей приемщика поставок в магазине является фиксация факта поставки поставщиком товара в гипермаркет, а часто и отслеживание недопоставленного количества заказанных товаров.
В ходе исследования предметной области выделилось четыре основных сущности: «Заказы», «Поставки», «Товары» и «Поставщики». Для связи данных в информационной системе потребовалось ввести также дополнительные сущности: «СодержаниеЗаказов» и «СодержаниеПоставок».
Сущности «Заказы» и«СодержаниеЗаказов» будут содержать полную информацию о каждом заказе; сущности «Поставки» и «СодержаниеПоставок» будет содержать полную информацию о поставках в магазин; сущность «Товары» будет содержать информацию о товарах; сущность «Поставщики» будет содержать полную информацию о поставщиках.
1.2. Определение взаимосвязей сущностей
В предыдущем разделе нами были сформулированы шесть сущностей: «Заказы», «СодержаниеЗаказов», «Поставки», «СодержаниеПоставок», «Товары» и «Поставщики». Для удобства можно пронумеровать сущности:
E1 – «Заказы»
Е2 – «СодержаниеЗаказов»,
Е3 – «Поставки»,
Е4 – «СодержаниеПоставок»,
Е5 – «Товары»,
Е6 – «Поставщики».
Так как все объекты относятся к одной предметной области, то мы можем определить взаимосвязь между ними.
Каждый заказ содержит несколько строчек товаров, но каждая строчка товаров может быть записана только в одном заказе. Таким образом, каждой строке в таблице «СодержаниеЗаказов» соответствует только одна строка из таблицы «Заказы», а каждому заказу соответствует несколько товаров. Это означает, что между сущностями «Заказы» и «СодержаниеЗаказов» находится связь «один-ко-многим» («1:М»).
Один товар может фигурировать во многих заказах, следовательно и фиксироваться во многих строках таблицы «СодержаниеЗаказов». В свою очередь одна строка таблицы «СодержаниеЗаказов» может содержать только один товар. В данном случае также имеем связь «один-ко-многим» («1:М»).
Аналогичным образом выглядят связи для сущностей «Поставки» и «СодержаниеПоставок».
Одна поставка может отражать много элементов содержания поставки, а один элемент содержания поставки в свою очередь может входить только в одну поставку. Налицо связь «один-ко-многим» («1:М»).
Связь между сущностями «СодержаниеЗаказов» и «СодержаниеПоставок» также «один-ко-многим» («1:М»), т.к. одной строчке из таблицы содержания заказов может соответствовать несколько элементов содержания поставок в таблице содержание поставок ( в случае дробной поставки партии товара). А элемент содержания поставки в свою очередь может содержать информацию только об одном товаре из одного заказа.
Сущности «Поставщики» и «Заказы»
также имеют связь «один-ко-
Таблица 1. Семантика связи
R |
Название отношения |
Сущности |
Семантика связи | |
Eвых. |
Eвход. | |||
|
R1 |
включает |
Заказы |
СодержаниеЗаказов |
Каждый заказ включает несколько пунктов содержания заказа |
R2 |
включен |
СодержаниеЗаказов |
Заказы |
Пункты содержания заказа включены в один заказ |
R3 |
входит |
Товары |
СодержаниеЗаказов |
Один товар входит в несколько пунктов содержания заказов |
R4 |
содержит |
СодержаниеЗаказов |
Товары |
Любой пункт содержания заказов может содержать только один товар |
R5 |
включает |
Поставки |
СодержаниеПоставок |
Поставка включает несколько элементов содержания поставки |
R6 |
фиксируется |
СодержаниеПоставок |
Поставки |
Каждый элемент содержания поставки фиксируется только в одной поставке |
R7 |
содержится |
СодержаниеЗаказов |
СодержаниеПоставок |
Любая строка содержания заказов может много раз фигурировать в элементах содержания поставок ( при дробной поставке товара) |
R8 |
заказан |
СодержаниеПоставок |
СодержаниеЗаказов |
Элемент содержания поставки был заказан только один раз |
R9 |
выполняет |
Поставщики |
Заказы |
Поставщик выполняет много заказов |
R10 |
выполняется |
Заказы |
Поставщики |
Один заказ выполняется одним поставщиком |
1.3. Построение концептуальной модели
Следующим этапом проектировки информационной системы является построение концептуальной модели.
Концептуальная модель – это модель, которая представляет сущности предметной области и взаимосвязи между ними без указания способа их физического хранения.
Данная модель будет состоять их шести сущностей и связей между ними, описанных выше:
- Сущность «Заказы» (КодЗаказа, КодПоставщика, Дата, Стоимость,(руб)).
- Сущность «СодержаниеЗаказов» (КодСодержанияЗаказов, КадЗаказа, КодТовара, КоличествоТовараЗаказано).
- Сущность «Товары» (КодТовара, Наименование).
- Сущность «Поставки» (КодПоставки, Дата).
- Сущность «СодержаниеПоставки» (КодЭлементаСодержанияПоставки
, КодПоставки, КодСодержанияЗаказов, КоличествоТовараПоставлено).
- Сущность «Поставщики» (КодПоставщика, наименование, Адрес, телефон)
Концептуальная модель базы данных отдела закупок гипермаркета представлена на рис.1.
Код Товара |
Наименование Товара
|
СодержаниеЗаказов |
КодСодержанияЗаказов КодЗаказа КодТовара КоличествоТоваровЗаказано
|
Код Поставки |
Дата
|
СодержаниеПоставок |
КодЭлементаСодержанияПоставки КодПоставки КодСодержанияЗаказов КоличествоТоваровПоставлено
|
Код Заказа |
КодПоставщика Дата Стоимость |
Код Поставщика |
Наименование Адрес Телефон |
Рис.1. – Концептуальная
модель предметной области «
1.4.
Выбор СУБД и построение логической модели
реляционной базы данных
В качестве СУБД для реализации базы данных была использована Microsoft Access. Microsoft Access является настольной СУБД реляционного типа, которая имеет все необходимые средства для выполнения перечисленных выше функций. Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, появились также Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы из других настольных и серверных баз данных для хранения информации, необходимой приложению. Присоединив внешние таблицы, пользователь Access будет работать с базами данных в этих таблицах так, как если бы это были таблицы Access. При этом и другие пользователи могут продолжать работать с этими данными в той среде, в которой они были созданы.
Достоинством Access является то, что
она имеет очень простой
С учетом того, что для реализации БД отдела закупок гипермаркета будет использоваться СУБД Access можно определить следующую логическую модель, которая представлена на рис.2.
Рис.2. – Логическая модель базы данных отдела закупок гипермаркета
Логическая модель не содержит связей «многие-ко-многим» («М:М»), следовательно, мы можем говорить, что в модели представлены только нормализованные связи.
Сущность «Товары» содержит первичный
ключ «КодТовара», по которому происходит
связь с сущностью «
Первичный ключ сущности
«СодержаниеЗаказов» «
Сущность «Заказы» через внешний
ключ «КодПоставщика» связана с
сущностью «Поставщики»(
Сущность «Поставки» (первичный ключ «КодПоставки») связана с сущностью «Содержание Поставок», имеющей внешний ключ «КодПоставки».
Логическая структура
Каждое поле реляционной таблицы соответствует атрибуту информационного объекта. Ключевые поля данных образуют уникальный ключ реляционной таблицы. Так ключевой идентификатор «КодЗаказа» стал ключом таблицы «Заказы». Строки (записи) таблицы соответствуют экземплярам объекта и формируются при загрузке таблицы.
Если описывать информационную систему в терминах баз данных, то схема базы данных представляет собой набор заголовков таблиц, связанных между собой.
Каждая таблица состоит из заголовка таблицы и тела таблицы. Заголовок таблицы в свою очередь состоит из названий столбцов таблицы.
Количество столбцов таблицы «Заказы» – 4, таблицы «СодержаниеЗаказов» – 4, таблицы «Поставки» – 2, таблицы «Содержание поставок» – 4, таблицы «Товары» – 2, таблицы «Поставщики» - 4.
В данной логической модели учтено основное требование к первичным ключам таблицы: в качестве первичного ключа выбран ровно один потенциальный ключ. Альтернативных ключей в базе данных нет.
Каждый кортеж каждого отношения,
представленного в
БД обладает свойством ссылочной
целостности, когда для любой
пары связанных внешним ключом отношений
в ней условие ссылочной
В базе данных отдела закупок гипермаркета условие ссылочной целостности выполняется, так как значению каждого первичного ключа соответствует значение каждого внешнего ключа.
2 РАЗРАБОТКА АЛГОРИТМОВ И ТЕХНОЛОГИИ РЕШЕНИЯ ЗАДАЧИ
2.1 Создание форм
2.1.1 Определение макета форм ввода-вывода для загрузки в базу данных входной информации
Для удобной навигации пользователя по созданной базе данных создана кнопочная форма, которая запускается макросом при открытии информационной системы. Каждая кнопка открывает следующую форму, которая предназначена для реализации одной из функций, прописанных ранее.
Рис.3. Главная кнопочная форма
2.1.1.1. Формы для добавления записей в таблицы
2.1.1.1.Форма «Заказы»
Данные формы построены на основе таблиц базы данных с помощью мастера форм. Они упрощают ввод данных в таблицы. Пример одной из этих форм представлен на рис.4
Рис.4. Форма для введения данных в таблицу «Заказы»
На формах располагается кнопка
«Добавить запись». В свойстве «Нажатие
кнопки» был автоматически
Форма «Заказы» содержит подчиненные формы «Содержание заказов» и «Поставщик» и дает возможность получить отчет о количестве и стоимости заказов по неделям.
При нажатии кнопок перехода по записям осуществляется подсчет общего количества заказов и суммы всех заказов. Это обеспечивает запись в данных этих надписей:
=Count([КодЗаказа]) и =Sum([Стоимость]) соответственно.
2.1.1.2. Форма «Поставки»
Рис.5. Форма для введения данных в таблицу «Поставки»
Данная форма
является составной. Она построена
на основе таблицы «Поставки», а источником
записей подчиненной формы является запрос
«СодержаниеПоставки1».
2.1.1.3 Форма «Товары»
Рис.6. Форма для введения данных в таблицу «Товары»
При открытии
данной формы пользователь видит
информацию о товаре с кодом №
1, для которого подсчитано число
заказов этого товара и общее
число заказанных товаров с кодом
№1. При переходах по записям выводится
аналогичная информация о других
товарах, помещенных в базу данных.
Также имеется возможность
Private Sub Кнопка24_Click()
Dim dbs As Database
Dim rst As Recordset
Dim x As String
Dim y As String
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Товары", dbOpenDynaset)
On Error GoTo 1
If rst.EOF Then Exit Sub
x = InputBox("Введите старое наименование товара в кавычках:")
y = InputBox("Введите новое наименование товара без кавычек:")
rst.FindFirst "[Наименование]=" & x
Do Until rst.NoMatch
rst.Edit
rst![ Наименование] = y
rst.Update
rst.FindNext "[ Наименование]=" & x
Loop
MsgBox " Наименование товара изменено"
rst.Close
Set dbs = Nothing
1: Exit Sub
End Sub
Private Sub Кнопка27_Click()
Dim dbs As Database
Dim rst As Recordset
Dim n As Long
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Товары", dbOpenDynaset)
rst.MoveLast
n = rst.RecordCount
Íàäïèñü32.Caption = Str(n)
End Sub
Private Sub Form_Open(Cancel As Integer)
Первая_запись_Click
End Sub
Private Sub Первая_запись_Click()
DoCmd.GoToRecord , , acFirst
Kolithestvo_tovara_obshee_
End Sub
Private Sub Предыдущая_запись_Click()
DoCmd.GoToRecord , , acPrevious
Kolithestvo_tovara_obshee_
End Sub
Private Sub Следующая_запись_Click()
DoCmd.GoToRecord , , acNext
Kolithestvo_tovara_obshee_
End Sub
Private Sub Последняя_запись_Click()
DoCmd.GoToRecord , , acLast
Kolithestvo_tovara_obshee_
End Sub
Private Sub Kolithestvo_tovara_obshee_
Dim dbs As Database
Dim rst As Recordset
Dim x As String
Set dbs = CurrentDb
Set
rst = dbs.OpenRecordset("
If rst.EOF Then Exit Sub
x = Поле36.Value
c = 0
d = 0
rst.FindFirst "[КодТовара]=" & x
Do Until rst.NoMatch
c = c + 1
d = d + rst.Fields(3).Value
rst.FindNext "[ КодТовара]=" & x
Loop
rst.Close
Set dbs = Nothing
Me.Надпись39.Caption = "Число заказов с данным товаром:" & Str(c)
Me. Надпись 44.Caption = "Общее количество заказанного товара:" & Str(d)
'1: Exit Sub
End Sub
2.1.1.4 Форма «Поставщики»
Рис.7. Форма для введения данных в таблицу «Поставщики»
В данной форме происходит подсчет количества заказов конкретного поставщика и общей суммы его заказов благодаря программному коду:
Private Sub Form_Open(Cancel As Integer)
Первая_запись_Click
End Sub
Private Sub Первая_запись _Click()
DoCmd.GoToRecord , , acFirst
Kolithestvo_Zakazov
na_summy
End Sub
Private Sub Предыдущая_запись _Click()
DoCmd.GoToRecord , , acPrevious
Kolithestvo_Zakazov
na_summy
End Sub
Private Sub Следующая_запись_Click()
DoCmd.GoToRecord , , acNext
Kolithestvo_Zakazov
na_summy
End Sub
Private Sub Последняя_запись_Click()
DoCmd.GoToRecord , , acLast
Kolithestvo_Zakazov
na_summy
End Sub
Private Sub Kolithestvo_Zakazov()
Dim dbs As Database
Dim rst As Recordset
Dim x As String
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("заказы", dbOpenDynaset)
On Error GoTo 1
If rst.EOF Then Exit Sub
x = Ïîëå36.Value
c = 0
rst.FindFirst "[КодПоставщика]=" & x
Do Until rst.NoMatch
c = c + 1
rst.FindNext "[ КодПоставщика]=" & x
Loop
rst.Close
Set dbs = Nothing
Me.Íàäïèñü39.Caption = "Количество заказов данного поставщика:" & Str(c) & ","
1: Exit Sub
End Sub
Private Sub na_summy()
Dim dbs As Database
Dim rst As Recordset
Dim x As String
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Заказы", dbOpenDynaset)
If rst.EOF Then Exit Sub
x = Ïîëå36.Value
c = 0
rst.FindFirst "[ КодПоставщика]=" & x
Do Until rst.NoMatch
y = rst.Fields(3).Value
c = c + y
rst.FindNext "[ КодПоставщика]=" & x
Loop
rst.Close
Set dbs = Nothing
Me.Íàäïèñü41.Caption = "на сумму:" & Str(c) & " рублей"
End Sub
Также есть возможность открытия отчета о количестве и стоимости заказов по поставщикам.
2.2. Создание отчетов и запросов
2.2.1. Отчет о количестве и стоимости заказов по неделям
Данный отчет построен на основе запроса «Количество и стоимость заказов по поставщикам».
Рис.8. Запрос для получения отчета
Рис.9. Отчет о количестве и стоимости заказов по поставикам
В отчете выдается процентное отношение количества и стоимости заказов каждого поставщика к общему числу количества и стоимости заказов.
2.2.2. Отчет о недопоставленных товарах
Данный отчет построен на основе
запроса «
Рис.9. Запрос для получения отчета о недопоставках
Рис.10. Отчет о недопоставленных товарах
Отчет о количестве и стоимости заказов по неделям
Данный отчет необходим для статистической оценки деятельности отдела закупок гипермаркета.
Рис.11. Отчет о количестве и стоимости заказов по неделям
ЗАКЛЮЧЕНИЕ
В данной работе была создана информационная система для отдела закупок гипермаркета. Созданная система выполняет заявленные функции, подлежащие автоматизации:
- Удобное и понятное добавление новых данных в информационную систему.
- Поддержка целостности, согласованности и непротиворечивости данных.
- Своевременная информация о состоянии моделируемых процессов.
- Облегчение вычисления необходимы калькуляций.
- Формирование исчерпывающего набора статистических отчетов.
В ходе работы были использованы различные объекты Access, такие как таблицы, формы, запросы, отчёты, макросы и программные коды.
Для удобства пользователя созданы формы, где пользователь может корректировать записи в базе данных и получать интересующую его информацию.
В разработанной базе данных реализуется только часть функций предметной области. Но работа по созданию информационной системы для отдела закупок гипермаркета может быть продолжена. Существуют и другие функции, автоматизация которых может быть также реализована, например, учет сотрудников отдела закупок и составление отчетов на основе прдуктов их деятельности. Следовательно, работу над информационной системой можно продолжить.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. С.В.Лебедева учебное пособие «Информационные системы» »/ Спб.: ИПЦ «СПГУТД». – 2011 – 121 с..
2. С.В.Лебедева учебное пособие «Введение в информатику» »/ Спб.: ИПЦ «СПГУТД». – 205, - 245с..
3. Справка ACCESS
4. Джон Кронан, Бобби Сандберг «Microsoft Access 2007. Шаг за шагом»/ Москва: Изд-во NT Press. – 2008.
5. Вероника Михеева, Ирина Харитонова «Microsoft Access 2002»/ Спб.: Изд-во БХВ – Петербург. – 2003.
6. Скот Ф.Баркер «Профессиональное программирование в Access 2002»/ Москва: Изд-ий дом «Вильямс». – 2002.
7. Введение в базы данных [Электронный
ресурс]. – Режим доступа: http://www.mstu.edu.ru/study/
8. Википедия – свободная энциклопедия [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/.

- Информационная система отдела кадров
- Информационная система отдела маркетинга и рекламы
- Информационная система оценки инновационного потенциала НТО и предприятия и их соотнесение на основе WEB технологий
- Информационная система «Парус 8.х»
- Информационная система по бетоносмесителям
- Информационная система поддержки поставок скоропортящихся продуктов
- Информационная система поддержки работы предприятия ООО «Формула»
- Информационная система медицинская страховая компания "Мединком"
- Информационная система музея
- Информационная система обработки геодезических измерений в кадастре
- Информационная система обработки учета готовой продукции и формирования цены продажи с использованием СУБД 1С:Предприятие
- Информационная система оказания в электронном виде услуги "выдача архивных справок"
- Информационная система органов прокуратуры
- Информационная система ОСАГО