Разработка базы данных для учета товара ООО

advertisement
Курсовая работа
по дисциплине «Базы данных»
на тему:
«Разработка базы данных для учета товара
ООО «Компания Парфюм Косметик»»
Содержание
Введение
3
Глава 1. Описание предметной области
5
1.1 Общее положение компании «Парфюм Косметик»
5
1.2 Нормализация отношений
6
Глава 2. Разработка базы данных для учета товара
ООО «Компания Парфюм Косметик»»
12
2.1 Постановка технических задач
12
2.2 Работа в SQL Server, создание тоблиц и запросов
13
2.3 Создание пользовательского интерфейса
19
Заключение
27
Список использованной литературы
28
2
Введение
База данных – это организованная структура, предназначенная для
хранения информации.
С понятием базы данных тесно связано понятие системы управления
базой данных. Это комплекс программных средств, предназначенных для
создания структуры новой базы, наполнение её содержимым, редактирования
содержимого и визуализации информации.
Базы данных могут содержать различные объекты-таблицы.
Современная жизнь немыслима без эффективного управления. Важной
категорией являются системы обработки информации, от которых во многом
зависит эффективность работы любого предприятия или учреждения. Эта
обработка сводится к автоматизации.
Автоматизация во многом упрощает работу с товаром и клиентами. С
помощью ее экономиться не только время, но и людские и технические
ресурсы. Информация более или менее защищена от порчи и потери.
Автоматизированная база данных снабжена механизмами поиска и выборки
информации.
В курсовой работе рассматривается автоматизация баз данных компании
«Парфюм Косметик». До автоматизации работникам компании приходилось
тратить немало времени на фиксировании тавра, клиентов, заказов на бумаге,
С автоматизацией этот процесс упрощается, появляется больше функций и
возможностей, работа становится более эффективной, прибыльной и
экономичной.
Объектом курсовой работы является учет товара в компании ООО
«Парфюм Косметик».
Предметом курсовой работы является автоматизация учета товара и
заказов в компании.
Цель курсовой работы – разработка базы данных для компании
«Парфюм Косметик».
Для достижения поставленной цели необходимо решить следующие
3
задачи:
 Изучить структуру компании
 собрать необходимую информацию о ней
 Создание таблиц и запросов на основе данных компании
 Составить нормализацию отношений
 Автоматизировать базу данных учета товара
 Исследовать основные понятия
 Разработать пользовательский интерфейс в Visual Basic
 Вывести запросы и таблица на формы в Visual Basic
Актуальность: в связи с большим потоком данных вручную становится
невозможно вести учет товаров и обрабатывать заказы, работать с
клиентами. Это процесс занимает много людских, временных и финансовых
затрат. Большие объемы информации легче и проще обрабатывать с
помощью программы, имеющей таблицы, запросы и т.д.
4
Глава 1. Описание предметной области
1.1. Общее положение компании «Парфюм Косметик»
Компания «Парфюм Косметик» осуществляет свою деятельность на
рынке России более 10 лет и зарекомендовала себя как честный и
ответственный партнер.
На сегодняшний день - это Крупнейшая в России парфюмернокосметическая компания, ее интересы представлены 18 филиалами в самых
крупных городах России. Головной офис расположен в г.Екатеринбург.
Компания принимает участие в разработке и производстве парфюмерии и
косметики, тем самым является производственной компанией. Имея,
положительную историю развития стремится к новым высотам и лидерству
на рынке России.
Компания сегодня является одним из крупнейших дистрибьюторов
парфюмерно-косметической продукции класса люкс в России. Основная цель
компании – обеспечение рынка здоровья и красоты высококачественными
товарами.
«Парфюм Косметик» готова к эффективному сотрудничеству со всеми
заинтересованными в стабильности и надежности партнерами по бизнесу,
стремимся создать для своих клиентов максимально удобные условия работы
и ориентируемся на долгосрочное сотрудничество.
Оптовая
парфюмерии
компания
и
«Парфюм
косметики
Косметик»
мировых
занимается
торговых
марок.
поставками
В
широком
ассортименте представлены духи, туалетная вода, средства по уходу за
лицом, уходу за телом, уходу за волосами, подарочные наборы.
Деятельность компании связана с оптовой продажей парфюмерии и
косметики.
5
1.2. Нормализация отношений
Нормализация
представляет
собой
процесс,
направленный
на
уменьшение избыточности информации в базе данных. Кроме самих данных,
в базе данных также могут быть нормализованы различные наименования,
имена объектов и выражения.
Нормализация
—
это
процесс,
направленный
на
уменьшение
избыточности информации в реляционной базе данных.
Ненормализованная база данных содержит информацию в одной или
нескольких различных таблицах; при этом создается впечатление, что
включение данных в ту или иную таблицу не обусловлено никакими
видимыми причинами. Такое положение дел может оказывать негативное
влияние на безопасность данных, рациональное использование дискового
пространства, скорость выполнения запросов, эффективность обновления
базы данных и, что, наверное, является наиболее важным, на целостность
хранимой информации. База данных перед нормализацией представляет
собой структуру, которая логически еще не разбита на более управляемые
таблицы меньшего размера.
Данные
не
должны
быть
избыточными,
поскольку
при
этом
непроизводительно расходуется дисковое пространство.
Нормальная форма — это своеобразный показатель уровня, или
глубины, нормализации базы данных. Уровень нормализации базы данных
соответствует нормальной форме, в которой она находится.
Вот три наиболее распространенных нормальных формы, в которых
может находиться база данных в процессе нормализации:
 Первая нормальная форма
 Вторая нормальная форма
 Третья нормальная форма
Из трех перечисленных нормальных форм каждая последующая зависит от
шагов, предпринятых в процессе получения предыдущей нормальной формы.
6
Первая нормальная форма
Говорят, что модель данных соответствует первой нормальной форме,
если в таблицах отсутствуют группы повторяющихся значений. Это
соответствие достигается путем выделения атрибутов с повторяющимися
значениями в отдельные сущности, созданием или выбором для них новых
первичных ключей и установлением связей "один ко многим" от новых
сущностей к старым. При этом первичные ключи новых сущностей станут
внешними ключами для старой сущности.
Для построения первой нормальной формы потребовалось разбить
данные на логические составляющие (таблицы), каждая из которых имеет
первичный ключ и гарантирует отсутствие повторяющихся групп данных.
В работе будут использованы следующие поля:
Naimenovanie_tovara
Kolichestvo
Cena
Family
Name
Otchestvo
Dolgnost
Telefon
Adress
Family_k
Name_k
Otchestvo_k
Telefon_k
Adress_k
Kolichestvo_z
Data_zakaza
7
Вторая нормальная форма
Говорят, что модель данных соответствует второй нормальной форме,
если в сущностях, содержащих составной первичный ключ, неключевые
атрибуты зависят от всего первичного ключа. Если же в какой-либо
сущности имеется зависимость каких-либо неключевых атрибутов от части
ключа, следует выделить их в отдельную сущность, сделав первичным
ключом новой сущности ту часть первичного ключа, от которой зависят
данные атрибуты, и установить связь "один ко многим" от новой сущности к
старой.
Целью второй нормальной формы является помещение в отдельную
таблицу данных, которые только частично зависят от первичного ключа
Вторая нормальная форма может быть получена из первой путем
дальнейшего разбиения таблиц на более специальные составляющие.
1. Таблица “Sklad”.
Sklad
Kod_tovara
¥
Naimenovanie
Kolichestvo
Cena
2.
Таблица “Sotrudniki”
Sotrudniki
Kod_sotrudnika
Family
¥
Name
Otchestvo
Dolgnost
Telefon
Adress
8
3.
Таблица“Klienty”
Klienty
Kod_klienta
Family_k
¥
Name_k
Otchestvo_k
Telefon_k
Adress_k
4.
Таблица“Zakazy”
Zakazy
Kod_zakaza
Kod_tovara
¥
Kolichestvo_z
Kod_sotrudnika
Kod_klienta
Data_zakaza
Третья нормальная форма
Говорят, что модель данных соответствует третьей нормальной
форме,
если
в
сущностях
отсутствует
взаимозависимость
между
неключевыми атрибутами. Это соответствие достигается путем выделения в
отдельную сущность атрибутов с одной и той же зависимостью от
неключевого
атрибута,
использования
атрибутов,
определяющих
эту
зависимость, в качестве первичного ключа новой сущности и установки
связи "один ко многим" от новой сущности к старой сущности.
Целью третьей нормальной формы является устранение из таблицы
данных, не зависящих от ее первичного ключа.
9
Результатом нормализации является модель данных, которую легко
поддерживать, не содержащая неопределенностей в данных и повторений
данных.
Приведем к третьей нормальной форме таблицы:
 Склад. Ключевое поле - Код товара
 Сотрудники. Ключевое поле- Код сотрудника
 Клиенты. Ключевое поле – Код клиента
 Заказы. Ключевое поле – Код заказа
Sklad
Kod_tovara
Naimenovanie
Kolichestvo
Cena
1
æ
æ
1
Zakazy
Kod_zakaza
Kod_tovara
Kolichestvo_t
Kod_sotrudnika
Kod_klienta
Data_zakaza
Klienty
Kod_klienta
Family_k
Name_k
Otchestvo_k
Telefon_k
Adress_k
10
1
æ
Sotrudniki
Kod_sotrudnika
Family
Name
Otchestvo
Dolgnost
Telefon
Adress
Чем выгодна нормализация
Нормализация базы данных выгодна со многих точек зрения. Далее
перечислены некоторые из основных преимуществ, которые она дает:
 Лучшая общая организация базы данных
 Сокращение избыточности информации
 Непротиворечивость информации внутри базы данных
 Более гибкий проект базы данных
 Большая безопасность данных
11
Глава 2. Разработка базы данных для учета товара
ООО «Компания Парфюм Косметик»»
2.1. Постановка технических задач
Необходимо в Microsoft SQL Server 2008 разработать базу данных по
учету товара в компании «Парфюм Косметик» и графически представить ее в
среде Visual Basic 2008. Для этого необходимо:
I. Технические требования к программе.
Программа необходима для улучшения качества работы по учету товара,
путем автоматизации данных таких как:
1. Информация о складе
2. Информация о сотрудниках
3. Информация о клиентах
4. Информация о заказах
II.Требования к функциональным характеристикам.
Данная программа должна отвечать таким требованиям, которые
предусмотрены автоматизацией. То есть выполнять функции такие, как:
1.
Для каждого товара из таблицы выведем наибольшую цену
2.
Выведем товар, количество которого в заказе меньше 5
3.
Вывести прибыль от продаж на каждую дату.
4.
Вывести среднюю цену проданного товара.
5.
Начисление НДС 13% на каждый вид товара.
6.
Вывести все данных по каждому заказу.
7.
Вывести на каждый вид заказа данные клиента и общую сумму заказа.
8.
Вывод данных по наименованию проданного товара.
9.
Вывести частых клиентов.
10. Вывести средний объем покупки для каждого клиента.
11. Вывести имена клиентов, из промежутка от «А» до «К»
12
2.2 Работа в SQL Server, создание тоблиц и запросов
Создадим новую базу данных. Для этого запускаем SQL Server, затем в
списке Нажимаем на Databases, затем создаем New Databases. Назовем ее
«ПарфюмКосметик».
Далее создаем в ней создадим 4 таблиц, обращаясь к нормализации из 1
главы:
 Sklad
 Sotrudniki
 Klienty
 Zakazy
Заполняем таблицы, определив поля и их тип.
Рис1.Sklad
13
Рис 2. Sortrudniki
Рис 3. Klienty
Рис 4. Zakazy
14
Созданные таблицы имеют вид:
Рис 5. Таблица Sklad
Рис 6. Таблица Sotrudniki
15
Рис 7. Таблица Klienty
Рис 8. Таблица Zakazy
Создание запросов
Для выбора информации из таблиц по заданным параметрам
используем запросы, которые в значительной степени упрощают ручную
работу, экономят время и средства.
Запросы к программе
Запрос 1. Для каждого товара из таблицы выведем наибольшую цену
SELECT
'Для' AS Для, Naimenovanie, 'наибольшая цена' AS Цена, MAX(Cena) AS Cena
FROM
dbo.Sklad
GROUP BY Naimenovanie
16
Запрос 2. Выведем товар, количество которого в заказе меньше 5
SELECT
TOP (100) PERCENT dbo.Zakazy.Kod_zakaza, dbo.Sklad.Naimenovanie, dbo.Sklad.Cena
FROM
dbo.Sklad INNER JOIN
dbo.Zakazy ON dbo.Sklad.Kod_tovara = dbo.Zakazy.Kod_tovara
WHERE
(dbo.Zakazy.Kolichestvo_z < 5)
ORDER BY dbo.Zakazy.Kod_zakaza
Запрос 3. Вывести прибыль от продаж на каждую дату.
SELECT
dbo.Zakazy.Data_zakaza, SUM(dbo.Sklad.Cena * dbo.Zakazy.Kolichestvo_z) AS Сумма
FROM
dbo.Zakazy INNER JOIN
dbo.Sklad ON dbo.Zakazy.Kod_tovara = dbo.Zakazy.Kod_tovara
GROUP BY dbo.Zakazy.Data_zakaza
Запрос 4. Вывести среднюю цену проданного товара.
SELECT
AVG(dbo.Sklad.Cena) AS Avg_Cena
FROM
dbo.Sklad INNER JOIN
dbo.Zakazy ON dbo.Sklad.Kod_tovara = dbo.Zakazy.Kod_tovara
Запрос 5. Начисление НДС 13% на каждый вид товара.
SELECT
dbo.Sklad.Naimenovanie, SUM(dbo.Sklad.Cena * .13) AS NDS
FROM
dbo.Sklad CROSS JOIN
dbo.Zakazy
GROUP BY dbo.Sklad.Naimenovanie
Запрос 6. Вывести все данных по каждому заказу.
SELECT
TOP (100) PERCENT Z.Kod_zakaza, Z.Data_zakaza, T.Naimenovanie, T.Cena, K.Name_k,
K.Adress_k, K.Telefon_k
FROM
dbo.Zakazy AS Z INNER JOIN
dbo.Sklad AS T ON Z.Kod_tovara = T.Kod_tovara INNER JOIN
dbo.Klienty AS K ON Z.Kod_klienta = K.Kod_klienta
ORDER BY Z.Kod_zakaza
Запрос 7. Вывести на каждый вид заказа данные клиента и общую
сумму заказа.
SELECT TOP (100) PERCENT dbo.Zakazy.Kod_zakaza, dbo.Klienty.Kod_klienta,
dbo.Klienty.Family_k, dbo.Klienty.Name_k, dbo.Klienty.Otchestvo_k,
dbo.Zakazy.Kolichestvo_z * dbo.Sklad.Cena AS Итого
FROM
dbo.Klienty INNER JOIN
dbo.Zakazy ON dbo.Klienty.Kod_klienta = dbo.Zakazy.Kod_klienta INNER JOIN
17
dbo.Sklad ON dbo.Zakazy.Kod_tovara = dbo.Sklad.Kod_tovara
ORDER BY dbo.Zakazy.Kod_zakaza
Запрос 8. Вывод данных по наименованию проданного товара
SELECT
TOP (100) PERCENT T.Naimenovanie, Z.Kod_zakaza, Z.Data_zakaza, T.Cena, K.Name_k,
K.Adress_k, K.Telefon_k
FROM
dbo.Zakazy AS Z INNER JOIN
dbo.Sklad AS T ON Z.Kod_tovara = T.Kod_tovara INNER JOIN
dbo.Klienty AS K ON Z.Kod_klienta = K.Kod_klienta
Запрос 9. Вывести частых клиентов.
SELECT
TOP (100) PERCENT dbo.Klienty.Name_k, COUNT(dbo.Zakazy.Kolichestvo_z) AS
'Количество заказов'
FROM
dbo.Zakazy INNER JOIN
dbo.Klienty ON dbo.Zakazy.Kod_klienta = dbo.Klienty.Kod_klienta
GROUP BY dbo.Klienty.Name_k
ORDER BY 'Количество заказов' DESC
Запрос 10. Вывести средний объем покупки для каждого клиента.
SELECT
dbo.Klienty.Family_k, AVG(dbo.Zakazy.Kolichestvo_z) AS Srednee_kolichestvo
FROM
dbo.Klienty INNER JOIN
dbo.Zakazy ON dbo.Klienty.Kod_klienta = dbo.Zakazy.Kod_klienta
GROUP BY dbo.Klienty.Family_k
Запрос 11. Вывести имена клиентов, из промежутка от «А» до «К».
SELECT
TOP (100) PERCENT Name_k
FROM
dbo.Klienty
WHERE
(Name_k BETWEEN 'А' AND 'К')
ORDER BY Name_k
Запрос 12. Данные проданного товара по сотруднику, отпустившего
его.(Общее количество и стоимость)
SELECT
dbo.Sotrudniki.Family,
SUM(dbo.Zakazy.Kolichestvo_z)
AS
Obshee_kolicestvo,
SUM(dbo.Sklad.Cena * dbo.Zakazy.Kolichestvo_z) AS Stoimost
FROM
dbo.Sklad INNER JOIN
dbo.Sotrudniki INNER JOIN
dbo.Zakazy ON dbo.Sotrudniki.Kod_sotrudnika = dbo.Zakazy.Kod_sotrudnika
ON dbo.Sklad.Kod_tovara = dbo.Zakazy.Kod_tovara
GROUP BY dbo.Sotrudniki.Family
18
2.3 Создание пользовательского интерфейса
Для создания интерфейса используется Visual Basic 2008. Создаем
новый проект с названием «PARFUM».
Затем создадим необходимые формы:
1. Главная форма (здесь располагается меню)
Меню создается с помощью инструмента MenuSrtip
В “Файл ” располагается подменю «Закрыть»
19
В «Таблицы» располагается
В «Запросы »:
2. Формы для вывода таблиц.
Ранее созданные таблицы(Cklad, Sotrudniki, Klienty, Zakazy) выводим
на форму путем перетаскивания мышкой. Прикрепляем этти фиормы с
таблицами к главной черз функцию FormA.Show(). Вместо А в
функции стоит номер открываемой формы.
20
Аналогично выводятся на форму таблицы: Сотрудники, Клиенты,
Заказы. (Их внешний вид показан в предыдущем пункте).
3. Формы для вывода запросов.
На каждую форму выводим созданные запросы в SQL Server 2008,
путем перетаскивания. Формы с запросами подключаются г главной
форме м помощью функции FormA.Show().Вместо А ставиться номар
подключаемой формы. Пример вывода запроса на форму:
21
22
23
24
25
4. Последний пункт меня представляет собой информацию о
программном продукте. Это окно формы так же как предыдущие
формы подключается к главной с помощью Form18.Show().
Нажав на конпку «ОК» закрывается данная форма, использовав
функцию Close().
26
Заключение
Автоматизированная работа с базами данных очень удобна. Такая база
имеет много функций и возможностей, она понятна и проста в обращении.
Цель и задачи, поставленные в работе, выполнены – создана база
данных для учета товара компании «Парфюм Косметик». Была узучена сфера
деятельности компании, собрана необходимая информация. В работе были
составлены таблицы и запросы на основе данных компании. Для удобного
пользования разработан пользовательский интерфейс в среде Visual Basic.
Данная база должна работать с оперативными данными, накопление
этих данных позволит проводить анализ деятельности предприятия за любой
период времени. Это является одной из задач внедрения системы.
Назначение данной базы данных состоит в регистрации товара,
сотрудников, клиентов. Есть возможность корректировки, хранения и
обработки информации с целью поиска и выдачи ответов на стандартные
запросы пользователей.
Созданные формы и запросы позволяют быстро и эффективно
обновлять данные, получать ответы на вопросы, осуществлять поиск нужных
данных, анализировать данные.
Для
принятия
обоснованных
и
эффективных
решений
в
производственной деятельности, в управлении данная база поможет
получать, накапливать, хранить и обрабатывать данные, представляя
результат
в
виде
наглядных
27
документов.
Список использованной литературы
1. Хоменко А.Д. Базы данных. Учебник для ВУЗОВ. – М.: Технология,
2000. – 325 с.
2. Леонтьев В.П. Новейшая энциклопедия персонального компьютера.
– М.: ОЛМА – ПРЕСС, 2003. – 650 с.
3. Карпова Т.С. Базы данных : модели, разработка, реализация. – С-Пб.:
Питер, 2001. - 458 с.
4. Дейт, К. Дж. Введение в системы баз данных. : Пер. с англ. – 6-е изд.
Диалектика, Москва, 1998.
5. Информатика. Базовый курс /Симонович С.В. и др.
- СПб:
Издательство «Питер», 2000. – 640с.
6. Голицына О.Л., Максимов Н.В. – Базы данных. – М.: Форум – Инфра
М, 2003. – 352 с.
7. Дейт К.Дж. Введение в системы баз данных. – М.: Вильямс, 2001. –
354 с.
8. Материалы сайта http://www.sql.ru
9. Материалы сайта http://www.citforum.ru
10. Материалы сайта http://www.microsoft.ru
28
Download