
- •Содержание
- •Введение
- •1 Постановка задачи
- •1.1 Описание бизнес-процесса
- •1.2 Описание задачи
- •1.3 Описание исходной (входной) информации
- •1.4 Описание результатной (выходной) информации.
- •1.5 Разработка базы данных
- •1.6 Описание алгоритма решения задачи
- •1.6.1 Функциональная схема задачи
- •1.6.2 Описание пользовательского интерфейса
- •2 Программная документация на изделие
- •2.1 Описание программы
- •2.2 Руководство оператора
- •3 Экспериментальное исследование программного изделия
- •4 Экономическое обоснование дипломного проекта
- •Составление сметы затрат на разработку
- •Материальные расходы
- •Затраты на оплату труда
- •Затраты на аппаратное обеспечение
- •Затраты на электроэнергию
- •Расчетная себестоимость проекта
- •Расчетные данные по формированию прибыли
- •Определение оптовой цены программного продукта
- •5 Эргономичность проэкта
- •5.1 Анализ и оценка разработки с точки зрения эргономики
- •5.2 Гигиеническое нормирование параметров микроклимата
- •Заключение
- •Библиографический список
- •Приложения
1.5 Разработка базы данных
Для создания информационной модели нужно определить сущности, которые будут удовлетворять всем требование к базе данных:
Прайс-лист;
Производитель;
Тип товара;
Проданный товар;
Чек;
Поступивший товар;
Приходная накладная.
Для удовлетворения дополнительных функций базы данных, также были включены следующие сущности:
Консультанты;
Доступ;
Деятельность.
Информационную модель изображаем в виде взаимосвязей между сущностями и бизнес-процессами. Диаграмма «Сущность-связь» будет выглядеть следующим образом:
Рисунок 11 - Диаграмма «Сущность-связь»
Сущность «Прайс-лист» содержит подробную информацию о товаре. В сущности «Тип товара» перечислены все типы товаров продаваемых в данном магазине. Сущность «Производитель» содержит: наименование производителя, страну производителя, перечень производимой продукции и дополнительную информацию. Сущность «Поступивший товар» - содержит информацию о поступившем товаре. Сущность «Приходная накладная» - объединяет поступивший товар по накладным. Сущность «Проданный товар» содержит данные по проданному товару, его количество и дату продажи. Сущность «Чек» объединяет проданный товар по чекам. Сущность «Консультанты» хранит полную информацию о консультантах магазина. Сущность «Доступ» хранит информацию о уровнях доступа пользователя к базе данных. Сущность «Деятельность» хранит информацию о произведенных действиях пользователем.
Приведем нашу базу данных к 1 нормальной форме.
Условия 1 нормальной формы:
должны отсутствовать повторяющиеся записи;
должны отсутствовать повторяющиеся атрибуты;
каждый атрибут должен быть неделим.
Для каждой сущности определим атрибуты, которые будут храниться в базе данных.
Сущность «Прайс-лист» содержит следующие атрибуты:
тип товара;
производитель;
модель;
краткие характеристики;
характеристики;
гарантия;
цена;
наличие на складе;
фотография товара.
Сущность «Производитель» содержит следующие атрибуты:
Наименование;
Страна;
Перечень типов продукции;
Дополнительная информация.
Сущность «Тип товара» содержит следующие атрибуты:
Тип товара.
Сущность «Проданный товар» содержит следующие атрибуты:
Код чека;
код товара;
количество;
сумма.
Сущность «Чек» содержит следующие атрибуты:
Код консультанта;
Дата выписки чека;
Сумма чека.
Сущность «Поступивший товар» содержит следующие атрибуты:
Код поставки;
Код продукта;
Количество;
Сумма.
Сущность «Приходная накладная» содержит следующие атрибуты:
Дата поставки.
Сущность «Консультанты» содержит следующие атрибуты:
фамилия;
имя,
отчество,
номер телефона;
дата рождения;
серия паспорта;
номер паспорта,
кем выдан;
принят;
уволен;
фото.
Сущность «Доступ» содержит следующие атрибуты:
Код консультанта;
Логин;
Пароль;
Права доступа.
Сущность «Деятельность» содержит следующие атрибуты:
Код доступа;
Дата операции;
Тип операции;
Операция.
В нашей базе данных выполняются все условия 1 нормальной формы. Далее следует привести базу данных к 2 нормальной форме. Рассмотрим условия 2 нормальной формы:
выполняются все условия 1 нормальной формы;
первичный ключ однозначно определяет запись;
все поля записи зависят от первичного ключа;
первичный ключ имеет минимальную форму.
Для того, что бы привести базу данных ко второй нормальной форме, нужно добавить в нее дополнительное ключевое поле.
Таблица 1 – Определение первичных ключей и атрибутов для сущностей.
Сущность |
Первичный ключ |
Атрибут |
прайс-лист |
код товара |
Тип товара, производитель, модель, краткие характеристики, характеристики, гарантия, цена, наличие на складе, фотография товара. |
производитель |
код производителя |
наименование, страна, перечень типов продукции, дополнительная информация. |
тип товара |
код типа товара |
тип товара. |
проданный товар |
код проданного товара |
код чека, код товара, количество, сумма. |
чек |
код чека |
код консультанта, дата выписки чека, сумма чека. |
поступивший товар |
Код поступившего товара |
код поставки, код продукта, количество, сумма. |
приходная накладная |
код приходной накладной |
дата поставки. |
консультанты |
код консультанта |
фамилия, имя, отчество, номер телефона, дата рождения, серия паспорта, номер паспорта, кем выдан, принят, уволен, фото. |
доступ |
код доступа |
код консультанта, логин, пароль, права доступа. |
деятельность |
код деятельности |
код доступа, дата операции, тип операции, операция. |
По этой таблице видно, что условия 2 нормальной формы выполняются. Рассмотрим условия 3 нормальной формы:
должны выполнятся условия 2 нормальной формы;
внутри сущностей должны отсутствовать транзитивные связи.
Так как в данных таблицах отсутствуют транзитивные связи, то выполняются условия 3 нормальной формы.
Информационная модель баз данных выглядит следующим образом:
Рисунок 12 - Информационная модель базы данных.
Составим проекты таблиц, т.е. определим и опишем структуру базы данных, которая будет состоять из 10 таблиц. Структура каждой таблицы приведена ниже.
Таблица 2 – Таблица «Прайс-лист»
Название поля |
Тип |
Размер |
Комментарий |
Код товара |
Счетчик |
5 |
Уникальный код товара |
Тип товара |
Числовой |
3 |
Внешний ключ типа товара |
Производитель |
Числовой |
3 |
Внешний ключ производителя |
Модель |
Текстовый |
100 |
Модель |
Краткие характеристики |
Текстовый |
255 |
Краткие характеристики |
Характеристики |
Memo |
Memo |
Полные характеристики товара |
Гарантия |
Числовой |
2 |
Гарантия |
Цена |
Денежный |
7,2 |
Цена товара |
Наличие на складе |
Числовой |
3 |
Наличие на складе |
Фотография |
Memo |
Memo |
Фотографии товара |
Таблица 3 – Таблица «Производитель»
Название поля |
Тип |
Размер |
Комментарий |
Код производителя |
Счетчик |
3 |
Код производителя |
Наименование |
Текстовый |
40 |
Наименование производителя |
Страна |
Текстовый |
40 |
Страна производителя |
Перечень типов продукции |
Текстовый |
255 |
Перечень продукции выпускаемой производителем |
Дополнительная информация |
Memo |
Memo |
Дополнительная информация о производителе |
Таблица 4 – Таблица «Тип товара»
Название поля |
Тип |
Размер |
Комментарий |
Код типа товара |
Счетчик |
3 |
Код типа товара |
Тип товара |
Текстовый |
40 |
Наименование типа товара |
Таблица 5 – Таблица «Проданный товар»
Название поля |
Тип |
Размер |
Комментарий |
Код проданного товара |
Счетчик |
5 |
Код проданного товара |
Код чека |
Числовой |
5 |
Внешний ключ чека |
Код продукта |
Числовой |
5 |
Внешний ключ продукта |
Количество |
Числовой |
2 |
Количество |
Сумма |
Денежный |
8,2 |
Сумма |
Таблица 6 – Таблица «Чек»
Название поля |
Тип |
Размер |
Комментарий |
Код чека |
Счетчик |
5 |
Код чека |
Код консультанта |
Числовой |
3 |
Внешний ключ консультанта |
Дата выписки чека |
Дата\время |
дд.мм.гггг |
Дата выписки чека |
Сумма чека |
Денежный |
8,2 |
Сумма чека |
Таблица 7 – Таблица «Поступивший товар»
Название поля |
Тип |
Размер |
Комментарий |
Код поступившего товара |
Счетчик |
5 |
Код поступившего товара |
Код поставки |
Числовой |
5 |
Внешний ключ поставки |
Код продукта |
Числовой |
5 |
Внешний ключ продукта |
Количество |
Числовой |
3 |
Количество |
Сумма |
Денежный |
8,2 |
Сумма |
Таблица 8 – Таблица «Приходная накладная»
Название поля |
Тип |
Размер |
Комментарий |
Код приходной накладной |
Счетчик |
5 |
Код приходной накладной |
Дата поставки |
Дата\Время |
дд.мм.гггг |
Дата поставки |
Таблица 9 – Таблица «Консультанты»
Название поля |
Тип |
Размер |
Комментарий |
Код консультанта |
Счетчик |
3 |
Код консультанта |
Фамилия |
Текстовый |
30 |
Фамилия |
Имя |
Текстовый |
30 |
Имя |
Отчество |
Текстовый |
30 |
Отчество |
Номер телефона |
Текстовый |
100 |
Номер телефона |
Дата рождения |
Дата\Время |
дд.мм.гггг |
Дата рождения |
Серия паспорта |
Числовой |
4 |
Серия паспорта |
Номер паспорта |
Числовой |
6 |
Номер паспорта |
Кем выдан |
Текстовый |
255 |
Кем выдан |
Принят |
Дата\Время |
дд.мм.гггг |
|
Уволен |
Дата\Время |
дд.мм.гггг |
|
Фото |
Текстовый |
30 |
Фото |
Таблица 10 – Таблица «Доступ»
Название поля |
Тип |
Размер |
Комментарий |
Код доступа |
Счетчик |
3 |
Код доступа |
Код консультанта |
Числовой |
3 |
Внешний ключ консультанта |
Логин |
Текстовый |
20 |
Логин |
Пароль |
Текстовый |
18 |
Пароль |
Права доступа |
Текстовый |
6 |
Права доступа |
Таблица 11 – Таблица «Деятельность»
Название поля |
Тип |
Размер |
Комментарий |
Код деятельности |
Счетчик |
5 |
Код деятельности |
Код доступа |
Числовой |
3 |
Внешний ключ доступа |
Дата операции |
Дата\Время |
дд.мм.гггг |
Дата операции |
Тип операции |
Текстовый |
25 |
Тип операции |
Операция |
Memo |
Memo |
Операция |
Для удобства разработки программы переведем название таблиц на английский язык и избавимся от пробелов:
Таблица 12 – Преобразование имен таблиц.
Русское название |
Английское название |
Прайс-лист |
Price_list |
Тип товара |
Product_type |
Производитель |
Manufacturer |
Проданный товар |
Product_sale |
Чек |
Sale_check |
Поступивший товар |
Product_supply |
Приходная накладная |
Supply |
Консультанты |
Seller |
Доступ |
Login_table |
Деятельность |
Operation |
Также переведем название полей на английский язык и избавимся от пробелов:
Таблица 13 – Преобразование полей таблицы «Price_list»
Русское название |
Английское название |
Код товара |
Product_code |
Тип товара |
Product_type |
Производитель |
Manufacturer |
Модель |
Model |
Краткие характеристики |
Small_features |
Характеристики |
Features |
Гарантия |
Price |
Цена |
Presense |
Наличие на складе |
Warranty |
Фотография |
Product_image |
Таблица 14 – Преобразование полей таблицы «Product_type»
Русское название |
Английское название |
Код типа товара |
Type_code |
Тип товара |
Product_code |
Таблица 15 – Преобразование полей таблицы «Manufacturer»
Русское название |
Английское название |
Код производителя |
Id_man |
Наименование |
Manufacturer |
Страна |
Country |
Перечень типов продукции |
Type_list |
Дополнительная информация |
description |
Таблица 16 – Преобразование полей таблицы «Product_sale»
Русское название |
Английское название |
Код проданного товара |
Sale_code |
Код чека |
Check_code |
Код продукта |
Product_code |
Количество |
Presence |
Сумма |
Price |
Таблица 17 – Преобразование полей таблицы «Sale_check»
Русское название |
Английское название |
Код чека |
Check |
Код консультанта |
Seller |
Дата выписки чека |
Check_data |
Сумма чека |
Summa |
Таблица 18 – Преобразование полей таблицы «Product_supply»
Русское название |
Английское название |
Код поступившего товара |
Supply_code |
Код поставки |
Supply |
Код продукта |
Product_code |
Количество |
Presence |
Сумма |
Summa |
Таблица 19 – Преобразование полей таблицы «Supply»
Русское название |
Английское название |
Код приходной накладной |
Supply_code |
Дата поставки |
Supply_date |
Таблица 20 – Преобразование полей таблицы «Seller»
Русское название |
Английское название |
Код консультанта |
Seller_code |
Фамилия |
First_name |
Имя |
Last_name |
Отчество |
Middle_name |
Номер телефона |
Phone |
Дата рождения |
Data_birth |
Серия паспорта |
Series_passport |
Номер паспорта |
Number_passport |
Кем выдан |
Issued |
Принят |
Accepted |
Уволен |
Dismissed |
Фото |
Photo |
Таблица 21 – Преобразование полей таблицы «Login_table»
Русское название |
Английское название |
Код доступа |
Code |
Код консультанта |
Code_Seller |
Login |
Login |
P |
Password |
Права доступа |
Permission |
Таблица 22 – Преобразование полей таблицы «Operation»
Русское название |
Английское название |
Код деятельности |
Id_operation |
Код доступа |
Id_login |
Дата операции |
Date_operation |
Тип операции |
Type |
Операция |
Operation |
После всех преобразований информационная модель базы данных выглядит следующим образом:
Рисунок 13 - Информационная модель базы данных с учетом изменений.