Автор: Пользователь скрыл имя, 22 Августа 2011 в 12:46, дипломная работа
Целью данной выпускной работы является анализ и разработка системы автоматизации документооборота для предприятия ООО «Элси-Медиа».
Компания «ЭЛСИ» была основана в апреле 1999 года.
Она сегодня охватывает практически все направления выбранной сферы деятельности, а именно:
• продажа компьютеров и комплектующих любой сложности;
• продажа любой оргтехники;
• продажа расходных материалов и бумаги;
Продавец
Покупатель
В результате имеется 3 сущности: продавец, продажа и покупатель. Определим, какие данные должных храниться в проектируемой БД:
о товаре (группа товара, наименование товара, склад товара, остаток товара на складе, цена за единицу, срок гарантии);
о покупателях (ФИО, адрес, телефон);
о продажах (номер расходной накладной, тип расходной накладной, дата создания накладной, покупатель, наименование товара, кол-во товара, величина скидки, сумма);
о товарах, поставленных в резерв (наименование товара, дата резервирования, кол-во товара)
Теперь определим, какие задачи должна выполнять разрабатываемая АСУ:
возможность ввода данных;
возможность изменения вносимых данных;
возможность хранения вносимых данных;
возможность учета вносимых данных;
вывод статистики продаж;
оповещение;
В
следующую таблицу внесем необходимые
для разрабатываемой БД данные:
| Группа товара |
| Наименование товара |
| Склад товара |
| Остаток товара |
| Цена товара |
| Срок гарантии |
| ФИО покупателя |
| Адрес покупателя |
| Телефон покупателя |
| Номер расходной накладной |
| Тип расходной накладной |
| Дата расходной накладной |
| Кол-во товара |
| Величина скидки |
| Сумма |
| Дата резервирования |
| Кол-во товара |
Нормализация данных
Нормализация отношений – это преобразование универсального отношения к их совокупности так, что каждое из полученных отношений содержит только одну полную функциональную зависимость.
Функциональная зависимость — это такая связь между атрибутами А и В одного и того же отношения, когда каждому значению А соответствует только одно значение В. Атрибут А называют ключом. Ключи могут быть составными, т. е. они могут представлять собой не единичные атрибуты, а группы, состоящие из двух и более атрибутов.
Процесс нормализации включает приведение отношения к трем нормальным формам: устранение повторяющихся групп, удаление частично зависимых атрибутов, удаление транзитивно зависимых атрибутов.
Первая нормальная форма.
поля содержат неделимую информацию;
в
таблице отсутствуют
В
результате приведения к первой нормальной
форме, получим таблицы:
Товары
| Группа товара |
| Наименование товара |
| Остаток товара |
| Цена товара |
| Срок гарантии |
Покупатели
| Наименование покупателя |
| Адрес покупателя |
| Телефон покупателя |
Продажи
| Номер расходной накладной |
| Тип расходной накладной |
| Дата расходной накладной |
| Наименование покупателя |
| Наименование товара |
| Кол-во товара |
| Величина скидки |
| Сумма |
Резерв
| Дата резервирования |
| Кол-во товара |
Вторая нормальная форма
таблица должна удовлетворять требованиям первой нормальной формы;
все поля таблицы должны зависеть от первичного ключа, т.е. чтобы первичный ключ однозначно определял запись и не был избыточным;
те
поля, которые зависят только от
части первичного ключа, должны быть
выделены в отдельные таблицы.
Товары
| Код товара |
| Группа товара |
| Наименование товара |
| Остаток товара |
| Цена товара |
| Срок гарантии |
Покупатели
| Код покупателя |
| Наименование покупателя |
| Адрес покупателя |
| Телефон покупателя |
Продажи
| Код расходной накладной |
| Номер расходной накладной |
| Тип расходной накладной |
| Дата расходной накладной |
| Код покупателя |
| Код товара |
| Кол-во товара |
| Величина скидки |
| Сумма |
Резерв
| Код товара |
| Дата резервирования |
| Кол-во товара |
Третья нормальная форма
таблица должна удовлетворять требованиям второй нормальной формы;
ни одно из неключевых полей не должно однозначно идентифицироваться значением другого неключевого поля.
В
результате третьей нормальной формы
убираем поле «Сумма» из таблицы
«Продажа», так как оно является
вычисляемым полем:
Товары
| Код товара |
| Группа товара |
| Наименование товара |
| Остаток товара |
| Цена товара |
| Срок гарантии |
Покупатели
| Код покупателя |
| Наименование покупателя |
| Адрес покупателя |
| Телефон покупателя |
Продажи
| Код расходной накладной |
| Номер расходной накладной |
| Тип расходной накладной |
| Дата расходной накладной |
| Код покупателя |
| Код товара |
| Кол-во товара |
| Величина скидки |
Резерв
| Код товара |
| Дата резервирования |
| Кол-во товара |
В итоге, в нашей проектируемой БД получается две справочные таблицы –это «Товар» и «Покупатели» и две транзакционные таблицы – «Продажи» и «Резерв». Справочные, содержат информацию справочного характера, обладают невысокой степенью изменения, выступают в качестве главной таблицы. Должны быть неизбыточными, т.е. хранить только общие сведения для данного предмета. Транзакционные, служат для накопления данных, основанных на значении данных в другой таблице. Таблица «Продажа» связана с таблицами «Товар» и «Фирмы» по составному ключу, то есть по нескольким полям, а именно: через поля «Код товара» и «Код фирмы». Остальные таблицы связаны между собой по Таблицы связаны между собой типом связи "один-ко-многим" – означает, что одной записи главной таблицы в подчиненной таблице может соответствовать несколько записей. Этот вид отношения встречается наиболее часто.
Структура
БД:
| Атрибут | Описание |
| TovID | Уникальный идентификатор товара |
| TovTovGrup | Наименование группы товара |
| TovName | Наименование товара |
| TovOst | Остаток товара на складе |
| TovPrice | Цена товара на складе |
| TovTimeOk | Срок гарантийного обязательства |
| FirmID | Уникальный идентификатор покупателя |
| FirmName | Наименование фирмы |
| FirmAdress | Адрес фирмы |
| FirmPhone | Телефон фирмы |
| RasNaklID | Уникальный
идентификатор расходной |
| RasNaklDate | Дата создания расходной накладной |
| RasNaklType | Тип расходной накладной (безнал, товарный чек, чекДоплата) |
| RasNaklPokup | Получатель расходной накладной |
| RasNaklTov | Наименование товара |
| RasNaklTKol | Количество товара |
| RasNaklSale | Величина скидки в % |
| ReservTov | Резервируемый товар |
| ReservData | Дата резервирования |
| ReservKol | Кол-во резервируемого товара |
Описание
таблиц
Таблица «Товар»:
| Поле | Тип данных | Длина | Характеристика |
| ТоварID | Счетчик | ключ | |
| Группа товара | Числовой(number) | индекс | |
| Наименование | Текстовый(alpha) | 50 | |
| Остаток | Числовой (number) | ||
| Цена | Денежный (money) | ||
| Срок гарантии | Числовой (number) |