Разработка базы данных кадрового учета на предприятии «ООО Магазин N2 Завьялово»
Так же необходим справочник должностей и категорий, справочник отделов и ставок в отделах. Система должна вести учет личных данных сотрудников и их документов, фиксировать назначения сотрудников на ставки и оформление сотрудником отпуска, хранить данные о прежних местах работы из трудовой книжки для возможности автоматического расчета стажа сотрудника (общего, непрерывного и по выслуге лет… Читать ещё >
Разработка базы данных кадрового учета на предприятии «ООО Магазин N2 Завьялово» (реферат, курсовая, диплом, контрольная)
Федеральное агентство по образованию
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНДУСТРИАЛЬНЫЙ УНИВЕРСИТЕТ
ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ КАФЕДРА
«ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ
В ЭКОНОМИКЕ И УПРАВЛЕНИИ«
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА КУРСОВОГО ПРОЕКТА ПО ДИСЦИПЛИНЕ «БАЗЫ ДАННЫХ»
ТЕМА Разработка базы данных кадрового учета на предприятии — «ООО Магазин N2 Завьялово»
Студент Малмыгина А.П.
Группа Пм11У011
Преподаватель Суворов С.В.
Москва 2012 г.
Введение
Кадровый учет предприятия является одним из первых этапов создания предприятия. Он закладывает фундамент для организации деятельности предприятия в целом и служит источником данных для бухгалтерского учета в части начисления заработной платы сотрудникам.
Совершенствование управления кадровым учетом позволяет достичь экономии времени и снижения вероятности финансовых ошибок сотрудникам бухгалтерии. Необходимость разработки базы данных обусловлена задачами стоящими перед руководством предприятия, а именно повышением эффективности учета персонала и автоматизированным формированием отчетных форм как результата этого учета.
В соответствии с вышеизложенным, цель настоящего курсового проекта: Повышение эффективности кадрового учета на предприятии «ООО Магазин N2 Завьялово» за счет разработки и внедрения базы данных.
1. Общая характеристика и анализ объекта исследования
Проектируемая информационная система предназначена для решения следующих задач:
возможности редактирования, добавления, хранения и удаления данных о сотрудниках;
ведения кадровых классификаторов;
ввода информации о структуре предприятия — его отделах и ставках;
ввода информации о стаже сотрудников (трудовая книжка), об отпусках сотрудников и личных документах;
вывод отчета о структуре штатного расписания на любую дату деятельности предприия.
Анализ объекта исследования (предприятия) При оформлении нового сотрудника в карточку «сотрудник» вносится следующая информация: фамилия, имя, отчество сотрудника, номер паспорта, ставка на которую назначается сотрудник. Все поля карточки являются обязательными к заполнению. Форма данного документа изображена ниже:
Личная карточка сотрудника Код сотрудника ___________
Номер паспорта___________
Имя_____________________
Отчество_________________
Фамилия_________________
В раздел «контактная информация» вносятся следующие данные: личный код сотрудника, фамилия, имя, отчество, адрес, домашний телефон. Поля код сотрудника, фамилия, имя, отчество и адрес являются обязательными. Поле домашний телефон заполняется по желанию сотрудника.
Для назначения сотрудника на ставку предварительно формируется структура предприятия с перечнем отделов и ставок открытых в них. В карточку «Ставка» вносятся следующие данные: наименование должности, наименование ставки, номер ставки, процент ставки. Все поля являются обязательными к заполнению При назначении сотрудника на ставку заполняется следующая информация:
процент назначения, дата назначения, документ о назначении, дата освобождения, документ об освобождении, признак включения периода работы на ставке в общий стаж, признак включения периода работы в непрерывный стаж, признак включения периода работы в стаж по выслуге лет.
На основе введенных данных на определенную дату строится отчет «Штатное расписание предприятия», в котором указываются: отделы, должности и ставки открытые в отделах, ФИО сотрудников назначенных на ставки, процент ставки на который назначены сотрудники, даты назначения и освобождения сотрудников на ставки.
2. Инфологическое моделирование системы
Проектируемая система автоматизации должна позволять вести ряд классификаторов для использования в работе: виды назначения, причины увольнений, семейное положение, типы документов сотрудников, типы отпусков сотрудников.
Так же необходим справочник должностей и категорий, справочник отделов и ставок в отделах. Система должна вести учет личных данных сотрудников и их документов, фиксировать назначения сотрудников на ставки и оформление сотрудником отпуска, хранить данные о прежних местах работы из трудовой книжки для возможности автоматического расчета стажа сотрудника (общего, непрерывного и по выслуге лет), которую можно реализовать при будущем развитии системы.
В соответствии с описанием предметной области можно выделить такие информационные объекты (сущности) как личная карточка сотрудника (сотрудник), отделы, ставки открытые на предприятии, категории должности, должности, документы сотрудника, типы документов, стаж сотрудника (трудовая книжка), отпуск сотрудника, типы отпуска.
Схемы сущностей с атрибутами запишем в следующем виде:
— Сотрудники (№Сотрудника, табельный номер, ФИО, пол, дата рождения, место рождения, гражданство, дата поступления, дата увольнения с предприятия, адрес, телефон, семейное положение, ИНН, пенсионный код);
— Отделы (№Отдела, код отдела, наименование отдела, дата открытия отдела, дата закрытия отдела на предприятии);
— КатегорияДолжности (№КатегорииДолжности, код, наименование, тип (рабочий/служащий);
— Должности (№Должности, код должности, наименование);
— Ставки (№Ставки, наименование ставки, порядковый номер одноименных ставок, процент занятости ставки);
— ТипыДокументов (№ТипаДокумента, код, наименование);
— Документы (№Документа, серия, номер, дата выдачи, кем выдан);
— ТрудоваяКнижка (№Записи в трудовой книжке, дата приема, дата увольнения, причина увольнения, место работы, должность, приказ о приеме, приказ об увольнении, признаки включения данного периода работы в стаж сотрудника — общий/непрерывный/по выслуге);
— ТипыОтпуска (№ТипаОтпуска, код, наименование, учет периода, призанк командировки);
— Отпуска (№Отпуска, дата начала отпуска, дата окончания отпуска, дата начала периода, дата окончания периода, длительность отпуска).
Для представления отношений между сущностями в предметной области используются связи. Для создания связей между сущностей применяются косвенные приемы моделирования связей на основе типов структур данных, допускаемых моделью данных принятой СУБД.
Для косвенного моделирования связи сущностей применяются два способа:
1) Определение связи сущностей как самостоятельной дополнительной сущности;
2) Добавление в сущность общих атрибутов. 2]
Используем первый способ для создания сложной связи сущностей Сотрудники и Ставки, которая позволит фиксировать все назначения сотрудника на разные ставки во время его работы на предприятии. Для этого в качестве атрибутов новой сущности возьмем идентифицирующие атрибуты сущностей, которые входят в связь. Этими атрибутами станут №Сотрудника и №Ставки. Присвоим новой сущности тип НазначенНаСтавку, и определим дополнительные необходимые атрибуты. Структуру этой сущности можно смоделировать схемой записи:
НазначенНаСтавку (№Сотрудника, №Ставки, процент назначения, дата назначения, документ о назначении, дата освобождения, документ об освобождении, признак включения периода работы на ставке в общий стаж, признак включения периода работы в непрерывный стаж, признак включения периода работы в стаж по выслуге лет).
Идентифицирующими для этой сущности будут атрибуты №Сотрудника, №Ставки. Набор экземпляров сущности моделируется отдельной таблицей.
Для более простых связей между сущностями — использования справочных данных и классификаторов воспользуемся вторым способом — добавлением в сущность общих атрибутов.
По этому способу для связи сущностей Должности и КатегорияДолжности введем в сущность Должности атрибут №КатегорииДолжности, тогда схема сущности примет вид:
— Должности (№Должности, №КатегорииДолжности, код должности, наименование).
Так как ставка открывается в определенном отделе и для конкретной должности, для связи сущностей Ставки и Отделы введем в сущность Ставки атрибут №Отдела, и дополнительно для связи сущностей Ставки и Должностей введем в сущность Ставки атрибут №Должности, тогда схема сущности примет вид:
Ставки (№Ставки, №Отдела, №Должности, наименование ставки, порядковый номер одноименных ставок, процент занятости ставки.
Для связи типов сущностей Сотрудники и Документы введем в сущность Документы атрибут №Сотрудника:
Документы (№Документа, №Сотрудника, серия, номер, дата выдачи, кем выдан);
Для связи типов сущностей ТипыДокументов и Документы введем в сущность Документы атрибут №ТипаДокумента:
Документы (№Документа, №Сотрудника, №ТипаДокумента, серия, номер, дата выдачи, кем выдан).
Для связи типов сущностей Сотрудники и ТрудоваяКнижка введем в сущность ТрудоваяКнижка атрибут №Сотрудника:
ТрудоваяКнижка (№Записи в трудовой книжке, №Сотрудника, дата приема, дата увольнения, …).
Для связи типов сущностей Сотрудники и Отпуска введем в сущность Отпуска атрибут №Сотрудника:
— Отпуска (№Отпуска, №Сотрудника, дата начала отпуска, дата окончания отпуска, дата начала периода, дата окончания периода, длительность отпуска).
Для связи типов сущностей Отпуска и ТипыОтпуска введем в сущность Отпуска атрибут №ТипаОтпуска:
Отпуска (№Отпуска, №Сотрудника, №ТипаОтпуска, дата начала отпуска, дата окончания отпуска, дата начала периода, дата окончания периода, длительность отпуска).
агентство маркетинговый кадровый учет
3. Даталогическое моделирование системы
На основе концептуальной инфологической модели составим и проанализируем диаграммы функциональных зависимостей атрибутов сущностей БД, для выделения ключевых полей и назначения первичных ключей.
Рассмотрим зависимости атрибутов между собой для сущности Сотрудники:
№Сотрудника | ||||||||||||
табельный номер | ||||||||||||
ФИО | ||||||||||||
пол | ||||||||||||
дата рождения | ||||||||||||
место рождения | ||||||||||||
гражданство | ||||||||||||
дата поступления | ||||||||||||
дата увольнения | ||||||||||||
адрес | ||||||||||||
телефон | ||||||||||||
сем.положение | ||||||||||||
ИНН | ||||||||||||
пенсионный код | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения являются атрибуты №Сотрудника и Табельный номер, но для простоты назначим первичным ключом атрибут №Сотрудника.
Зависимости атрибутов для сущности Отделы:
№Отдела | ||||||||||||
Код отдела | ||||||||||||
наименование отдела | ||||||||||||
дата открытия | ||||||||||||
дата закрытия | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения является атрибут №Отдела, назначим его первичным ключом.
Зависимости атрибутов для сущности Должности:
№Должности | ||||||||||||
№категории должности | ||||||||||||
код должности | ||||||||||||
наименование | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения является атрибут № Должности, назначим его первичным ключом.
Зависимости атрибутов для сущности Ставки:
№ Ставки | ||||||||||||
№отдела | ||||||||||||
№должности | ||||||||||||
наименование ст. | ||||||||||||
Порядковый№ ст. | ||||||||||||
процент занятости | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения является атрибут №Ставки, назначим его первичным ключом.
Зависимости атрибутов для сущности Документы:
№Документа | ||||||||||||
№сотрудника | ||||||||||||
№типа документа | ||||||||||||
серия | ||||||||||||
номер | ||||||||||||
дата выдачи | ||||||||||||
кем выдан | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения является атрибут №Документа, назначим его первичным ключом.
Зависимости атрибутов для сущности ТрудоваяКнижка:
№ Записи | ||||||||||||
№сотрудника | ||||||||||||
дата приема | ||||||||||||
дата увольнения | ||||||||||||
причина увольнения | ||||||||||||
место работы | ||||||||||||
должность | ||||||||||||
приказ о приеме | ||||||||||||
приказ об увольнении | ||||||||||||
признаки включения периода в стаж | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения является атрибут № Записи в трудовой книжке, назначим его первичным ключом.
Зависимости атрибутов для сущности Отпуска:
№ Отпуска | ||||||||||||
№типа отпуска | ||||||||||||
дата начала | ||||||||||||
дата окончания | ||||||||||||
дата начала периода | ||||||||||||
дата окончания периода | ||||||||||||
длительность отпуска | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения является атрибут №Отпуска, назначим его первичным ключом.
Зависимости атрибутов для сущности НазначенНаСтавку:
№Сотрудника | ||||||||||||
№Ставки | ||||||||||||
процент назначения | ||||||||||||
дата назначения | ||||||||||||
документ о назначении | ||||||||||||
дата освобождения | ||||||||||||
документ об освобождении ставки | ||||||||||||
признаки включения периода в стаж | ||||||||||||
Ключом кандидатом, от которого зависят все атрибуты отношения является составной ключ из двух атрибутов №Сотрудника + №Ставки, назначим эту пару атрибутов первичным ключом.
Выполним нормализацию проектируемой системы до третьей нормальной формы (ЗНФ).
Согласно определению схема отношения R находится в первой нормальной форме (1НФ), когда все входящие в неё атрибуты являются атомарными, т. е. в любом поле содержится только одно значение, и любое ключевое поле не пусто. [1]
На основе рассмотренных выше диаграмм функциональных зависимостей атрибутов сущностей можно сделать вывод, что база данных находится в первой нормальной форме, так как все атрибуты являются атомарными, ключевые поля определены и они не пусты.
Однако, наблюдаются аномалии дублирования информации, что является нецелесообразным, так как перерасходуются ресурсы ЭВМ и корректировка данных требует изменения всех копий. Для исключения дублирования проводится полная декомпозиция (расщепление) реляционных таблиц.
Так, например, в сущности Сотрудники дублируется информация в атрибуте — семейное положение, и в случае изменения значения атрибута (например значение «В браке» заменить на значение «Состоит в браке») придется корректировать значения всех копий.
Проведем декомпозицию сущности Сотрудники. Выделим атрибут «семейное положение» в новую сущность Семейное Положение (№ Записи Сем Положения, код, наименование), и тогда сущность Сотрудники примет вид:
Сотрудники (№Сотрудника, № Записи Сем Положения, табельный номер, ФИО, пол, дата рождения, место рождения, гражданство, дата поступления, дата увольнения с предприятия, адрес, телефон, ИНН, пенсионный код).
Так как база данных представлена в 1НФ и в атрибутах полученных новых сущностей не содержится общего ключа-кандидата делаем вывод, что декомпозиция удовлетворяет необходимым и достаточным критериям полной декомпозиции, что приводит к устранению дублирования.
Согласно определению схема отношения R находится во второй нормальной форме (2НФ), если она находится в 1НФ и каждый ее не первичный атрибут, функционально полностью зависит от соответствующего ключа-кандидата. 2] Функционально полной зависимостью называется зависимость одновременно от всех полей ключа. Если все возможные ключи отношения простые, то отношение находится во 2НФ.
В проектируемой системе имеются сцепленные ключи в сущности НазначенНаСтавку: первичный ключ является составным из двух атрибутов №Сотрудника + №Ставки.
Проверим, выполняется ли условие полной функциональной зависимости всех не первичных атрибутов от всех полей ключа сущности НазначенНаСтавку одновременно.
Из диаграммы зависимости атрибутов для сущности НазначенНаСтавку рассмотренной выше видно, что любой атрибут сущности (процент назначения, дата назначения, документ о назначении, дата освобождения, документ об освобождении, признак включения периода работы в стаж) зависит именно от пары №Сотрудника + №Ставки. Указанные атрибуты сущности не могут на прямую зависеть только от №Сотрудника или только от №Ставки, так как у сотрудника может быть несколько назначений и, следовательно, несколько дат назначений, несколько приказов о назначении на различные ставки. А для одной и той же ставки могут существовать назначения на нее различных сотрудников. И только для объединения одновременно всех полей ключа: №Сотрудника + №Ставки, существует единственный экземпляр сущности с конкретными значения не первичных атрибутов сущности. Таким образом, существует полная функциональная зависимость всех не первичных атрибутов от всех полей ключа сущности НазначенНаСтавку одновременно.
Так как в проектируемой системе все остальные ключи отношений простые, а единственный сложный ключ удовлетворяет условию полной функциональной зависимость всех не первичных атрибутов от всех полей ключа одновременно, можно сделать вывод, что система находится в 2НФ.
Согласно определению отношение R задано в третьей нормальной форме (3НФ), когда оно задано в 2НФ и каждый не первичный атрибут из R нетранзитивно зависит от любого из ключей-кандидатов. 2]
Из анализа приведенных отношений в проектируемой системе можно сделать вывод, что они не содержат транзитивных и неполных зависимостей и, следовательно, система находится в 3НФ. Это говорит о том, что сущности предметной области четко разграничены и дают точное представление о структуре данных, что ведет к уменьшению ошибок при выполнении операций над ними.
На основе нормализованных таблиц БД представим структурную схему базы данных.
Данная часть схемы показывает связи сущностей для организации отношений Должности-КатегорииДолжностей, Ставки-Отделы и Ставки-Должности.
Данная часть схемы показывает связи сущностей для ведения учета назначений сотрудника на различные ставки в период его работы на предприятии.
Данная часть схемы показывает связи сущности Сотрудники с документами сотрудника, его отпусками и записями трудовой книжки.
4. Разработка программного обеспечения для ЭВМ
Процесс разработки программного обеспечения предусматривает ряд этапов.
1) Разработка интерфейса пользователя
Пользователю для работы предоставляется ряд форм с помощью которых он может вести работу с кадровыми классификаторами, создать структуру предприятия указывая отделы и ставки открытые в отделах, учитывать личную информацию о сотрудниках предприятия, производить назначение и переводы сотрудников на существующие в предприятии ставки, вести учет документов сотрудников и регистрировать результаты их деятельности.
Для выполнения пользовательских команд с целью решения поставленных задач сформирована иерархическая система форм. Схематично иерархия форм показана на рис. 1.
Рис. 1. Иерархическая система форм
2) Разработка макетов экранных форм для ввода и редактирования данных Приведем основные формы для ввода и редактирования данных.
Форма — справочник должностей На данной форме необходимо определить категории должностей и соответствующие им список должностей, которые будут использоваться для открытия ставок на предприятии.
Формаштатное расписание На данной форме необходимо создать структуру отделов предприятия и для каждого отдела ввести список ставок открытых для приема сотрудников.
Форма-Сотрудники На данной форме ведется учет личных данных сотрудников, а так же регистрируются назначения сотрудников на ставки, история работы на предыдущих местах работы (трудовая книжка), история отпусков сотрудников и список документов сотрудников, включающий документы удостоверяющие личность и документы об образовании.
Личные данные вводятся на форме редактирования сотрудника
3) Руководство пользователя по работе с БД При первом запуске программы необходимо подготовить кадровые справочники для полноценной работы.
Программа позволяет использовать следующие кадровые классификаторы:
Ввод данных осуществляется через соответствующие формы справочников Затем заполняется справочник должностей, в котором указываются те должности, которые будут использоваться на предприятии. Система позволяет учитывать их по категориям.
На следующем шаге создается структура отделов предприятия и в отделы вводятся ставки.
После заведения ставок можно переходить к вводу данных о сотрудниках предприятия. Помимо личных данных сотрудников заполняется таблица назначения сотрудников на определенные ставки — которые были заданы на предыдущем шаге.
После ввода всех назначений можно подготовить отчет «Штатное расписание предприятия». Для этого на форме «Сотрудники» необходимо нажать кнопку «Отчет ШтатРасп», после чего ввести на какую дату строится отчет.
Отчет откроется для предварительного просмотра:
Для построения отчета используются следующие запросы к базе данных:
1) ЗапросШР_Отделы_Ставки_Сотрудники
SQL текст запроса:
SELECT Отделы. Код, Отделы. Наименование, Должности. Наименование, Ставки. Наименование, Ставки. Процент ставки],
ЗапросШР_СтавкиСотрудниковНаДату.ТабНомер, ЗапросШР_СтавкиСотрудниковНаДату.Фамилия, ЗапросШР_СтавкиСотрудниковНаДату.Процент, ЗапросШР_СтавкиСотрудниковНаДату.ДатаНач, ЗапросШР_СтавкиСотрудниковНаДату.ДатаКон
FROM Отделы INNER JOIN (Должности INNER JOIN (Ставки LEFT JOIN
ЗапросШР_СтавкиСотрудниковНаДату ON Ставки. ИД =
ЗапросШР_СтавкиСотрудниковНаДату.СтавкаИД)
ON Должности. ИД = Ставки. ДолжностьИД) ON Отделы. ИД = Ставки. ОтделИД
ORDER BY Отделы. Код, Ставки. Наименование;
2) ЗапросШР_СтавкиСотрудниковНаДату
SQL текст запроса:
SELECT СтавкиСотрудника. СотрудникИД, СтавкиСотрудника. ВидНазначенияИД, СтавкиСотрудника. СтавкаИД, СтавкиСотрудника. Процент, СтавкиСотрудника. ДатаНач, СтавкиСотрудника. ДатаКон, Сотрудники. ТабНомер, Сотрудники. Фамилия, СтавкиСотрудника. ИД
FROM Сотрудники RIGHT JOIN СтавкиСотрудника ON
Сотрудники.ИД = СтавкиСотрудника. СотрудникИД
WHERE (((СтавкиСотрудника.ДатаНач)<=[Дата отчета]) AND
((СтавкиСотрудника.ДатаКон)>=[Дата отчета] Or (СтавкиСотрудника.ДатаКон) Is Null));
Заключение
Для достижения целей данной работы было проведено описание выбранной предметной области. На основе этого описания создана концептуальная (инфологическая) модель системы, которая позволила выявить и описать сущности предметной области и отношения между ними. Инфологическая модель послужила основой для даталогической модели результатом которой стало определение ключевых атрибутов сущностей. Последующее выполнение нормализации проектируемой системы до третьей нормальной формы позволило устранить аномалии дублирования данных и четко разграничить сущности предметной области. Благодаря этому было создано точное представление о структуре данных, что ведет к уменьшению ошибок при выполнении операций над данными.
С помощью СУБД Microsoft Access на основе нормализованных таблиц БД была представлена структурная схема базы данных. В процесс разработки программного обеспечения был описан интерфейс пользователя и созданы макеты экранных форм ввода и редактирования данных, составлено руководство пользователя. Создан отчет позволяющий на любую дату деятельности предприятия отобразить актуальное штатное расписание предприятия.
1. Широков Л. А., Рабинович А. Е., Широкова O.JL. Информационное обеспечение систем управления. СУБД «ACCESS». — М.: МГИУ, 2001 — 234 с.
2. Широков JI.A. Базы данных и знаний: Учебное пособие 4.1. — М.: МГИУ, 2000. — 86 с.
Аннотация Тема курсового проекта: Разработка базы данных кадрового учета на предприятии — «ООО Магазин N2 Завьялово».
Список сущностей:
Сотрудники, Отделы, КатегорияДолжности, Должности, Ставки, НазначенНаСтавку, ТипыДокументов, Документы, ТрудоваяКнижка, ТипыОтпуска, Отпуска.
Цель работы: повышение эффективности кадрового учета на предприятии «ООО Магазин N2 Завьялово» за счет разработки и внедрения базы данных.
Результаты работы: изучена предметная область, создана инфологическая и даталогической модель предметной области, выполнена нормализация проектируемой системы до третьей нормальной формы, создана структурная схема базы данных, спроектирован интерфейс пользователя, система кадрового учета реализована с помощью СУБД Microsoft Access, составлено руководство пользователя по работе с базой данных, разработан отчет позволяющий выводить актуальное штатное расписание предприятия на любую дату.