Разработка СУБД "Оперативный учет производственной деятельности промышленного предприятия"
ВВЕДЕНИЕ
Данный курсовой проект создан в СУБД Ассеss 2000. Преимуществом данной БД является быстрота и легкость создания базы данных, не имея профессиональных знаний и наглядное предоставление всей необходимой информации. В настоящее время, в «эпоху компьютеров», стремительно развиваются компьютерные технологии. Это обусловлено тем, что применение компьютерам можно найти в любой отрасли промышленности и в любой отрасли человеческой деятельности, а это сейчас доступно как никогда, тем самым повышая спроса на качественную и удобную информацию. За многие годы работы разные учреждения и предприятия накопили большие объемы информации, которая продолжает увеличиваться, возникает необходимость в ее систематизации и обработке. Работать с огромной кучей бумажной информацией очень долго и трудоемко. Выход можно найти в создании электронной базы данных.
Это значительно облегчило работу различных информационных служб. В современном мире всевозможных данных, сведений не просто много, а гигантское количество. Зачастую получая информацию из различных источников, сотрудники предприятия наблюдали дублирование данных. Это никого не радовало. Перед создателями личной картотеки вставал вопрос: как разместить информацию так, чтобы минимально использовать физическое дисковое пространство, оперативную память и при этом обеспечить оперативный доступ к данным.
Компьютеры проникли в большинство предприятий, учебных заведений, исследовательских институтов, промышленных центров. Это облегчило обработку огромного количества информации, поиска данных. Большая помощь оказана отделу кадров. Теперь совсем не трудно делать быстро и качественно различные выборки, запросы по личному составу работников института, по успеваемости студентов института и т.д.
1 ПОСТАНОВКА ЗАДАЧИ
1.1 Общая постановка задачи
Целью написания данного ПП является проектирование базы данных, которая будет содержать подробную информацию о функционировании ботанического сада, предоставлять подробную информацию о растениях, сотрудниках, работающих там.
В целом, база данных «Функционирование ботанического сада» должна:
обеспечивать возможность запрашивать, отыскивать, изменять и систематизировать информацию в БД;
иметь удобный пользовательский интерфейс для работы с базой данных пользователя, не являющегося специалистом в области обработки данных;
содержать систему помощи, необходимую справочную информацию и информацию о программе;
содержать необходимые запросы и формы для обработки хранимой информации;
обеспечивать защиту от несанкционированного доступа (использовать пароли и защиту на уровне пользователей);
контролировать избыточность (предусматривать архивацию данных), непротиворечивость, сохранность и достоверность хранимой в БД информации.
содержать необходимую информацию и предоставлять ее по требованию.
1.2 Основные составные компоненты проектируемой БД
Для реализации поставленной задачи в проектируемую БД необходимо включить следующие разделы:
информация о выращиваемых растениях;
информация о сотрудниках;
информация об участках.
2 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Для функционирования ботанического сада необходимо знать информацию о выращиваемых растениях, работающих сотрудниках и участках.
Ботанический сад содержит несколько участков. У каждого участка есть свое название. На каждом участке выращивается определенный набор растений и работает персонал. Каждый пользователь может просмотреть список сотрудников и растений по каждому участку.
О растениях необходимо знать, на каком участке оно произрастает, его тип, семейство, его название и дату посадки. Типы и семейства растений выбираются из уже существующего справочника.
Для полноценного функционирования и контроля над ботаническим садом нужно знать ФИО каждого сотрудника, его должность, стаж работы, дату рождения, должность и участок, на котором он работает. Все это нужно для контроля над растениями на каждом участке.
Предметная область разработанного проекта представляет собой набор систематизированных сведений необходимых для автоматизации функционирования ботанического сада.
3 ОПИСАНИЕ СХЕМЫ ОБЪЕКТ-ОТНОШЕНИЕ
Исходя из моей предметной области, я выделила следующие объекты: «Растения», «Сотрудники», «Участки», «Должности», «Ученые звания», «Типы растений», «Семейства». Каждый объект имеет некоторые свойства. Объект «Растения» имеет свойство: «название», «тип», «семейство»; объект «Сотрудники» имеет свойства: «ФИО», «дата рождения», «должность», «стаж работы», «ученое звание»; У объекта «Участки» есть свойства: «номер», «название»; У объекта «Должности» свойство: «название»; Объект «Ученые звания» имеет свойство: «название»; Объект «Типы растений» имеет свойство «название»; объект «Семейства» имеет свойство «название».
Выделим необходимые отношения между объектами исходя из схемы объект-отношение, представленной на рисунке 3.1:
1. СОТРУДНИК имеет ДОЛЖНОСТЬ;
2. СОТРУДНИК имеет УЧЕНОЕ ЗВАНИЕ;
РАСТЕНИЕ имеет ТИП;
РАСТЕНИЕ имеет СЕМЕЙСТВО.
СОТРУДНИК выращивает РАСТЕНИЕ на УЧАСТКЕ
Объект «Должности» относится к объекту «Сотрудники» как 1/∞ т.к. одну должность может иметь несколько сотрудников, а один сотрудник может иметь только одну должность. Объект «Ученые звания» относится к объекту «Сотрудники» как 1/∞ т.к. одно ученое звание может иметь несколько сотрудников, а один сотрудник может иметь только одно ученое звание. Объект «Типы растений» относится к объекту «Растения» как 1/∞ т.к. одного типа может быть несколько растений, а одно растение может быть только одного типа. Объект «Семейства» относится к объекту «Растения» как 1/∞ т.к. одного семейства может быть несколько растений, а одно растение может быть только одного семейства. Объект «Сотрудники» и таблица «Растения» относятся к объекту «Выращивается» как 1/∞ т.к. один сотрудник может выращивать несколько растений и одно растение может выращиваться несколькими сотрудниками одновременно.
Рисунок 3.1 – Схема объект-отношение
4 ВЫБОР И ОБОСНОВАНИЕ МОДЕЛИ ДАННЫХ
Большое количество разработанных к настоящему времени разнообразных СУБД связано с существованием различных моделей данных. При проектировании БД мы сталкиваемся с задачей выбора наиболее подходящей модели данных для конкретной предметной области.
Из приведенной схемы (рисунок 3.1) видно, что между объектами существуют связи имеющие тип как «один ко многим», так и «один к одному». Это позволяет осуществить проектирование БД с использованием как реляционной, так и сетевой модели данных. Предпочтение было отдано реляционной модели данных.
БД может быть основана на одной модели или на совокупности нескольких моделей. Любую модель данных можно рассматривать как объект, который характеризуется своими свойствами (параметрами), и над ней, как над объектом, можно производить какие-либо действия.
Любая модель должна обеспечивать такие операции над БД:
- поиск указанного элемента базы;
- переход от одних данных к другим;
- движение по записям;
- поиск записи;
- удаление записи;
Существуют три основных типа моделей данных – реляционная, иерархическая и сетевая.
4.1 Иерархическая модель данных
В иерархической модели связи между данными описывают с помощью упорядоченного графа (или дерева). Тип является составным. Он включает в себя подтипы («поддеревья»), каждый из которых, в свою очередь, является типом «дерево». Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись».
Таким образом, ИМД представляет собой упорядоченную совокупность экземпляров типа «дерево» (деревьев), содержащих экземпляры типа «запись» (записи).
В соответствии с определением типа «дерево», можно заключить, что между предками и потомками автоматически поддерживается контроль целостности связей. Основное правило контроля целостности формулируется следующим образом: потомок не может существовать без родителя, а некоторых родителей может не быть потомков. Механизмы поддержки целостности связей между записями различных деревьев отсутствуют.
Данные в базе с приведенной схемой для разрабатываемого ПП могут выглядеть, например, как показано на рисунке 4.1.
Рисунок 4.1 – Пример иерархической модели данных для проектируемой БД
Корневыми являются сразу два типа Тип и Город, которые в свою очередь имеют свои подчиненные типы. Тип, как и Город имеет подчиненный тип Предприятие, тогда как Предприятие имеет подчиненный тип Цех. Тип Цех, в свою очередь имеет подчиненный тип Изделие. К достоинствам ИМД относят эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. А именно: поиск указанного экземпляра БД, переход от одного дерева к другому, переход от одной записи к другой внутри дерева, вставка новой записи в указанную позицию, удаление текущей записи. ИМД удобна для работы с иерархически упорядоченной информацией. Недостатком ИМД является ее громоздкость для обработки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя.
4.2 Сетевая модель данных
Сетевая модель позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым ИМД.
СМД состоит из набора записей и набора соответствующих связей. В отличие от ИМД в СМД запись-потомок может иметь произвольное число записей-предков (сводных родителей).
С
Факультет
хема СМД для данной БД показана на рисунке 4.2. Типы связей здесь обозначены надписями на соединяющих типы записей линиях.
Рисунок 4.2 - Сетевая модель данных
Анализируя схему, видим, что все элементы связаны друг с другом. Любой элемент может быть выражен через другие элементы. С одной стороны это хорошо, но с другой плохо: на формирование типов связи не накладываются особые ограничения, что приводит при выполнении основных операций над данными к негативным для проектируемой БД ситуациям. Например, в дополнительной таблице появятся записи, которые не имеют родительских записей в основной таблице.
Поэтому недостатком СМД является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность для понимания и выполнения обработки информации в БД обычным пользователем. Кроме того, в СМД ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями. Таким образом, для разработанной в пункте 3 схемы объект-отношение данную модель данных применять нежелательно.
Достоинством СМД является возможность эффективной реализации по показателям затрат памяти и оперативности. В сравнении с ИМД сетевая модель предоставляет большие возможности в смысле допустимости образования произвольных связей.
4.3 Реляционная модель данных
Реляционная модель данных некоторой предметной области представляет собой набор отношений (двумерных таблиц), изменяющихся во времени.
В общем случае можно считать, что реляционная БД включает одну или несколько таблиц, объединенных смысловым содержанием, а также процедурами контроля целостности и обработки информации в интересах решения некоторой прикладной задачи. Например, при использовании СУБД Microsoft Access в файле БД наряду с таблицами хранятся и другие объекты базы: запросы, отчеты, формы, макросы и модули.
Достоинство РМД заключается в простоте, понятности и удобстве физической реализации на ЭВМ. С помощью одной таблицы удобно описывать простейший вид связей между данными, а именно деление одного объекта, информация о котором храниться в таблице, на множество подобъектов, каждому из которых соответствует строка или запись таблицы. Физическое размещение данных в реляционных базах на внешних носителях легко осуществляется с помощью обычных файлов. Проблемы же эффективности обработки данных этого типа оказались технически вполне разрешимыми.
Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.
Переход от схемы объект – отношение к реляционной модели данных осуществляется следующим образом: все объекты схемы объект – отношение это определенные таблицы название полей которых являются свойствами объектов, если отношение имеет свойства то оно также является таблицей в полученной реляционной модели данных
Для проектируемой базы данных реляционная модель представлена на рисунке 4.3.
Рисунок 4.3 - Реляционная модель данных
Таким образом, после рассмотрения приведенных выше моделей данных для разработанной в пункте 3 схемы объект-отношение была выбрана РМД, которая проста и понятна для пользователя и отвечает требованиям изучаемого курса.
5 ОБОСНОВАНИЕ ВЫБОРА СУБД
Основы современной информационной технологии составляют базы данных (БД – это структурированная определенным образом совокупность данных, относящихся к конкретной задаче ) и системы управления базами данных (СУБД представляет собой комплекс инструментальных средств, программных и языковых, реализующих централизованное управление БД и обеспечивающих доступ к данным (изменения, добавления, удаления, резервного копирования и т.д. ), роль которых как единого средства хранения, обработки и доступа к большим объемам информации постоянно возрастает. Быстрое развитие потребностей применений БД выдвигает новые требования к СУБД: естественные и эффективные представления в БД разнообразных отношений между объектами предметных областей (например, пространственно-временных с обеспечением визуализации данных); СУБД должна обеспечивать поиск, модификацию и сохранность данных, а также оперативный доступ (время отклика), защиту целостности данных от аппаратных сбоев и программных ошибок, разграничение прав и защита от несанкционированного доступа, поддержка совместной работы нескольких пользователей с данными.
Этим требованиям отвечают многие современные СУБД, в том числе и Access. МА включает в себя традиционные технологии и возможности реляционных СУБД, предоставляет средства создания базы нормализованных данных и форм для диалоговой работы с ней и удобным графическим интерфейсом. С построением базы нормализованных данных тесно связана разработка и эффективная реализация задач пользователя. Для рения многих задач достаточно использовать такие объекты Access, как формы, запросы ,отчеты. Эти объекты легко создаются в диалоговом режиме. Для реализации целостного приложения пользователя в некоторой предметной области возникает необходимость в создании макросов и модуле на языке Visual Basic for Applications (VBA). Механизм обработки событий, возникающих в процессе диалоговой работы с данными, позволяет объединять в приложении пользователя отдельные запросы, формы и отчеты и получать нестандартные рения в практических приложениях пользователя.
Программа Microsoft Access 2000 является реляционной СУБД, которая может функционировать под управлением операционных систем Windows 95/98/Me, Windows NT, Windows XP, и позволяет реализовать поставленную цель. Обеспечивает удобство работы пользователя: имеется возможность создания пользовательских интерфейсов при использовании Visual Basic для приложений, автоматизация разработки различных объектов. Для построения и выполнения запросной функции в Access 2000 очень удобным и доступным является язык запросов по образцу QBE, поддерживаемый мощным интерфейсом пользователя, а также встроенный язык запросов SQL, который является удобным языком управления базами данных.
Программа Microsoft Access 2000 имеет небольшой объем вспомогательного программного обеспечения, вследствие чего предъявляет меньше требований к памяти, чем программы Microsoft Access поздних версий. Кроме того, для проектирования требуемой БД нет необходимости в использовании возможностей более поздних программ Office или других фирм производителей. Вполне достаточно средств, предоставляемых пользователю Microsoft Access 2000.
6 ОПИСАНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ РЕЛЯЦИОННОЙ
БАЗЫ ДАННЫХ
6.1 Схема Данных
Схема данных, отражает логическое представление реляционной модели данных для проектируемой БД.
Построить иную концептуальную модель для данной БД таким образом, чтобы она отвечала специфике предметной области и в информационном плане сохраняла все возможности приведенной выше модели без добавления новых объектов, практически невозможно.
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.
Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пуст.
Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее не ключевых полей не зависит функционально от любого другого не ключевого поля.
Рисунок 6.2 – Таблица данных в 1НФ
Назв. предприятия С 80 |
Дата открытия предприятия D10 |
Назв. Города C20 |
Назв. Типа предпр C30 |
Назв. Цеха C15 |
Кол-во рабочих N4 |
Дата ввода в строй D8 |
Дата посл реконструкции D8 |
Месяц С8 |
Кол-во изделий N6 |
Цена N5 |
Назв. Изделия C20 |
Представим функциональные зависимости для таблицы в 1НФ:
Название цеха
Название изделия
Название города
Название предприятия
Кол-во рабочих
Кол-во изделий
Название типа
Дата открытия
Дата ввода в строй
Цена изделия
Месяц выпуска изделия
Дата посл. Реконстр.
Рисунок 6.3 – Функциональные зависимости для 1НФ
Предприятие
Название предприятия |
Дата открытия |
Тип |
Город |
Цех
Название цеха С15 |
Количество рабочих N4 |
Дата ввода в строй D8 |
Дата последней реконструкции D8 |
Месяц выпуска изделия |
Количество изделий |
Цена изделия |
Название изделия |
Рисунок 6.4 – Таблицы данных во 2НФ
После представления таблиц во 2НФ, представим шапки таблиц в 3НФ:
Месяц |
Кол-во изделий |
Цена изделия |
Код цеха# |
Код изделия# |
#Код типа |
Название типа |
Предприятие
#Код предпр |
Название предприятия |
Дата открытия |
КГ# |
КТ# |
Изделие
#Код изделия |
Название изделия |
Цех
#Код цеха |
Название цеха |
Кол-во рабочих |
Дата ввода в строй |
Дата последней реконструкции |
Код предприятия# |
Город
#Код города |
Название города |
Рисунок 6.5 – Таблицы данных в 3НФ
6.2 Описание и обоснование полей таблиц
В проектируемой базе данных реализовано шесть таблиц. Ниже для каждой таблицы приведены описание, обоснование полей, ограничения на входную информацию, необходимые маски ввода, используемые подстановки. Все примеры заполненных таблиц приведены в приложении В.
Таблица «Предприятие» (таблица 6.2.1):
Код предприятия
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название предприятия
- Текстовое;
- Размер 80;
- Обязательное поле, так как название предприятия – это главная особенность, по которой можно различать предприятия;
- Пустых строк нет, так как не может быть предприятие без названия;
- Совпадения не допускаются, так как у двух разных предприятий не должно быть одинаковых названий;
3. Дата открытия предприятия
- Тип дата;
- Размер 10;
- Обязательное поле, так как у каждого предприятия есть дата открытия;
-Совпадения допускаются, так как разные предприятия могут быть открыты в один и тот же день;
-Маска: 00.00.0000;
-Значение по умолчанию =Date();
-Условие на значения <=Date(), так как предприятие не может открыться позже, чем в день рассмотрения его деятельности.
4. Город
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как каждое предприятие находится в каком-либо городе;
-Совпадения допускаются, так как разные предприятия могут находиться в одном городе;
-Подстановка: из таблицы «Город», поле «Название города»;
-Внешний ключ.
5. Тип
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как у каждого предприятия есть свой тип;
-Совпадения допускаются, так как разные предприятия могут иметь один и тот же тип;
-Подстановка: из таблицы «Тип», поле «Название типа»;
-Внешний ключ.
Таблица 6.2.1 «Предприятие»
-
Предприятие
#Код предприятия
Название предприятия
Дата открытия
Город
Тип
1
Шахтуглесервис
25.06.1956
Шахтерск
Частное
2
Азовмаш
24.05.1985
Мариуполь
ООО
3
Азовсталь
13.02.1991
Краматорск
Государственное
4
ДМЗ
12.03.1985
Донецк
ОАО
Таблица «Город» (таблица 6.2.2):
Код города
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
Название города
- Текстовое;
- Размер 20;
- Обязательное поле, так как город не может быть без названия;
- Пустых строк нет, так как город не может иметь пустое название;
- Совпадения не допускаются, так как разные города не могут иметь одно и то же название.
Таблица 6.2.2 «Город»
Город |
|
#Код города |
Название города |
1 |
Донецк |
2 |
Шахтерск |
3 |
Мариуполь |
4 |
Краматорск |
Таблица «Тип» (таблица 6.2.3):
1. Код типа
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название типа
- Текстовое;
- Размер 30;
- Обязательное поле, так как тип не может быть без названия;
- Пустых строк нет, так как тип не может иметь пустое название;
- Совпадения не допускаются, так как разные типы не могут иметь одно и то же название.
Таблица 6.2.3 «Тип»
-
Тип
#Код типа
Название типа
1
Государственное
2
Частное
3
ООО
4
ОАО
Таблица «Изделие» (таблица 6.2.4):
1. Код города
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название изделия
- Текстовое;
- Размер 20;
- Обязательное поле, так как изделия не может быть без названия;
- Пустых строк нет, так как тип не может иметь пустое название;
- Совпадения не допускаются, так как разные изделия не могут иметь одно и то же название.
Таблица 6.2.4 «Изделие»
-
Изделие
#Код изделия
Название изделия
1
Шайбы
2
Чайники
3
Болты
4
Бочки
5
Двигатели
6
Сковородки
7
Столы
8
Кровати
9
Компьютеры
Таблица «Цех» (таблица 6.2.5):
1. Код цеха
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название цеха
- Текстовое;
- Размер 15;
- Обязательное поле, так как изделия не может быть без названия;
- Пустых строк нет, так как цех не может иметь пустое название;
- Совпадения допускаются, так как разные цеха не могут иметь одно и то же название.
Количество рабочих
-Тип длинное целое;
-Размер 4;
-Совпадения допускаются, так как разные цеха могут иметь одинаковое число количества рабочих;
- Пустых строк нет, так как любой цех содержит рабочих;
-Условие на значение >0, так как на цеху не может быть ни одного рабочего.
Дата ввода в строй
-Тип дата
- Размер 10
- Обязательное поле, так как каждый цех имеет дату открытия;
-Совпадения допускаются, так как разные цеха могут в один день войти в строй;
- Маска: 00.00.0000;
-Значение по умолчанию =Date();
- Условие на значения <=Date()and<(дата последней реконструкции), так как цех не может быть введен в строй позже, чем была его реконструкция.
Дата последней реконструкции
-Тип дата;
- Размер 10;
- Не обязательное поле, так как цех мог еще не подлежать реконструкции;
-Совпадения допускаются, так как даты реконструкции разных цехов могут быть одинаковыми;
- Маска: 00.00.0000;
- Значение по умолчанию =Date()
- Условие на значения <=Date()and>(дата ввода в строй), так как цех не может быть отреконструирован раньше, чем он был введен в строй.
Предприятие
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как любой цех находится на каком-либо предприятии;
-Совпадения допускаются, так как несколько цехов могут быть на одном предприятии;
-Подстановка: из таблицы «Предприятие», поле «Название предприятия»;
-Внешний ключ.
Таблица 6.2.5 «Цех»
Цех |
|||||
#Код цеха |
Название цеха |
Количество рабочих |
Дата ввода в строй |
Дата последней реконструкции |
Предприятие |
1 |
Любительский |
146 |
19.05.1999 |
26.03.2000 |
Азовсталь |
7 |
Конечный |
106 |
21.07.1998 |
29.03.2004 |
Азовсталь |
11 |
Любительский |
60 |
31.05.1996 |
16.04.2001 |
Азовмаш |
13 |
Промежуточный |
34 |
05.10.1995 |
06.08.1998 |
ДМЗ |
15 |
Промежуточный |
140 |
01.02.1986 |
12.07.1996 |
Азовмаш |
24 |
Древний |
25 |
03.12.1957 |
25.05.1959 |
Шахтуглесервис |
25 |
Любительский |
326 |
18.12.1989 |
26.04.1995 |
ДМЗ |
34 |
Конечный |
86 |
29.05.1973 |
16.11.2001 |
Шахтуглесервис |
Таблица «Выпуск» (таблица 6.2.6):
Месяц
-Текстовое;
- Размер 8;
- Обязательное поле, так как все изделия выпускаются в каком-то месяце;
- Совпадения допускаются, так как изделия могли быть выпущены в один и тот же месяц.
Количество изделий
-Тип длинное целое;
-Размер 4;
-Совпадения допускаются, так как могло быть выпущено одинаковое количество изделий;
-Пустых строк нет, так как в любом случае было выпущено какое-либо количество изделий.
Цена изделия
-Тип длинное целое;
-Размер 5;
-Совпадения допускаются, так как цена может быть одинаковой у разных изделий;
-Пустых строк нет, у всех изделий есть своя цена.
Цех
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как любое изделие выпускается на каком-то цеху;
-Совпадения допускаются, так как разные изделия выпускаются на одном цеху;
-Подстановка: из таблицы «Цех», поле «Название цеха»
-Внешний ключ.
Изделие
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как обязательно выпускается како-то изделие;
-Совпадения допускаются, так как может выпускаться одно и то же изделие;
-Подстановка: из таблицы «Изделие», поле «Название изделия»;
-Внешний ключ.
Таблица 6.2.6
Выпускает |
|||||
Месяц |
Количество изделий |
Цена изделия |
Цех |
Изделие |
Код Выпуска |
Январь |
2568 |
107 |
Любительский |
Бочки |
2 |
Февраль |
78 |
34 |
Любительский |
Чайники |
7 |
Март |
1000 |
100 |
Любительский |
Болты |
9 |
Апрель |
200 |
101 |
Любительский |
Чайники |
12 |
Май |
567 |
754 |
Любительский |
Бочки |
13 |
Июнь |
155 |
24 |
Любительский |
Бочки |
24 |
Июль |
4535 |
788 |
Любительский |
Двигатели |
29 |
Август |
636 |
235 |
Любительский |
Бочки |
30 |
Сентябрь |
42 |
520 |
Любительский |
Шайбы |
31 |
Октябрь |
453 |
445 |
Любительский |
Кровати |
32 |
Январь |
535 |
53 |
Конечный |
Шайбы |
33 |
Февраль |
539 |
278 |
Конечный |
Чайники |
34 |
Март |
455 |
876 |
Конечный |
Болты |
35 |
Апрель |
41 |
7786 |
Конечный |
Кровати |
36 |
Октябрь |
572 |
963 |
Конечный |
Столы |
37 |
Ноябрь |
754 |
912 |
Конечный |
Сковородки |
38 |
Декабрь |
476 |
724 |
Конечный |
Двигатели |
39 |
Январь |
336 |
26 |
Промежуточный |
Двигатели |
40 |
Февраль |
561 |
54 |
Промежуточный |
Бочки |
41 |
Сентябрь |
513 |
35 |
Промежуточный |
Болты |
42 |
Август |
45 |
96 |
Промежуточный |
Двигатели |
44 |
Март |
4 |
5468 |
Промежуточный |
Сковородки |
45 |
Апрель |
8462 |
33 |
Древний |
Столы |
46 |
Сентябрь |
545 |
56543 |
Древний |
Болты |
47 |
Ноябрь |
654 |
377 |
Любительский |
Компьютеры |
48 |
Декабрь |
8974 |
850 |
Любительский |
Двигатели |
49 |
Май |
6463 |
55 |
Конечный |
Компьютеры |
50 |
Июнь |
543 |
12 |
Конечный |
Шайбы |
51 |
Июль |
894 |
4856 |
Конечный |
Чайники |
52 |
Август |
5641 |
861 |
Конечный |
Болты |
53 |
Сентябрь |
563 |
48 |
Конечный |
Столы |
54 |
Апрель |
521 |
265 |
Промежуточный |
Компьютеры |
55 |
Май |
23 |
2645 |
Промежуточный |
Сковородки |
56 |
Июнь |
452 |
52 |
Промежуточный |
Чайники |
57 |
Июль |
553 |
83 |
Промежуточный |
Компьютеры |
58 |
Декабрь |
441 |
333 |
Промежуточный |
Кровати |
59 |
Ноябрь |
478 |
599 |
Промежуточный |
Бочки |
60 |
ВЫВОДЫ
Результатом проведенной работы является база данных «Учет производительной деятельности промышленного предприятия» в СУБД Microsoft Access, имеющая удобный пользовательский интерфейс, предназначенный для работы различных групп пользователей.
База данных может предоставить пользователю всю необходимую информацию о деятельности промышленных предприятий. Таким образом, первостепенная цель написания данного курсового проекта, а именно создание БД, позволяющей автоматизировать учет деятельности предприятий, выполнена.
В целом, БД отвечает следующим требованиям:
содержит всю необходимую информацию о предприятиях, цехах, производственном процессе;
имеет удобный пользовательский интерфейс;
обеспечивает выполнение операций хранения и модификации, соблюдает правила обновления данных;
соблюдает сроки хранения данных, несет ответственность за их сохранность и достоверность, обеспечивает санкционированный доступ;
обеспечивает архивирование и восстановление данных.
Разработанная база данных может иметь широкое применение. Ее могут использовать прикладные программисты, учебные заведения, студенты, проходящие курс по сходной тематике. Особенно рекомендуется использовать БД статистическим организациям: исчезнет необходимость в многотомных бумажных картотеках, в утомительной ручной работе над разработкой статистических данных. Также, данную базу можно использовать в бухгалтериях каждого отдельного использованного в базе предприятия. Кроме того, компьютер может вести поиск и изменять данные гораздо быстрее человека и лучше выполнять механическую работу.
База данных проста в использовании, что даже неопытный пользователь сможет легко разобраться, как с ней работать. Для понимания ее функционирования не требуется знаний особых разделов проектирования баз данных, специальных навыков программирования и знаний экономических дисциплин. Не возникнет проблем с использованием этой БД и при наличии компьютера, обладающего минимальной вычислительной мощностью.
Недостатками в этой БД является недостаточная информация о предприятиях: нет информации о директоре, об окладах рабочим, о специализации цехов, о продажах изделий и об их остатках. Возможно, не везде предусмотрены условия на вводимые данные, не до конца продумана идея доступа к базе данных: уровни и группы пользователей.
Автор надеется в дальнейшем расширить функциональные возможности и усовершенствовать данную БД при помощи ликвидации ее недостатков.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
Хомоненко А.Д., Цыганкова В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко. – Издание второе, дополненное и переработанное – СПб.: КОРОНА принт, 2002.
Дейт К.Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 2000.
Пасько В. Access 97 – К.: Издательская группа BHV, 2000. – 368с.
Дейт К., Дж. Введение в системы баз данных, 6-е издание – К.; М.; СПб.: Из-дательский дом “Вильямс”, 2000.
Бекаревич Ю.Б., Пушкина Н.В. MS Access 2000 за 30 занятий. – СПб.: БХВ-Петербург, 2001. – 512 с.: ил.
Методические указания по оформлению студенческих работ/ Сост.: Л.А. Белозерский и др. – Донецк: ДГИИИ, 2000г.
Приложение Б
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
Б.1 Общие сведения
Разработанная БД предназначена для предоставления пользователю всей необходимой информации для автоматизации производительной деятельности промышленного предприятия.
Данная БД имеет удобный графический интерфейс. При запуске программы, появляется главное меню, содержащее все пункты, необходимые для работы с приложением (см. Приложение Д рис. Д.1). При необходимости добавить, просмотреть или изменить информацию нужно выбрать помощью клавиш управления курсором или <Tab> необходимую кнопку с названием формы, и нажать <Enter> или открыть форму кликом мыши.
Для запуска программы требуется запустить файл «Course.mdb» в СУБД MS Access.
Б.2 Ввод, удаление, добавление и редактирование данных
Ввод данных осуществляется в формах с помощью клавиатуры. Для ввода данных необходимо выделить указателем мыши необходимое поле или перейти на него с помощью клавиш управления курсором или <Tab>, и ввести данные. Аналогичным образом осуществляется редактирование данных.
Добавление данных осуществляется в формах так же, как и во всех БД.
На удаление записей пользователи «Guest» не имеют права. Удалять записи из таблиц или форм могут только пользователи «Adminstrator» и «User», используя соответствующие клавиши в формах.
Б.3 Просмотр отчетов
Для просмотра отчетов необходимо вызвать пункт меню Главное меню->открыть отчет. Либо пункт меню Главное меню->открыть форму->отчеты.
Б.4 Использование справочной информации и выход из программы
Справочная информация в БД. В целом для осуществления необходимых действий требуется читать надписи на кнопках или рядом с ними и нажимать на эти кнопки.
Выход из приложения MS Access осуществляется при выборе пункта меню Главное меню->Выход.
Приложение В
ЛИСТИНГИ ПРОГРАММНЫХ МОДУЛЕЙ
Модуль: контроль над вводом данных.
Option Compare Database
sub> c()
Dim t As Integer
DoCmd.OpenForm "Предприятие1", acNormal
DoCmd.OpenForm "Цех1", acNormal
If [Forms]![Предприятие1]![дата открытия] < [Forms]![Цех1]![дата ввода в строй] Then
t = MsgBox("Данные введены, верно", vbOKOnly, " Сообщение")
Else: t = MsgBox("Сообщение: цех был введен в строй, до открытия предприятия", vbOKOnly, " Сообщение")
End If
End sub>
2. Модуль: группы пользователей.
Private sub> Form_Open(Cancel As Integer)
myvalue = InputBox("Если вы администратор либо пользователь, введите свой пароль, если гость – нажмите ОК")
If myvalue = "" Then
Кнопка 13.Visible = False
Кнопка 15.Visible = False
Кнопка 23.Visible = False
Кнопка 16.Visible = False
Кнопка 45.Visible = False
Кнопка 48.Visible = False
Кнопка 49.Visible = False
Кнопка 50.Visible = False
Кнопка 51.Visible = False
Кнопка 52.Visible = False
Кнопка 53.Visible = False
Else
If myvalue = "I am admin" Then
Кнопка 16.Visible = True
Кнопка 23.Visible = True
Кнопка 15.Visible = True
Кнопка 13.Visible = True
Кнопка 33.Visible = True
Кнопка 8.Visible = True
Кнопка 38.Visible = True
Else
If myvalue = "User" Then
Кнопка 48.Visible = False
Кнопка 49.Visible = False
Кнопка 50.Visible = False
Кнопка 51.Visible = False
Кнопка 52.Visible = False
Кнопка 53.Visible = False
Else: MsgBox ("введите правильный пароль!!!")
DoCmd.Close acForm, "Главная"
End If
End If
End If
End sub>
3. Модуль: добавление в форму.
Option Compare Database
sub> Verifying() 'Процедура добавления элемента в список
Dim str, tmp1, tmp2 As String
Dim c, i, t, f As Integer
Dim rst As DAO.Recordset
Dim flag As Boolean
str = ""
Do While str = ""
str = InputBox("Введите название", "Ввод данных") 'Вводим новый элемент
If str = "" Then 'Предотвращение пустой строки
t = MsgBox("Строка не может быть пустой", vbInformation, "Инфо")
End If
Loop
DoCmd.OpenForm "Предприятие1", acNormal 'Открываем форму
DoCmd.GoToRecord acDataForm, "Предприятие1", acNewRec
Set rst = Forms("Предприятие1").Recordset
flag = False
rst.MoveFirst
While Not rst.EOF
If rst![Название предприятия] = str Then
flag = True
GoTo m001:
End If
rst.MoveNext
Wend
m001:
If flag Then
t = MsgBox("Такой элемент в списке уже есть. Добавление невозможно.", vbCritical)
Else
t = MsgBox("Вы действительно желаете добавить новый элемент списка?", vbQuestion + vbYesNo, "Вы уверены?")
If t = 6 Then
rst.AddNew
rst![Название предприятия] = str
rst.Update
z = MsgBox("Добавленно новое название: " & str, vbInformation)
ElseIf t = 7 Then 'отказ от добавления
t = MsgBox("Прервано пользователем!", vbOKOnly + vbCritical, "Error")
End If
End If
DoCmd.OpenForm "Предприятие1", acNormal 'Открываем форму
End sub>