Создание базы данных для автоматизации деятельности отделов предприятия ООО 'Татлесстрой'
Федеральное
агентство по образованию
Филиал
государственного образовательного учреждения
высшего
профессионального образования
Факультет
прикладной математики и информационных технологий
Специальность:
080116.65 "Математические методы в экономике".
Курсовая
работа
Создание базы
данных для автоматизации деятельности отделов предприятия ООО
"Татлесстрой"
Оглавление
база документооборот автоматизация access
Введение
.
Организационно-экономическая сущность задачи
.1
Возникновение задачи
.2 Структура
предприятия заказчика
.3
Информационные процессы
.4 Перечень задач, предлагаемых
заказчиком для исполнения
. Построение информационно-логической
модели предметной области
.1 Входные
документы
.2 Выходные
документы
.3 ER-диаграмма
.4 Реляционная
модель
.5 Построение
нормализованных отношений
. Физическое проектирование базы данных
в среде Microsoft Access
.1 Создание
таблиц
.2 Ориентировочный расчет требуемой
памяти
.3 Загрузка
таблиц
. Разработка
интерфейса пользователя
.1 Создание
главной кнопочной формы
.2 Проект
меню
.3 Создание
форм
.4 Решение
задач заказчика
.5 Создание
диаграмм
.6 Создание
отчета
Заключение
Список
литературы
Приложения
Введение
Обработка больших объемов информации становится не под силу человеку,
поэтому для быстрой и достоверной обработки данных используются персональные
компьютеры. Информация в компьютере структурируется и хранится, как правило, в
виде таблиц. В свою очередь, отдельные таблицы объединяются в базы данных.
Базы данных (БД) - это совокупность сведений о конкретных объектах
реального мира в какой-либо предметной области. Под предметной областью принято
понимать часть реального мира, подлежащего изучению для организации управления
и автоматизации, например предприятие, вуз и т.д. [1]
В деловой или личной сфере часто приходится работать с данными из разных
источников, каждый из которых связан с определенным видом деятельности. Для
координации всех этих данных необходимы определённые знания и организационные
навыки. Microsoft Access объединяет сведения из разных источников в одной
реляционной базе данных. Создаваемые формы, запросы и отчеты позволяют быстро и
эффективно обновлять данные, получать ответы на вопросы, осуществлять поиск
нужных данных, анализировать данные и печатать отчеты.
Система база данных в MS Access представляет собой совокупность
инструментов для ввода, хранения, просмотра, выборки и управления информации.
Система поддерживает первичные и внешние ключи и обеспечивает целостность
данных на уровне ядра (что предотвращает несовместимые операции обновления или
удаления данных). Кроме того, таблицы в Access снабжены средствами проверки
допустимости данных, предотвращающими некорректный ввод вне зависимости от
того, как он осуществляется, а каждое поле таблицы имеет свой формат и
стандартные описания, что существенно облегчает ввод данных. Эту систему можно
рассматривать и как среду разработки приложений. Используя макросы или модули
для автоматизации решения задач, можно создавать ориентированные на
пользователя приложения такими же мощными, как и приложения, написанные
непосредственно на языках программирования. При этом они будут включать кнопки,
меню и диалоговые окна [2].
Целью нашей работы является создать базу данных в СУБД ACCESS, которая
должна будет автоматизировать работу служащих ООО "Татлесстрой". А
так же привести пример создания базы данных на языке T-SQL.
1. Организационно-экономическая сущность задачи
.1
Возникновение задачи
"Sedon" - современная, динамично развивающаяся холдинговая
группа. Целью создания явилось объединение промышленных предприятий,
представляющих один из наиболее промышленно-развитых регионов России в единую
эффективную технологическую цепочку. Миссия Холдинговой группы
"Sedon"- Содействие крупным промышленным предприятиям в обеспечении
развития и роста.
Холдинговая группа "Sedon"-это:
· ООО "Татлесстрой" - производственное предприятие по
выпуску промышленной тары;
· ООО "Нижнекамский завод низковольтного провода
(НЗНП)" - производственное предприятие по выпуску автомобильного провода;
· ООО "Камский завод полимерных материалов" -
производственное предприятие по выпуску полимерных материалов.
Все предприятия холдинга расположены в г.Нижнекамске - в промышленно
развитом Поволжском Федеральном округе, в непосредственной близости с
крупнейшими производителями полимерного сырья - ОАО
"Нижнекамскнефтехим" и "Казаньоргсинтез".
ООО "Татлесстрой" является лидером российского рынка
промышленной тары. Компания была основана 1 февраля 1989 года, и на сегодня
предлагает своим клиентам широкий ассортимент продукции из полимеров, дерева и
бумаги. Первой на Российском рынке Компания представила современный полимерный
контейнер POLYBOX.
В производственной программе также представлены:
· многофункциональный полимерный лист TRIPLIC(представляет собой
сотовый лист на основе полипропилена с добавлением минеральных наполнителей);
· контейнер деревянный;
· деревянный поддон;
· мешок бумажный (для упаковки и транспортировки сыпучей и
брикетной продукции);
· пластиковые поддоны PALLETA;
· продуктовые пластиковые ящики.
Требуется создать многофункциональную БД для полимерного цеха, с целью
решения вопросов, связанных с хранением и обработкой информации о выпускаемой
продукции, о складах, на которых она хранится, и о сотрудниках, работающих в
этом цехе.
На предприятии функционирует 5 цехов, в которых работают 400 человек,
присутствуют 4 склада, на которых хранится продукция. У предприятия заключены
договоры с 25-ю организациями, которые покупают изготовленную продукцию.
Рассмотрим 2 склада и полимерных цех, в котором работают 40 сотрудников.
Рабочие выпускают в среднем 100.000 ед. продукции.
Основными требованиями заказчика к БД являются:
¨ Наглядность.
¨ Удобство использования;
¨ Возможность использования БД при
отсутствии профессиональных навыков.
1.2 Структура
предприятия заказчика
ООО "Татлесстрой" имеет следующую структуру:
Основные функции и задачи отделов.
Отдел кадров (директора по кадрам, зам. директора по кадрам):
v подбор, отбор, расстановка, изучение и использование рабочих кадров,
руководителей и специалистов;
v участие в формировании стабильного коллектива;
v создание кадрового резерва и работа с ним.
Служба управления качеством (инженер по качеству):
v разработка, поддержание и совершенствование руководств и процедур системы
качества, а также программ качества по проектам, видам продукции и видам
деятельности. Процедуры и руководства - основная документация системы качества;
v оценки уровня качества;
v внутренние и внешние аудиты (ревизии, экспертизы, инспекции, проверки)
системы менеджмента качества, внутренний и внешний контроль качества в цехах,
подразделениях и службах предприятия, у действующих и потенциальных
поставщиков;
Служба главного энергетика (главный энергетик, зам.главного энергетика):
v разработка планов производства и потребления предприятием электроэнергии,
технологического топлива, пара, газа, воды, сжатого воздуха, норм расхода и
режимов потребления всех видов энергии;
v разработка графиков ремонта энергетического оборудования и энергосетей;
v контроль и разработка мероприятий по снижению норм расхода энергоресурсов,
внедрению новой техники, способствующей более надежной, экономичной и
безопасной работе энергоустановок, а также повышению производительности труда;
Финансовый отдел (главный экономист, экономист, главный бухгалтер,
бухгалтер):
v организация и проведение работы по бухгалтерскому учету имущества,
финансовых и хозяйственных операций;
v обеспечения контроля над правильной постановкой и ведением бухгалтерского
учета, наличия движения и использования материальных ценностей и денежных
средств;
v организация работы по финансовому обеспечению и повышению
результативности расходов;
v составляет периодическую и годовую бухгалтерскую отчетность;
v анализирует исполнение сметы доходов и расходов, выявляет причины,
способствующие повышению результативности расходов;
v учет расчетов по оплате труда;
v подготовка и сдача отчетности в Инспекцию МНС, Фонд социального
страхования, пенсионный фонд, статистическое управление.
Отдел логистики, складская служба (начальник, заместитель, зав. складом):
Отдел логистики занимается всем, что связано с движением товара.
v логистика обеспечивает продвижение товарного потока к потребителю;
v участие в осуществлении закупок;
v контроль поставок;
v расчет стоимости перевозки грузов;
v управление сервисом продаж;
v ведет прием, учет, хранение и передачу сырья и материалов, создает
условия для сохранности сырья и материалов, находящихся на временном хранении.
Отдел информационных технологий (начальник, заместитель по ИТ):
v определение целей и постановка задач по созданию безопасных информационных
технологий, отвечающих требованиям комплексной защиты информации;
v проведение специальных исследований и контрольных проверок по выявлению
возможных каналов утечки информации и разработка мер по их устранению и
предотвращению;
v разработка регламента допуска сотрудников предприятия к отдельным каналам
информации, плана защиты информации, положений об определении степени
защищенности ресурсов автоматизированных систем;
v выбор, установка, настройка и эксплуатация систем защиты в соответствии с
организационно-распорядительными документами.
Отдел безопасности:
v организация инженерно-технической защиты охраняемых зданий, помещений и
имущества предприятия;
v выявление ненадежных деловых партнеров, сбор информации о лицах,
заключающих контракты с предприятием;
v выявление неблагонадежных сотрудников и их групп путем психологического
тестирования;
v организацию ведения конфиденциальных переговоров;
Отдел охраны труда и техники безопасности (ОТиТБ):
v организация и обеспечение контроля над проведением мероприятий,
направленных на создание безопасных условий труда на предприятии;
v участие в расследовании и анализе причин производственного травматизма и
профессиональных заболеваний, в разработке мероприятий по их предупреждению и
устранению;
v контроль над соблюдением законодательных норм, правил техники
безопасности и промышленной санитарии;
v обеспечение проведения вводного инструктажа по технике безопасности
поступающих на предприятие работников, организация проведения повторного
инструктажа в цехах и службах предприятия.
Конструкторско-технологический отдел (главный технолог, заместитель,
ведущий конструктор, конструктор, технолог);
v Выдает рабочую и эксплуатационную документацию на изделие;
v Разрабатывает технологические процессы изготовления продукции;
v Осуществляет технический надзор на этапе производства и монтажа у
потребителя.
Производственно-технический отдел (начальник, плановик, кладовщик):
Обеспечивает выпуск продукции в установленные сроки, по заданной
номенклатуре, качеству и количестве;
Отдел маркетинга и рекламы (начальник, заместитель, ведущий менеджер по
продажам):
v поиск и привлечение клиентов;
v исследование потребительских свойств, производимой продукции и сбор
информации об удовлетворенности ими покупателей;
v анализ конкурентоспособности продукции предприятия, сопоставление ее
потребительских свойств, цены, издержек производства с аналогичными
показателями конкурирующей продукции, выпускаемой другими предприятиями;
v участие совместно с экономическим, конструкторским, и технологическим отделами
в определении себестоимости новых изделий и разработка мероприятий по снижению
себестоимости выпускаемой продукции;
v подготовка и заключение договоров с покупателями с учетом нормативных
актов на планирование и отгрузки готовой продукции;
v организация рекламы при помощи средств массовой информации; организация и
подготовка статей для журналов, газет, радио...;
v составление плана продаж;
Служба главного инженера (главный инженер, ведущий инженер по ремонту и
транспорту):
v производственно-хозяйственная деятельность (выполнение
ремонтно-строительных работ, обслуживание и профилактика инженерно-технических
систем);
v материальное обеспечение (определение потребности материально-технических
средств, приобретение и закупка оборудования);
v техническое обеспечение:
1. своевременное и качественное проведение технического
обслуживания;
2. подготовка автомобилей к ежегодному техническому осмотру;
. обеспечение автотранспортных перевозок.
1.3
Информационные процессы
§ Ценник на продукцию.
Ценник составляет экономист финансового отдела, подписывает главный
экономист, утверждает генеральный директор. Ценник направляется в цеха, на
склад кладовщикам, в финансовый отдел и руководителям предприятия.
Этот документ необходим для учета, планирования, анализа, отчетов в
денежном выражении. Выводится в отчете Выручка по каждому товару за месяц.
§ Сведения о сотрудниках
Документ составляется экономистом по труду, утверждается директором
предприятия, передается в отдел кадров и бухгалтерию для оформления работников
на работу и оплату их труда. После подписания заявления директором, занимаются
оформлением инспектор по кадрам и экономист по труду по тарифной системе.
Данные о работнике вводятся в базу данных предприятия. Выводится в отчетах
Специальности рабочих, Список работников со стажем свыше 10 лет, Сведения о
рабочем.
§ Сменное задание
Сменное задание составляют плановик и кладовщик отдела логистики,
подписывают: зав.складом и старший смены. Этот документ нужен для учета объема
выпускаемой продукции, каждой сменой за свой рабочий день, остатков продукции
на складах. Выводится в отчетах Накладная в места хранения, и в Отчете о
количестве продукции на складе.
.4 Перечень
задач, предлагаемых заказчиком для исполнения
Заказчик поставил перед нами следующие задачи:
1. Отдел кадров
1.1. Предоставить возможность поиска и вывода информации о сотруднике
по паспорту
1.2. Количество рабочих в цеху
.3. Количество рабочих по специальностям
.4. Вывод списка начальников смен
2. Бухгалтерия
2.1. Вывод списка работников со стажем свыше 10 лет
2.2. Вычисление общего фонда средней заработной платы по
специальностям;
.3. Вывод количества изготовленной продукции (каждой сменой)
.4. График работы смен
2.5. График работы каждой смены (за месяц)
3. Отдел по продажам
3.1. Стоимость 1-ой пачки продукции
3.2. Построение диаграммы "Количество продукции на складах"
.3. Вычисление количества продукции выпускаемой за месяц (по плану и
фактически)
.4. Вычисление суммы произведенной продукции за месяц (в пачках)
.5. Вычисление суммы произведенной продукции за месяц (поштучно)
3.6. Вывод количества каждого вида продукции изготовленного за
месяц
.7. Вычисление стоимости каждой произведенной продукции (за месяц)
.8. Вычисление суммы всей произведенной продукции (за месяц)
.9. Обеспечить возможность поиска количества пачек за нужную дату
4. Отдел логистики
.1 Количество продукции на складе по коду
4.2 Количество продукции на складе (в пачках)
4.3 Количество продукции на складе (поштучно)
.4 Построение диаграммы Итоги производства
Для выполнения этих задач нам потребуются дополнительные запросы:
добавление, изменение данных в таблицах Продукция, Сотрудники, Должности,
Смены, Склады.
2. Построение
информационно-логической модели предметной области
Создавая базу данных, нужно упорядочить данные по определенным правилам
(структурировать данные), чтобы с максимальным комфортом работать с базой
данных. Для начала структурирования данных следует выбрать
информационно-логическую (инфологическую) модель данных, которая является ядром
любой базы данных. Информационно-логическая модель является фундаментом, на
котором будет создана база данных. Для этого рассматриваются входные и выходные
документы, относящиеся к предметной области заказчика, и учитываются
поставленные задачи.
.1 Входные
документы
§ Сменное задание (Дата задания, Старший смены, Табельный номер смены, Код
продукции, Название, Количество (План/Факт)).
§ Информация о сотрудниках (№ Паспорта, ФИО, Дата рождения, Пол, Адрес).
§ Ценник на продукцию (Код Продукции, Наименование, Длинна, Ширина, Высота,
Вес, Количество штук в каждой готовой пачке, Цена за одну пачку).
.2 Выходные
документы
Результаты решения задач заказчика зафиксированы в следующих документах
(Отчеты):
§ Выпуск продукции (Управленческий учет)
Номер продукции, Название, Количество пачек, Общее количество.
§ Накладная на передачу готовой продукции в места хранения
Номер документа, Дата составления, Отправитель, Получатель, Код
продукции, Название, Количество пачек, Цена одной пачки, Сумма за каждый вид
продукции, Общая сумма.
§ Финансовый результат по каждому товару по месяцам
Номер продукции, Название, Выручка, Общая сумма.
§ График работы
Код смены, Дата выхода на работу смен, Дата конца работы смен.
§ Отчет о количестве продукции на складе
Код склада, Наименование, Количество пачек, Сумма пачек.
§ Отчет о рабочем.
Паспорт, ФИО, Дата рождения, Дата трудоустройства.
§ Вывод списка работников со стажем свыше 10 лет
ФИО, Дата трудоустройства.
§ Отчет о специальностях рабочих
Паспорт, ФИО, Номер Должности, Табельный номер смены.
Отчет Выпуск продукции (Управленческий Учет) составляется кладовщиком и
подписывает его зав. складом. Передается в отдел логистики. Этот документ
необходим для подсчета количества произведенной продукции и оценки производства
за текущий период.
Отчет График работы составляется и подписывается табельщиком, и
передается как в бухгалтерию, так и на склад. В бухгалтерию для начисления
заработной платы. Так как на производстве каждая смена при сборе пачек
указывает дату сбора, при выявлении брака необходимо выяснить какая смена
собрала пачку. Для этого нужен данный отчет на складе.
.3
ER-диаграмма
Для проектирования информационно-логической модели существуют различные
средства, в том числе и компьютерные. Воспользуемся ER-диаграммой (ER - Entity
Relation - Сущность - Связь).
Сущность - это класс однотипных объектов, информация о которых должна
быть учтена в модели. Каждая сущность должна иметь наименование, выраженное
существительным в единственном числе. [5]
Атрибут сущности - это именованная характеристика, являющаяся некоторым
свойством сущности. [5]
Ключ сущности - это неизбыточный набор атрибутов, значения которых в
совокупности являются уникальными для каждого экземпляра сущности.
Неизбыточность заключается в том, что удаление любого атрибута из ключа
нарушает его уникальность [6].
Сущность может иметь несколько различных ключей. Несколько атрибутов
могут претендовать на роль ключа.
Связь - это некоторое отношение между двумя сущностями. Она показывает
отношение одной сущности к другим. Связи позволяют по атрибутам сущности
находить атрибуты в других сущностях, т.е. соответствующие характеристики,
связанные с данной сущностью по смыслу [1]. Различают связи трех видов, для
которых введены следующие обозначения:
· Один к одному (1:1);
· Один ко многим (1:М);
· Многие ко многим (М:М).
При построении инфологической модели предметной области устанавливаются
связи между выявленными информационными объектами.
Рассмотрим следующие сущности: ПРОДУКЦИЯ, СОТРУДНИКИ, СКЛАДЫ, СМЕНА,
ДОЛЖНОСТИ и определим между ними связи.
Каждый сотрудник должен иметь определенную должность, а одну должность
могут иметь несколько сотрудников. Поэтому связь между сущностями ДОЛЖНОСТИ и
СОТРУДНИКИ многие к одному (М: 1).
В одну смену могут поставить работать несколько рабочих, а один рабочий
может быть поставлен в одну смену. Поэтому связь между сущностями СОТРУДНИКИ и
СМЕНА многие к одному (М: 1).
Одна смена за свой рабочий день может производить несколько видов
продукции, а один вид продукции могут делать все смены. Поэтому связь между
сущностями ПРОДУКЦИЯ и СМЕНА многие ко многим (М: М).
Один вид продукции может находиться на нескольких складах, а на одном
складе может находиться несколько видов продукции. Поэтому связь между
сущностями ПРОДУКЦИЯ и СКЛАД многие ко многим (М: М).
Итак, получили следующую ER-диаграмму.
2.4
Реляционная модель
Что такое реляционная модель? Достаточно точно ее характеризует следующее
определение: реляционная модель - это способ рассмотрения данных, т.е.
предписание для способа представления данных (посредством таблиц) и для способа
работы с таким представлением (посредством операторов). Или, точнее,
реляционная модель связана с тремя аспектами данных: структурой, целостностью и
обработкой данных [5].
Реляционная модель ориентирована на организацию данных в виде двумерных
таблиц. Каждая реляционная таблица представляет собой двумерный массив и
обладает следующими характеристиками:
1. Каждый элемент таблицы - один элемент данных.
2. Все столбцы в таблице однородные, т.е. все элементы в столбце
имеют одинаковые характеристики ( тип и длину).
. Каждое столбец имеет уникальное имя.
. Порядок столбцов не важен.
. Отсутствуют одинаковые записи.
. Порядок записей в таблице может быть произвольным.
Реляционные таблицы связываются между собой с помощью ключевых полей.
Реляционные модели (в MS Access) не позволяют определять прямую связь
"многие ко многим" между двумя таблицами. Поэтому нужно разделить
связь "многие ко многим" на две связи "один ко многим",
т.е. построить дополнительную таблицу связи.
Ключевое поле одной таблицы - первичный ключ - связывают с
соответствующим ему полем второй таблицы, которое называют внешним ключом.
Связующая таблица обязательно содержит внешние ключи (часто имеющие то же
имя, что и первичные ключи) и, как правило, поля, характеризующие рабочий
процесс [1].
Наша задача: глядя на эту ER- диаграмму, нарисовать структуру таблиц,
отражающих не только сущности, но и связи между ними, а также атрибуты, которые
характеризуют связи.
Таблицы "Должности" и "Смены" с таблицей "Сотрудники"
имеют связь 1:М (один ко многим), следовательно, требуется добавить в нее
внешние ключи (НомДолжн и КодСмены) в таблицу "Сотрудники".
Таблицы "Продукция" и "Смены" имеют связь (М: М), так
как в реляционной модели мы не можем определять прямую связь "многие ко
многим" между двумя таблицами, построим дополнительную таблицу связи,
которую назовем ПРОИЗВОДСТВО (Сменное Задание). Соотнося атрибуты в сущностях
СМЕНА и ПРОДУКЦИЯ с соответствующими атрибутами, в сущности, ПРОИЗВОДСТВО
(Сменное Задание) через две связи один ко многим (1:М), получаем необходимую
нам связь многие ко многим (М: М). Для объединения таблиц нам требуется
добавить внешние ключи (КодПрод и КодСмены) в таблицу "ПРОИЗВОДСТВО
(Сменное Задание)".
Таблицы "Продукция" и "Склад" имеют связь (М: М),
построим дополнительную таблицу связи, которую назовем НАКЛАДНАЯ В МЕСТА
ХРАНЕНИЯ. Соотнося атрибуты в сущностях Продукция и Склад с соответствующими
атрибутами, в сущности, НАКЛАДНАЯ В МЕСТА ХРАНЕНИЯ, через две связи один ко
многим (1:М), получаем необходимую нам связь многие ко многим (М: М). Для
объединения таблиц нам требуется добавить внешние ключи (КодПрод и КодСклада) в
таблицу "ПРОИЗВОДСТВО (Сменное Задание)".
Схема данных имеет вид:
2.5
Построение нормализованных отношений
При проектировании реляционной БД необходимо предусмотреть создание
наиболее эффективной структуры данных. После определения таблиц, полей и связей
между таблицами следует посмотреть на проектируемую базу данных в целом и
проанализировать ее, используя правила нормализации, с целью: [5]
Ø обеспечить быстрый доступ к данным в таблицах;
Ø устранения логических ошибок;
Ø удаления избыточного дублирования данных;
Ø группирования информации в логически связанных единицах.
В хорошо спроектированной базе данных избыточность данных исключается,
вероятность сохранения противоречивых данных минимизируется, а также упрощается
процедура их обработки и обновления.
В логическом проектировании наиболее эффективна структура данных,
представленная в виде Нормальных форм (НФ). Существуют несколько видов
нормальных форм:
· 1 -я нормальная форма
· 2-я нормальная форма
· 3-я нормальная форма
· Нормальная форма Бойса-Кодда (НФБК)
· 4-я нормальная форма
· 5-я нормальная форма
Практически используются только первые три. Рассмотрим процесс приведения
к 1НФ, 2НФ и 3НФ. [1]
Рассмотрим универсальную таблицу, в которую включаются все атрибуты.
ООО "Татлесстрой" (Паспорт, ФИО, Дата рождения, Адрес, Дата
трудоустройства, Табельный № смен, Наименование смены, Номер должности,
Должность, Оклад, Часы работы смены в день, Часы работы смены в ночь, Время
суток, Дата начала работы смены, Дата конца работы смены, Количество (пач/шт)
по плану, Количество (пач/шт) факт, Код продукции, Название продукции,
Длина(мм), Ширина(мм), Высота(мм), Вес(кг), Количество штук продукции в пачке,
Цена(1заШт), Дата составления документа, Количество (пач/шт) передаваемых на
склад, Номер документа., Код склада, Название склада , Адрес, Тел).
Ключевое поле - это одно или несколько полей, комбинация значений которых
однозначно определяет каждую запись в таблице. Если для таблицы определены
ключевые поля, то Microsoft Access предотвращает дублирование или ввод пустых
значений в ключевое поле. Ключевые поля используются для быстрого поиска и
связи данных из разных таблиц при помощи запросов, форм и отчетов. [1]
Ключи (Паспорт, Табельный № смен, Номер должности, Код продукции, Код
склада).
Чтобы нормализовать данную исходную таблицу необходимо ее привести
сначала к первой, потом ко второй, а затем и к третьей нормальной форме. [2]
Домен - это некоторое подмножество значений некоторого типа данных,
которому предписан определенный смысл. [3]
Свойства домена:
1. имеет уникальное имя в пределах БД;
2. определен на простом типе данных;
. может иметь некоторое логическое условие, определяющее то
подмножество данных, которое допустимо для данного домена.
Доменами являются:
· коды (Номер должности, Паспорт, Код смен, Код продукции, Код
склада);
· наименования (Должность, ФИО, Адрес сотрудника, Наименование
смены, Часы работы в день, Часы работы в ночь, Время суток, Название продукции,
Название склада, Адрес склада);
· даты (Дата Рождения, Дата Трудоустройства, Дата начала работы
смен, Дата конца работы смен, Дата составления документа);
· числа (Оклад, Длина(мм), Ширина(мм), Высота(мм), Вес(кг),
Кол(шт/в/пачке), Цена(1заШт), Тел склада, Кол(пач/шт)план, Кол(пач/шт)факт,
Кол(пач/шт) на передачу, Номер документа).
Так как домены для каждого атрибута являются простыми, то отношения
находятся в первой нормальной форме.
Также следует проверить, выполняются ли в нашей реляционной таблице
аномалии. Аномалии бывают трех видов: удаления, вставки и корректировки.
· Аномалия удаления выполняется (т.к. удаление любой строки из
нашей таблицы приведет к потере информации);
· Аномалия вставки выполняется (т.к. при какой-либо вставке в
нашу таблицу, нам потребуется вносить данные, которые еще не существуют);
· Аномалия корректировки выполняется (т.к. при внесении
исправлений информации в одном месте, мы будем вынуждены вносить изменения и в
другом).
Отношение находится во второй нормальной форме, если оно находится в
первой нормальной форме, и каждый не ключевой атрибут функционально полно
зависит от первичного ключа, иначе говоря, нет никаких неключевых атрибутов,
которые зависят от части составного ключа.
Будем называть 2 поля таблицы X и Y находящимися в функциональной
зависимости, если поле Y в любой момент времени принимает ровно одно значение в
зависимости от поля значения X.
Здесь имеют место следующие функциональные зависимости:
Код Склада (Наименование склада, Адрес, Тел).
Код продукции (Название продукции, Длина (мм), Ширина (мм), Высота (мм),
Вес(кг), Количество (шт/в/пачке), Цена(1заШт)).
Код смены (Наименование смены, Часы работы в день, Часы работы в ночь).
Паспорт (ФИО, Дата Рождения, Адрес, Дата трудоустройства).
Номер должности (Должность, Оклад).
Код смены (Время
Суток, Дата начала работы смен, Дата конца работы смен, Количество
(пач/шт)план, Количество (пач/шт)факт).
(Номер Документа) (Дата составления, Количество(пач/шт)).
Отсюда следует, что имеются не ключевые атрибуты, зависящие от части
составного ключа. Разобьем их так, чтобы в одной таблице находились ключ и от
него зависящие атрибуты.
У каждого сотрудника должна быть должность, и он должен работать в одной
смене. Чтобы показать зависимость сотрудника от должности и смены, добавляем в
таблицу "Сотрудники" внешние ключи Номер должности и Код смены.
Каждая смена изготавливает продукцию. Чтобы показать зависимость
продукции от смены, добавляем в таблицу "Производство" внешние ключи
Код продукции и Код смены.
Каждый вид продукции изготавливается и хранится на конкретном складе.
Чтобы показать зависимость продукции от склада, добавляем в таблицу
"Накладная в места хранения" внешние ключи Номер Склада и код
продукции.
Рассмотрим следующее разбиение:
§ Склад (#Код Склада, Наименование, Адрес, Тел)
§ Продукция (#Код продукции, Название, Длина(мм), Ширина(мм), Высота(мм),
Вес(кг), Кол(шт/в/пачке), Цена(1заШт)
§ Сотрудники (#Паспорт, ФИО, Дата Рождения, Номер должности, Адрес, Дата
трудоустройства, Код смен).
§ Должность (#Номер должности, Должность, Оклад)
§ Смены (#Табельный № смен, Наименование смены, Часы работы в день, Часы
работы в ночь).
§ Производство (Сменное задание) (Код смен, Код продукции, ВремяСуток,
ДатаНачРабСм, ДатаКонРабСм, Кол(пач/шт)план, Кол(пач/шт)факт).
§ Накладная в мета хранения (Номер Документа, Дата Составления, Код
Продукции, Количество(пач/шт), Получатель(Код Склада).
Путем приведения нашей универсальной таблицы ко второй нормальной форме,
мы избавились от аномалий. Например, при добавлении нового вида продукции или
изменении данных в таблице "Продукция", добавляется новый вид
продукции или данные автоматически изменяются там, где мы их используем.
Аналогично и с другими таблицами.
Отношения находятся в третьей нормальной форме тогда и только тогда,
когда оно находится во второй нормальной форме и отсутствует транзитивная
функциональная зависимость не ключевых атрибутов от ключа.
Поле Y транзитивно зависит от поля X, если существует некоторое поле Z,
для которого выполняется: X Z, Z Y.
В нашем случае мы получаем, что все неключевые атрибуты взаимно
независимы. Таким образом, мы пришли к третьей нормальной форме.
Можно сделать следующий вывод, что таблицы, построенные по ER-диаграмме и
путем нормализации, совпадают.
3. Физическое
проектирование базы данных в среде Microsoft Access
.1 Создание
таблиц
Таблицы - это объекты, предназначенные для хранения
данных в виде записей (строк) и полей (столбцов).
Каждая таблица содержит данные об определенном объекте.
[4]
Создание таблицы производится в два этапа:
1. определение структуры таблицы;
2. ввод данных в таблицу (загрузка данных).
В MS Access используются три способа создания таблиц путем ввода данных,
с помощью Конструктора таблиц и с помощью Мастера создания таблиц. [1]
Наиболее широкие возможности по определению параметров создаваемой
таблицы предоставляет режим Конструктора (в Конструктор таблиц можно выйти
сразу из окна базы данных), поэтому в данной работе используем режим
конструктора.
Чтобы создать таблицу в режиме Конструктора, осуществляем следующие
действия:
¨ Нажимаем на кнопку Создать в верхней части окна базы данных,
выбираем из списка в окне Новая таблица элемент Конструктор и нажимаем кнопку
ОК. В том и в другом случае откроется пустое окно Конструктора таблиц;
¨ В окне Конструктора таблиц в столбец Имя поля вводим имена
полей создаваемой таблицы;
¨ В столбце Тип данных для каждого поля таблицы выбираем из
раскрывающегося списка тип данных, которые будут содержаться в этом поле;
¨ В столбце Описание печатаются комментарии, описывающие данное
поле;
¨ В нижней части окна Конструктора таблиц на вкладках Общие и
Подстановка вводим свойства каждого поля или оставляем значения свойств,
установленные по умолчанию;
После описания всех полей будущей таблицы ее нужно сохранит. Сохранение
структуры выполняется следующим способом:
¨ Нажать кнопку Сохранить на панели инструментов или выбрать
команду Файл>Сохранить;
¨ В появившемся диалоговом окне ввести имя таблицы, нажать ОК;
¨ Если до сохранения в новой таблице ключевые поля были не
определены, то при сохранении таблицы будет выдано сообщение о создании
ключевого поля. При нажатии кнопки ДА будет создано дополнительное поле -
ключевое поле счетчика, что не всегда удобно, так как усложняет структуру
таблицы (поэтому рекомендуется при создании таблицы указать нужное ключевое
поле, выбранное вами), если ключ не нужен и не был задан, то при сохранении
отказаться - Нет.
После указанных действий в списке таблиц в окне базы данных появятся имя
и значок новой таблицы.
Ввести данные в созданную таблицу можно, открыв таблицу в режиме Таблицы.
[1, 5]
3.2
Ориентировочный расчет требуемой памяти
Подсчитаем память, необходимую для работы с нашей базой данных.
. Таблица "Должности"
Имя поля
|
Тип данных
|
Память (байт)
|
Номер Должности
|
числовой
|
8
|
Должность
|
текстовый
|
50
|
Оклад
|
денежный
|
1
|
ИТОГО:
|
59
|
. Таблица "Сотрудники"
Имя поля
|
Тип данных
|
Память (байт)
|
ФИО
|
текстовый
|
30
|
Паспорт
|
текстовый
|
10
|
Дата рождения
|
Дата/время
|
8
|
Номер должности
|
числовой
|
8
|
Адрес
|
текстовый
|
30
|
Дата трудоустойства
|
Дата/время
|
8
|
Код смены
|
текстовый
|
1
|
95
|
. Таблица "Смена"
Имя поля
|
Тип данных
|
Память (байт)
|
Код смены
|
текстовый
|
1
|
Наименование смены
|
текстовый
|
20
|
Часы работы в день
|
текстовый
|
14
|
Часы работы в ночь
|
текстовый
|
14
|
ИТОГО:
|
49
|
4. Таблица "Склады"
Имя поля
|
Тип данных
|
Память (байт)
|
Код склада
|
числовой
|
8
|
Наименование
|
текстовый
|
20
|
Адрес
|
текстовый
|
20
|
Тел
|
текстовый
|
20
|
ИТОГО:
|
68
|
. Таблица "Продукция"
Имя поля
|
Тип данных
|
Память (байт)
|
Код продукции
|
текстовый
|
5
|
Название
|
текстовый
|
30
|
Длина(мм)
|
числовой
|
8
|
Ширина(мм)
|
числовой
|
8
|
Высота(мм)
|
числовой
|
8
|
Вес(кг)
|
числовой
|
8
|
Количество(штук в пачке)
|
числовой
|
8
|
Цена(за единицу продукции)
|
денежный
|
1
|
ИТОГО:
|
76
|
. Таблица "Накладная в места хранения"
Имя поля
|
Тип данных
|
Память (байт)
|
№ документа
|
числовой
|
8
|
Дата составления док.
|
Дата/время
|
8
|
Код продукции
|
текстовый
|
5
|
Количество (пачек/штук)
|
числовой
|
8
|
Получатель (Код Склада)
|
числовой
|
8
|
ИТОГО:
|
37
|
. Таблица "Производство - сменное задание"
Имя поля
|
Тип данных
|
Память (байт)
|
Код смены
|
Текстовый
|
1
|
Время Суток
|
Текстовый
|
1
|
Номер продукции
|
Текстовый
|
5
|
Дата выхода смены
|
Дата/время
|
8
|
Дата конца выхода смены
|
Дата/время
|
8
|
Кол (пач/шт.) план
|
числовой
|
8
|
Кол(пач/шт.)факт
|
числовой
|
8
|
ИТОГО:
|
39
|
Из разговора с заказчиком выясняли, на сколько записей рассчитана каждая
таблица. На предприятии находятся 2 склада, количество изготовителей достигает
50 человек. Так как за один день в цеху может выпускаться до 15 видов продукции
каждый день, умножим это число на 2, так как за сутки у нас работают две смены,
для учета производства нам понадобится в среднем 100.000 записей, количество
должностей сотрудников, работающих в цеху, может достигать 25. Также в цеху
работают 4 смены, остальные дневные рабочие в сумме 5. Накладные оформляются
каждый день, иногда по 2 штуки, поэтому нам понадобится в среднем 400. Можно
подсчитать память, требуемую для нашей базы данных.
Общая память, необходимая для нашей базы данных, показана в следующей
таблице:
Таблица
|
1 запись
|
Количество записей
|
Память (байт)
|
Должности
|
59
|
25
|
1475
|
Сотрудники
|
95
|
50
|
4750
|
Смена
|
49
|
5
|
245
|
Склады
|
68
|
2
|
136
|
Продукция
|
76
|
15
|
1140
|
Накладная в места хранения
|
37
|
400
|
14800
|
Производство - сменное
задание
|
39
|
100.000
|
3.900.000
|
Итого:
|
3.922.546
|
В итоге мы получаем минимальное количество требуемой памяти 3.922.546
байт или 3830.6113 Кбайт. То есть наша база данных может использоваться на
компьютере с объемом жесткого диска более 1 Гбайт.
3.3 Загрузка
таблиц
Определив структуру, можно приступить ко второму этапу создания таблицы -
вводу данных в нее.
Для примера мы рассмотрим таблицу "Продукция", в которой
содержатся данные о сотрудниках предприятия. Для перемещения по записям
используем кнопки, расположенные на нижней границе окна таблицы. Также в нижней
части окна таблицы расположено поле номера записи, в котором отображается номер
текущей записи. Для перехода на запись с известным номером мы вводим номер в
поле номера записи и нажимаем клавишу Enter.
Поиск конкретной записи осуществляется с помощью полос прокрутки. Так мы
получаем таблицу "Продукция".
Для добавления данных продукции мы используем режим формы. В формах, так
же как и в таблицах, предусмотрена пустая запись, которая предназначена для
добавления новых записей в таблицу. Эта пустая запись, как в таблице,
отображается в форме после всех заполненных записей. К этой записи можно
перейти, пролистав в форме все записи с помощью кнопок перехода по записям или
с помощью специальной кнопки перехода на новую запись. После ввода данных в эту
запись и ее сохранения данные автоматически попадают в таблицу.
В нашей форме для добавления новой записи пользователь должен нажать
кнопку Добавить запись, после - кнопку Сохранить. В результате чего в таблицу
добавляется новая запись.
Для отмены изменений или добавления данных в таблицу пользователю
необходимо нажать кнопку Отменить.
4. Разработка
интерфейса пользователя
.1 Создание
главной кнопочной формы
позволяет организовывать удобный и интуитивно понятный интерфейс
пользователя для работы с данными с помощью форм. Формами называются
настаиваемые диалоговые окна, сохраняемые в базе данных в виде объектов
специального типа. Формы содержат так называемые элементы управления, с помощью
которых осуществляется доступ к данным в таблицах. Элементами управления
являются текстовые поля для ввода и правки данных, кнопки, флажки,
переключатели, списки, надписи, а также рамки объектов для отображения графики.
Создание форм, содержащих необходимые элементы управления, существенно упрощает
процесс ввода данных и позволяет предотвратить ошибки. Формы позволяют
выполнять проверку корректности данных при вводе, проводить вычисления, и
обеспечивают доступ к данным в связанных таблицах с помощью подчиненных форм.
[5, 6]
Главная кнопочная форма создается с целью навигации по базе данных, т.е.
она может использоваться в качестве главного меню БД. Элементами главной
кнопочной формы являются объекты форм и отчётов.
Запросы и таблицы не являются элементами главной кнопочной формы. Поэтому
для создания кнопок Запросы или Таблицы на кнопочной форме можно использовать
макросы. Сначала в окне базы данных создают макросы "Открыть Запрос"
или "Открыть Таблицу" с уникальными именами, а затем в кнопочной
форме создают кнопки для вызова этих макросов.
Для одной базы данных можно создать несколько кнопочных форм. Кнопки
следует группировать на страницах кнопочной формы таким образом, чтобы
пользователю было понятно, в каких кнопочных формах можно выполнять
определенные команды (запросы, отчеты, ввода и редактирования данных).
Необходимо отметить, что на подчиненных кнопочных формах должны быть помещены
кнопки возврата в главную кнопочную форму.
Создание кнопочной формы
1. Открываем базу данных;
2. Переходим во вкладку Формы нашей базы данных;
. Нажимаем на пункт Создание формы в режиме конструктора;
. Выберем фон формы, на панели инструментом нажимаем кнопку
Автоформат - Официальный;
. Выбираем в окне Панель элементов инструмент Надпись, рисуем
область для надписи, вводим текст заголовка "ООО Татлесстрой";
. В окне Панель элементов выбираем инструмент Кнопка и рисуем
кнопку в форме;
. Как только мы дорисуем кнопку, выходит окно Создание кнопки. В
поле Категория выбираем Работа с формой, в поле Действие - Открыть форму, жмем
кнопку Далее;
. Выбираем из списка форму Бухгалтерия;
. В пункте Текст задаем Имя кнопки-Бухгалтерия, жмем Далее, затем
готово;
. И так далее создаем все остальные кнопки. Закончив создание
кнопочной формы, нажимаем кнопку - Закрыть.
4.2 Проект
меню
4.3 Создание
форм
Записи базы данных (БД) можно просматривать и редактировать в виде
таблицы или в виде формы. Представление БД в виде таблицы позволяет наблюдать
сразу несколько записей одновременно, однако часто вид Таблица не позволяет
полностью видеть всю информацию на экране.
Формы позволяют забыть о неудобствах, возникающих при работе с таблицами,
имеющими большое количество полей. В режиме Форма можно все внимание уделить
одной записи, не пользуясь прокруткой для поиска нужного поля в длинной череде
столбцов таблицы, а имея перед глазами всю информацию.
Также для удобства работы с формой на ней можно разместить Элементы
управления (например, Кнопки) [5]
Чтобы создать форму, необходимо в окне БД выбрать в списке Объекты
категорию Формы и воспользоваться кнопкой Создать. После этого в диалоговом
окне Новая форма, необходимо выбрать режим создания формы, а также таблицу (в
раскрывающемся списке), которая будет использоваться в качестве источника
данных.
Основными режимами создания любой формы являются Конструктор и Мастер
форм. Рассмотрим создание формы с помощью режима Мастер форм.
С помощью мастера можно создавать формы на основе одной таблицы и более
сложные формы на основе нескольких таблиц и запросов. Намного проще и быстрее
создавать формы с помощью мастера, а затем усовершенствовать их в режиме
Конструктора.
Чтобы лучше представить, как создавать формы с помощью Мастера форм,
опишем процедуру создания формы. Эта форма предназначена для просмотра
информации о паспорте рабочего, его ФИО, дату его рождения, дату приема на
работу. Для создания этой формы:
1. Дважды щелкаем по ярлыку Создание формы с помощью мастера, мы
запускаем Мастер форм.
2. Появилось первое диалоговое окно. В поле со списком Таблицы и
запросы отображены имена всех таблиц и запросов базы данных, которые могут
использоваться в качестве источника данных для форм. Раскрыв этот список, мы
выбираем запрос "ИнфоОконкрСотрудн".
. В списке Доступные поля этого диалогового окна отображаются все
поля выбранной таблицы или запроса. Чтобы добавить в создаваемую форму нужные
поля, мы нажимаем кнопку ">". Нажимаем кнопку Далее для
отображения второго диалогового окна Мастера форм.
. Во втором диалоговом окне мастера можно определить вид формы.
После выбора подходящего режима отображения данных в форме мы нажимаем кнопку
Далее для отображения следующего диалогового окна.
. Третье диалоговое окно Мастера форм предназначено для выбора
стиля оформления новой формы. Мастер предлагает несколько стилей оформления. Мы
выбираем стиль и нажимаем кнопку Далее.
. В последнем диалоговом окне Мастера форм требуется указать
название формы. Чтобы отобразить созданную мастером форму в режиме Формы,
выбираем переключатель Открыть форму для просмотра и ввода данных и нажимаем
кнопку Готово.
В результате мастером будет создана форма в соответствии с выбранными
параметрами и сохранена с указанным именем, затем эта форма будет открыта в
заданном режиме. После редактируем форму в режиме Конструктора. Также для
удобства мы вставляем в нашу форму кнопку "Назад".
4.4 Решение
задач заказчика
Любой запрос хранится в базе данных в формате SQL (structured query
language) - язык структурированных запросов. Основное достоинство этого языка
состоит в том, что он является стандартом для большинства реляционных СУБД.
Большую часть запросов составляют запросы на выборку, которые реализуют в SQL
командой SELECT. Общий вид ее такой:
Список столбцовСписок таблиц
[WHERE Условия выбора строк]
[ORDER BY Спецификация сортировки];
В квадратных скобках указываются предложения, которые могут быть опущены.
Для работы в режиме SQL необходимо в меню выбрать команду меню Вид, Режим
SQL, после чего откроется диалоговое окно, в котором нужно записать запрос.
1. Информация о конкретном сотруднике
Паспорт, ФИО, Дата Рожд, ДатаТрудСотрудникиСотрудники.Паспорт=[Введите
номер паспорта:];
2. Фамилии и должности сотрудников
Сотрудники.Паспорт, Сотрудники.ФИО, Должности.НомДолж,
Должности.Должность, Сотрудники.Код сменДолжностиJOIN СотрудникиДолжности.НомДолж
= Сотрудники.НомДолж;
3. Вычисление стажа работника, превышающего 10 лет;
SELECT ФИО,
ДатаТрудСотрудникиDateDiff('m',Сотрудники!ДатаТруд,Date()>120;
4. Фамилии начальников смен
Сотрудники.ФИО, Должности.Должность, Сотрудники.Код сменыДолжностиJOIN
СотрудникиДолжности.НомДолж = Сотрудники.НомДолжДолжности.Должность Like
"Начальник смены";
5. Количество рабочих в цеху
Count(Паспорт) AS КолРаб FROM Сотрудники;
6. Количество рабочих по специальностям
Count(Сотрудники.Паспорт) AS КолРаб,
Должности.ДолжностьДолжностиJOIN СотрудникиДолжности.НомДолж =
Сотрудники.НомДолжBY Должности.Должность;
7. Стоимость одной пачки продукции
SELECT [Номер прод], Название, Кол(штВпачке)*Цена(1заШт)[Цена
пачки]Продукция;
8. Вычисление суммы стоимости всей выпущенной продукции за нужный
месяц
Sum(3ВыручкаПоКаждТовЗаОпредМес.Выручка)Sum-Выручка3ВыручкаПоКаждТовЗаОпредМес;
9. Вычисление суммы количества выпущенной продукции за каждый месяц
Продукция.Номер прод, Продукция.Название, Sum(ПроизвСменноеЗад.Кол(пач/шт)факт)Sum-Кол(пач/шт)факт,
Month(ПроизвСменноеЗад!ДатаНачСм)МесяцПродукцияJOIN
ПроизвСменноеЗадПродукция.Номер прод = ПроизвСменноеЗад.Номер продBY
Продукция.Номер прод, Продукция.Название,
Month(ПроизвСменноеЗад!ДатаНачСм)Month(ПроизвСменноеЗад!ДатаНачСм)=[Введите
номер месяца:];
10. Подсчет количества каждого вида продукции на складах (поштучно)
SELECT Продукция.Номер прод, Продукция.Название,
НакладнаяВместХран.Получатель(код), Склады.Наименование,
Sum(НакладнаяВместХран!Кол(пач/шт)*Продукция!Кол(штВпачке))ПоштучноСкладыJOIN
ПродукцияJOIN НакладнаяВместХранПродукция.[Номер прод] =
НакладнаяВместХран.КодПрод)Склады.КодСклада =
НакладнаяВместХран.Получатель(код)BY Продукция.Номер прод, Продукция.Название,
НакладнаяВместХран.Получатель(код), Склады.Наименование;
11. Подсчет количества каждого вида продукции на складах
Склады.КодСклада, Склады.Наименование,
Sum(НакладнаяВместХран.Кол(пач/шт)) AS Sum-Кол(пач/шт)СкладыJOIN
НакладнаяВместХранСклады.КодСклада=НакладнаяВместХран.Получатель(код)BY Склады.КодСклада,
Склады.Наименование;
12. Количество пачек за нужную дату
ДатаНачСм, Sum(Кол(пач/шт)факт)Sum-Кол(пач/шт)факт, Код
продПроизвСменноеЗадBY ДатаНачСм, Код продДатаНачСм=[введите дату начиная с
01.02.2009] AND Код прод=[введите код продукции 02002];
13. Количество пачек нужной продукции на складеСклады.КодСклада,
Склады.Наименование, Sum(НакладнаяВместХран.Кол(пач/шт))Sum-Кол(пач/шт),
НакладнаяВместХран.КодПродСкладыJOIN
НакладнаяВместХранСклады.КодСклада=НакладнаяВместХран.Получатель(код)BY Склады.КодСклада,
Склады.Наименование,
НакладнаяВместХран.КодПрод(НакладнаяВместХран.КодПрод)=[Введите код
продукции:];
. Минимальное и максимальное количество пачек изготовленных каждой
сменой
ПроизвСменноеЗад.Код смены Min(ПроизвСменноеЗад.Кол(пач/шт)факт)Min-Кол(пач/шт)факт,
Max(ПроизвСменноеЗад.Кол(пач/шт)факт)Max-Кол(пач/шт)факт, ПроизвСменноеЗад.Код
продПроизвСменноеЗадBY ПроизвСменноеЗад.СменаТаб№, ПроизвСменноеЗад.Код прод,
Month(ПроизвСменноеЗад!ДатаНачСм)ПроизвСменноеЗад.Ном_прод)=[Введите код:] And
Month(ПроизвСменноеЗад!ДатаНачСм=[введите номер месяца:];
. Накладная в места хранения
НакладнаяВместХран.НомерДок, НакладнаяВместХран.ДатаСост,
Продукция.Название, НакладнаяВместХран.КодПрод,
НакладнаяВместХран.[Кол(пач/шт)], [23Цена1-ойПачки].[Цена 1-ой пачки],
НакладнаяВместХран![Кол(пач/шт)]*[23Цена1-ойПачки]![Цена 1-ой пачки]Сумма,
НакладнаяВместХран.[Получатель(код)], Склады.НаименованиеСкладыJOIN
ПродукцияJOIN 23Цена1-ойПачкиПродукция.Номер прод = 23Цена1-ойПачки.Номер
продJOIN НакладнаяВместХранПродукция.Номер прод =
НакладнаяВместХран.КодПродСклады.КодСклада =
НакладнаяВместХран.Получатель(код)НакладнаяВместХран.ДатаСост=[Введите дату
составления:];
. Вычисление стоимости каждого вида продукции за месяц;
Продукция.Номер прод, Продукция.Название, 13СумКолПачПоштучно!Кол(пач/шт)фактСумма*Продукция!Цена(1заШт)]ВыручкаПродукцияJOIN
ПроизвСменноеЗадПродукция.[Номер прод]=ПроизвСменноеЗад.Номер продJOIN
13СумКолПачПоштучноПродукция.Номер прод=13СумКолПачПоштучно.Номер продBY
Продукция.Номер прод, Продукция.Название, Month(ПроизвСменноеЗад!ДатаНачСм),
13СумКолПачПоштучно!Кол(пач/шт)фактСумма*Продукция!Цена(1заШт)Month(ПроизвСменноеЗад!ДатаНачСм=[введите
месяц:];
. Количество продукции выпущенной за месяц (в пачках)
SELECT Продукция.Номер прод, Продукция.Название,
Sum(ПроизвСменноеЗад.Кол(пач/шт)факт)Sum-Кол(пач/шт)факт,
Month(ПроизвСменноеЗад!ДатаНачСм)[Введенный месяц]ПродукцияJOIN
ПроизвСменноеЗадПродукция.Номер прод = ПроизвСменноеЗад.Номер продBY
Продукция.Номер прод, Продукция.Название, Month(ПроизвСменноеЗад!ДатаНачСм)Month(ПроизвСменноеЗад!ДатаНачСм)=[введите
месяц:];
. Выполнение плана за месяц
SELECT Sum(Кол(пач/шт)план)
AS Sum-Кол(пач/шт)план, Sum(Кол(пач/шт)факт)Sum-Кол(пач/шт)факт,
Month(ПроизвСменноеЗад!ДатаНачСм)[Введенный месяц]ПроизвСменноеЗадBY
Month(ПроизвСменноеЗад!ДатаНачСм)Month(ПроизвСменноеЗад!ДатаНачСм)=[введите
месяц:];
. Информация о датах работы смены
Код смены, ДатаНачСм, ДатаКонСмПроизвСменноеЗадBY Код смены, ДатаНачСм,
ДатаКонСмКод смены=[введите смену:];
. Вычисление суммы изготовленной продукции (поштучно)
SELECT Код прод, Название,
Продукция!Кол(штВпачке)*КолПродВыпЗаМесяц(вПачках)!Sum-Кол(пач/шт)фактКол(пач/шт)фактСуммаПродукцияJOIN
КолПродВыпЗаМесяц(вПачках)Продукция.Код прод=КолПродВыпЗаМесяц(вПачках).Код
прод;
. Вычисление суммы количества выпущенной продукции каждой сменой
(в пачках)
ПроизвСменноеЗад.СменаТаб№, Sum(ПроизвСменноеЗад.[Кол(пач/шт)факт]) AS
[Sum-Кол(пач/шт)факт]ПроизвСменноеЗадBY ПроизвСменноеЗад.СменаТаб№,
Month([ДатаНачСм])(((Month([ДатаНачСм]))=[Введите месяц (число от1 до12):]));
. График работы смены, по времени суток
ПроизвСменноеЗад.ВремяСуток, Смена.Код, ПроизвСменноеЗад.ДатаНачСм,
ПроизвСменноеЗад.ДатаКонСмСменаJOIN
ПроизвСменноеЗадСмена.Код=ПроизвСменноеЗад.СменаТаб№BY ПроизвСменноеЗад.ВремяСуток,
Смена.Код, ПроизвСменноеЗад.ДатаНачСм, ПроизвСменноеЗад.ДатаКонСм,
Month(ДатаНачСм)ПроизвСменноеЗад.ВремяСуток=Введите время
суток(Д/Н)Month(ДатаНачСм)=[Введите месяц (число от1 до12):];
Дополнительные запросы:
. Добавление и изменение данных в таблице "Должности"
INTO Должности (НомДолж, Должность, Оклад )[Введите НомДолж] AS НомДолж1,
[Введите Должность]Должность1,
[Введите Окдад] AS Оклад1;
. Добавление и изменение данных в таблице "Должности"
INTO Склады (КодСклада, Наименование, Адрес, Тел )[Введите КодПолуч] AS
КодПолуч1,
[Введите Наименование] AS Наименование1,
[Введите Адрес] AS Адрес1,
[Введите Тел ] AS Тел1Склады;
. Добавление и изменение данных в таблице "Сотрудники"
INTO Сотрудники ( ФИО, Паспорт, Таб№, Дата_Рожд, НомДолж, Адрес, ДатаТруд,
СменаТаб№ )[Введите ФИО] AS ФИО1,
[Введите Паспорт из 5-ти значений] AS Паспорт1,
[Введите Табельный №(прим 11)] AS Таб№1,
[Введите Дату Рождения] AS Дата_Рожд1,
[Введите № Должности] AS НомДолж1,
[Введите Адрес] AS Адрес1,
[Введите Дату Трудоустройства] AS ДатаТруд1,
[Введите Смена Таб№] AS СменаТаб№1;
4. Изменение цены товара (запрос на обновление)
Продукция SET Продукция.Цена(1заШт) = введите новую цену:Продукция.Номер
прод = [Введите код:];
Перекрестные запросы:
Перекрестные запросы - это запросы, в которых происходит статистическая
обработка данных, результаты которой выводятся в виде таблицы, очень похожей на
сводную таблицу Excel. Перекрестные запросы обладают следующими достоинствами:
· Возможностью обработки значительного объема данных и вывода
их в формате, который очень хорошо подходит для автоматического создания
графиков и диаграмм;
· Простотой и скоростью разработки сложных запросов с
несколькими уровнями детализации.
Перекресный запрос по должностям
Count(Сотрудники.Паспорт)Count-ПаспортСмена.Смена,
Sum(Должности.Оклад)Sum-ОкладСменаJOIN ДолжностиJOIN
СотрудникиДолжности.НомДолж = Сотрудники.НомДолжСмена.Код =
Сотрудники.СменаТаб№BY Смена.СменаДолжности.Должность;
Команда TRANSFORM означает, что данный запрос является перекрестным.
С помощью этого запроса объединяются в одну таблицу поля Название
Должности (названия столбцов) и Код смены (названия строк), пересечением
которых являются ячейки, содержащие Количество рабочих, имеющих ту или иную
должность, а так же подсчитываются расходы на оплату каждой смены.
.5 Создание
диаграмм
Перед нами были поставлены задачи, связанные с построением диаграмм.
Рассмотрим пример создания диаграммы "Итоги производства"
1. Откроем форму в режиме Конструктора формы
. В меню Вставка выбираем команду Диаграмма.
. В форме указываем место, в которое необходимо поместить
диаграмму.
. Открывается диалоговое окно Создание диаграмм. Выбираем
переключатель Запросы и в списке имеющихся запросов выделяем имя запроса:
"ИтогиПроизПоМес". Нажимаем кнопку Далее.
. В следующем диалоговом окне выбираем в списке Доступные поля
необходимые поля для построения диаграммы: Месяц, Количество и Название прод.
Нажимаем Далее.
. Открывается диалоговое окно, в котором представлены типы
диаграмм. Мы выбираем наиболее подходящий и наглядный тип диаграммы. Нажимаем
кнопку Далее.
. В следующем окне выбираем тип отображения диаграммы, путем
перетаскивания кнопки полей в область образца. Нажимаем Далее.
. Задаем название диаграммы "Итоги производства по
месяцам" и нажимаем кнопку Готово.
.6 Создание
отчета
Отчет - это форматированное представление данных, которое выводится на
экран, в печать или файл. Они позволяют извлечь из базы нужные сведения и
представить их в виде, удобном для восприятия, а также предоставляют широкие
возможности для обобщения и анализа данных.
При печати таблиц и запросов информация выдается практически в том виде,
в котором хранится. Часто возникает необходимость представить данные в виде
отчетов, которые имеют традиционный вид и легко читаются. Подробный отчет
включает всю информацию из таблицы или запроса, но содержит заголовки и разбит
на страницы с указанием верхних и нижних колонтитулов. [6]
В Microsoft Access можно создавать отчеты различными способами:
· Конструктор
· Мастер отчетов
· Автоотчет: в столбец
· Автоотчет: ленточный
· Мастер диаграмм
· Почтовые наклейки
Рассмотрим пример автоматического создания отчета.
1. На панели объектов окна База данных выбираем Отчеты и нажимаем
кнопку Создать. Появляется диалоговое окно Новый отчет.
2. В списке этого диалогового окна Новый отчет выделяем элемент:
Автоотчет: ленточный.
. В поле со списком, находящемся в нижней части диалогового окна
Новый отчет, содержатся имена всех таблиц и запрос базы данных, которые могут
быть использованы в качестве источника данных для отчета. Нажимаем левой
кнопкой мыши по кнопке со стрелкой для открытия списка, а затем выделяем в
списке необходимый элемент: ФамИдолжнСотр.
. Нажимаем кнопку ОК.
Форматирование и группировка элементов управления в отчете выполняются
аналогично форматированию и группировке элементов управления в форме.
Заключение
При подготовке данной курсовой работы были получены знания по технологии
создания базы данных с помощью программы MS Access.Access объединяет сведения
из разных источников в одной реляционной базе данных. Создаваемые формы,
запросы и отчеты позволяют быстро и эффективно обновлять данные, получать
ответы на вопросы, осуществлять поиск нужных данных, анализировать данные,
печатать отчеты и диаграммы.
В базе данных сведения из каждого источника сохраняются в отдельной
таблице. При работе с данными из нескольких таблиц устанавливаются связи между
таблицами. Для поиска и отбора данных, удовлетворяющих определенным условиям,
создается запрос. Запросы позволяют также обновить или удалить одновременно
несколько записей, выполнить встроенные или специальные вычисления. Для
просмотра, ввода или изменения данных прямо в таблице применяются формы. Форма
позволяет отобрать данные из одной или нескольких таблиц и вывести их на экран,
используя стандартный или созданный пользователем макет. Для анализа данных или
распечатки их определенным образом используется отчет.
Главной задачей программиста является не только создание программы, но и
разработка такого меню, чтобы программа была понятна пользователю и проста в
обращении.
Разработанная в данном курсовом проекте база данных для решения задач
предприятия ООО "ТАТЛЕССТОРЙ", позволяет автоматизировать весь
документооборот, что позволяет разгрузить отчетный документооборот, и сократить
ошибки в документации. При появлении новых производственных задач разработчик
может в кратчайшие сроки реализовать их в базе данных, путем добавления строк,
столбцов и целых таблиц.
Описанная в этом курсовом проекте база данных должна быть полезна при
работе в данной области.
В ходе проделанной работы, были созданы:
7 таблиц;
22 запроса;
45 форм;
9 отчетов.
Список
литературы
1. Асанова А.Н. Проектирование и
создание базы данных в MS Access: учебное пособие, Набережные Челны, 2005 - 49
с.
2. Асанова А.Н. Работа с базой данных в
MS Access, Набережные Челны, 2005 - 56 с.
3. Рогов И.П. Access97 (серия "Без
проблем!") - М: Восточная Книжная Компания, 1997 - 234 c.
4. Справочная система Access.
5. Базы данных: теория и практика:
Учебник для вузов / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовский. - М.:
Высш. Шк., 2005. - 463 с.: ил.
6. Базы данных: проектирование и
использование: Учебник. - М.: Финансы и статистика, 2005. - 592 с.: ил.
Приложения
Приложение 1. Таблицы
1. Должности
2. Накладная на передачу готовой продукции в места хранения
3. Продукция
4. Сменное задание
. Склад
. Смена
. Сотрудники
Приложение 2. Отчеты
.1. Выпуск Продукции (Управленческий учет)
.2. Накладная в места хранения
.3. Выручка по каждому товару за месяц
.4. График работы
.5. Количество выпущенной продукции за месяц
.6. Сведения о наполняемости складов
.7. Сведения о рабочем
.8. Сведения о сотрудниках работающих больше 10-ти лет
.9. Специальности рабочих
Приложение 3. Диаграммы
.1 Главная
.2. Таблицы
.3. Бухгалтерия
.4 Отдел по продажам
.5. Отдел кадров
.6. Складское хозяйство
.7. Диаграммы
.8. Отчеты
.9. История компании