Информационная система «Музыкальный магазин «Музыка ветра»

Автор работы: Пользователь скрыл имя, 03 Февраля 2014 в 16:10, курсовая работа

Краткое описание

На начальном этапе проектирования информационной системы, исходя из вышеназванных целей, были поставлены следующие задачи:
1) Разработать четкую систему учета поставок, покупок и продаж товаров;
2) Разработать систему анализа результатов;
3) Разработать удобный пользовательский интерфейс.
В разработке ИС мы отталкивались именно от этих целей и задач.

Содержание

ВВЕДЕНИЕ 3
1 Описание предметной области 5
2 Проектирование информационной системы 7
3 Организация базы данных 11
3.1 Создание информационной модели 11
3.2. Определение сущностей 12
3.3 Логическая модель 13
3.4 Нормализация отношений 15
3.5 Физическая модель 17
4 Разработка программного продукта 21
4.1 Описание интерфейса 21
4.2 Обработка данных 25
4.3 Описание выходной информации 33
Заключение 36
Библиографический список используемой литературы: 37

Прикрепленные файлы: 1 файл

Poyasnitelnaya_zapiska.doc

— 2.22 Мб (Скачать документ)

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


 

 

 

 

 

 

 

Рисунок 3 –  Схема данных

 

Из предложенной выше схемы данных видно, что:

  • одной записи поля «Код» из таблицы «Поставщики» соответствует несколько полей «Код поставщика» из таблицы «Поставка», следовательно, связь – 1-ко-многим;
  • одной записи поля «Код» из таблицы «Инструменты» соответствует несколько полей «Код инструмента» из таблицы «Поставка», следовательно, связь – 1-ко-многим;
  • одной записи поля «Код» из таблицы «Инструменты» соответствует несколько полей «Код инструмента» из таблицы «Продажа» следовательно, связь – 1-ко-многим.

 

3.4 Нормализация отношений

 

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

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

Выделяют несколько  типов нормальных форм:

    • Первая нормальная форма (1NF)
    • Вторая нормальная форма (2NF)
    • Третья нормальная форма (3NF)
    • Нормальная форма Бойса — Кодда (BCNF)
    • Четвёртая нормальная форма (4NF)
    • Пятая нормальная форма (5NF)
    • Доменно-ключевая нормальная форма (DKNF)
    • Шестая нормальная форма (6NF)

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

Название таблицы

Ключевое поле

Инструменты

 

 

 

Код

Тип

Название

Цена

Описание

Рисунок


Отношение находится  во второй нормальной форме (2НФ), если оно находится в первой нормальной форме, и при этом любой его атрибут, не входящий в состав потенциального ключа, функционально полно зависит от каждого потенциального ключа.

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

Отношение находится  в 3NF тогда и только тогда, когда  выполняются следующие условия:

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

На основании  этого, мы выявили, что база удовлетворяет  требованиям 3НФ и это – окончательный  результат нормализации.

 

3.5 Физическая модель

 

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

Для представления  информации используется несколько  форм. Табличная форма представления информации является наиболее распространенной  и понятной. Кроме того, такие семантические более сложные формы, как деревья и сети, путем введения некоторой избыточности могут быть сведены к табличным.  При этом данные также будут представлены в форме двумерных таблиц. Такой реляционный подход, в основе которого лежит принцип разделения данных и связей, обеспечивает с одной стороны независимость данных, а с другой – более простые способы реализации хранения и обновления. Ниже представлены таблицы базы данных «Магазин музыкальных инструментов «Музыка ветра».

 

Таблицы в конструкторе:

 


 

 

 

 

 

Рисунок 4 – Таблица «Инструменты»

 

 

 


 

 

 

 

 

 

Рисунок 5 – Таблица «Поставщики»

 


 

 

 

 

 

 

Рисунок 6 – Таблица «Поставка»


 

 

 

 

 

 

Рисунок 7 – Таблица «Продажа» 
  Таблицы в редакторе таблиц:

 


 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 8 – Таблица «Инструменты»

 


 

 

 

 

Рисунок 9 – Таблица «Поставщики»

 


 

 

 

 

 

 

 

 

 

Рисунок 10 – Таблица «Поставка»

 


 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 11 – Таблица «Продажа» 
4 Разработка программного продукта

4.1 Описание интерфейса

 

Рисунок 12 – Главная кнопочная форма

 

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

 

Рисунок 13 – Форма «Инструменты

 

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

 

Рисунок 14 – Форма «Поставка»

 

Форма «Поставка» содержит информацию о поступивших товарах: код накладной, дата поступления, код поставщика, его наименование, код инструмента, название инструмента, количество и сумма поставки. На этой форме есть четыре кнопки, отвечающие за просмотр отчетов: «Поставки за январь», «Поставки за февраль», «Поставки за март» и «Незаказанные товары», объединенные в один блок для удобства и красоты. Присутствуют кнопки навигации, добавления, поиска и удаления записей; кнопка выхода.

 

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

 

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

Рисунок 16 – Форма «Продажа»

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

=([Количество]*[Инструменты_Цена])+(([Количество]*[Инструменты_Цена])*0,25)

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

4.2 Обработка данных

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

  1. Запрос «Поставки в январе»


 

 

 

 

 

 

 

Рисунок  17 –  запрос «Поставки в январе» в  конструкторе запросов

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

SELECT Поставка.Дата, Инструменты.Название, Поставка.Количество, [Количество]*[Инструменты]![Цена] AS Сумма

FROM Инструменты  INNER JOIN Поставка ON Инструменты.Код = Поставка.[Код инструмента]

WHERE (((Поставка.Дата) Like "*.01.2012"));

 

Результат запроса можно  представить в виде диаграммы, сводной  таблицы и таблицы обычной. Мы выберем последний вариант:


 

 

 

 

 

 

 

 

 

 

 

Рисунок  18 –  результат выполнения запроса «Поставки  в январе»

 

В ИС «Музыкальный магазин «Музыка ветра» есть два аналогичных запроса, выводящих результат поставок за февраль и март, поэтому мы не будем их рассматривать и перейдем к остальным запросам.

  1. Запрос «Незаказанные товары»

 

 

 

 

 

 

 

 

Рисунок 19 –  запрос «Незаказанные товары» в конструкторе запросов

 

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

Ниже приведен SQL вид запроса:

SELECT Инструменты.Код, Инструменты.Название, Инструменты.Цена

FROM Инструменты  LEFT JOIN Поставка ON Инструменты.Код = Поставка.[Код  инструмента]

WHERE (((Поставка.[Код инструмента]) Is Null));


 

 

 

 

Рисунок 20 – результат выполнения запроса «Незаказанные товары»

 

  1. Запрос «Продажа за январь»

 

 

 

 

 

 

 

Рисунок  21 –  запрос «Продажа за январь» в конструкторе запросов

 

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

Ниже приведен SQL вид запроса:

SELECT Продажа.Дата, Инструменты.Название, Продажа.Количество, ([Инструменты]![Цена]*[Продажа]![Количество])+(([Инструменты]![Цена]*[Продажа]![Количество])*0.25) AS Сумма

FROM Инструменты  INNER JOIN Продажа ON Инструменты.Код  = Продажа.[Код инструмента]

WHERE (((Продажа.Дата) Like "*.01.2012"))

ORDER BY Продажа.Дата;

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок  22 –  результат выполнения запроса «Продажи за январь»

Запросы «Продажи за февраль» и «Продажи за март» работают аналогичным образом.

 

  1. Запрос «Топ продаж»


 

 

 

 

 

 

Рисунок  23 – запрос «Топ продаж» в конструкторе запросов

 

Данный запрос выводит список самых продаваемых  товаров за весь период (сюда входит товар, который покупали не менее 4 раз).

Ниже приведен SQL вид запроса:

SELECT Инструменты.Код, Инструменты.Название, Sum(Продажа.Количество) AS [Sum-Количество]

FROM Инструменты  INNER JOIN Продажа ON Инструменты.Код  = Продажа.[Код инструмента]

GROUP BY Инструменты.Код, Инструменты.Название

HAVING (((Sum(Продажа.Количество))>=4))

ORDER BY Sum(Продажа.Количество);


 

 

 

 

 

 

 

 

 

Рисунок  24 –  результат выполнения запроса «Топ продаж»

  1. Запрос «Непроданные товары»

 

 

 

 

 

 

 

Рисунок 25 –  запрос «Непроданные товары» в конструкторе запросов

Информация о работе Информационная система «Музыкальный магазин «Музыка ветра»