Информационная система отдела закупок гипермаркета

Автор работы: Пользователь скрыл имя, 14 Мая 2013 в 23:58, курсовая работа

Описание работы

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

Содержание работы

Вступление 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.Форма "Заказы"…………………………………………………...16
2.1.1.2.Форма "Поставки"………………………………………………...18
2.1.1.3.Форма "Товары"…………………………………...……………...19
2.1.1.4.Форма "Поставщики"…………………………………………......24
2.2. Создание отчетов и запросов 28
2.2.1. Отчет о количестве и стоимости заказов по неделям 28
2.2.2. Отчет о недопоставленных товарах 31
2.2.3. Отчет о количестве и стоимости заказов по неделям 33
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 35

Файлы: 1 файл

KursovikBD.docx

— 1.92 Мб (Скачать файл)

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

С учетом того, что для реализации БД отдела закупок гипермаркета будет использоваться СУБД Access можно определить следующую логическую модель, которая представлена на рис.2.

Рис.2. – Логическая модель базы данных отдела закупок гипермаркета

 

Логическая модель не содержит связей «многие-ко-многим» («М:М»), следовательно, мы можем говорить, что в модели представлены только нормализованные связи.

Сущность «Товары» содержит первичный  ключ «КодТовара», по которому происходит связь с сущностью «СодержаниеЗаказов», содержащую внеший ключ «КодТовара».

 Первичный ключ сущности  «СодержаниеЗаказов» «КодСодержанияЗаказов»  связывает ее с сущностью «Содержание  Поставок», имеющей внешний ключ  «КодСодержанияЗаказов». Также сущность  «СодержаниеЗаказов» связана посредством  внешнего ключа «КодЗаказа» с  сущностью «Заказы» (первичный ключ  «КодЗаказа»).

Сущность «Заказы» через внешний  ключ «КодПоставщика» связана с  сущностью «Поставщики»(первичный  ключ «КодПоставщика»).

Сущность «Поставки» (первичный  ключ «КодПоставки») связана с сущностью  «Содержание Поставок», имеющей  внешний ключ «КодПоставки».

Логическая структура реляционной  базы данных в Microsoft Access является отображением полученной информационно-логической модели, не требующим дополнительных преобразований. Каждый информационный объект модели данных отображается соответствующей реляционной таблицей. Так объект «Заказы» отображается таблицей «Заказы», объект «Поставки» таблицей «Поставки», объект «Поставщики» таблицей «Поставщики», объект «Товары» таблицей «Товары», объект «СодержаниеЗаказов» таблицей «СодержаниеЗаказов», объект «СодержаниеПоставок» таблицей «СодержаниеПоставок.

Каждое поле реляционной таблицы  соответствует атрибуту информационного  объекта. Ключевые поля данных образуют уникальный ключ реляционной таблицы. Так ключевой идентификатор «КодЗаказа» стал ключом таблицы «Заказы». Строки (записи) таблицы соответствуют экземплярам объекта и формируются при загрузке таблицы.

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

Каждая таблица состоит из заголовка  таблицы и тела таблицы. Заголовок  таблицы в свою очередь состоит  из названий столбцов таблицы.

Количество столбцов таблицы «Заказы» – 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_zakaz

End Sub

Private Sub Предыдущая_запись_Click()

    DoCmd.GoToRecord , , acPrevious

    Kolithestvo_tovara_obshee_zakaz

End Sub

Private Sub Следующая_запись_Click()

    DoCmd.GoToRecord , , acNext

    Kolithestvo_tovara_obshee_zakaz

End Sub

 

 

Private Sub Последняя_запись_Click()

    DoCmd.GoToRecord , , acLast

    Kolithestvo_tovara_obshee_zakaz

End Sub

 

 

Private Sub Kolithestvo_tovara_obshee_zakaz()

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

        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. Отчет о недопоставленных товарах

      1. Отчет о количестве и стоимости заказов  по неделям

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

Рис.11. Отчет о количестве и стоимости заказов по неделям

 

ЗАКЛЮЧЕНИЕ

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

    1. Удобное и понятное добавление новых данных в информационную систему.
    2. Поддержка целостности, согласованности и непротиворечивости данных.
    3. Своевременная информация о состоянии моделируемых процессов.
    4. Облегчение вычисления необходимы калькуляций.
    5. Формирование исчерпывающего набора статистических отчетов.

 

В ходе работы были использованы различные объекты 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/materials/zelenkov/toc.html.

8. Википедия – свободная энциклопедия [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/.

 


Информация о работе Информационная система отдела закупок гипермаркета