1.60M
Category: databasedatabase

База данных отдела кадров института

1.

КУРСОВОЙ ПРОЕКТ
на тему
«База данных
отдела кадров института»
Выполнил: студент группы И904Б Карпинский А.А

2.

Объект, предмет, цель и задачи
Объектом исследования является отдел кадров института.
Предметом исследования является управление отделом кадров института.
Цель курсового проектирования – разработка макета базы данных на основе её
даталогической модели и запросов, информационно поддерживающих работу
ректората.
Метод проектирования включает решение следующей последовательности
задач:
— анализ предметной области;
— инфологическое проектирование;
— проблематизация предметной области и определение концепции БД;
— даталогическое проектирование;
— описание СУБД;
— физическое проектирование и реализация запросов в СУБД MS Access 2021.
2

3.

Анализ предметной области
Для информационной поддержки отдела кадров института необходимо создать БД, в
которой будут храниться данные о кафедрах, группах сотрудников, штатных расписаниях,
сотрудниках, рабочих состояниях, должностях. Под рабочим состоянием понимается табельное
обозначение: болен, работает и т.п.
База данных должна предусмотреть:
— Получение списка вакансий;
— Получение списка пенсионеров;
— Получение списка людей предпенсионного возраста;
— Получение списка бездетных сотрудников;
— Получение списка юбиляров текущего года;
— Получение списка многодетных сотрудников;
— Получение списка ветеранов;
— Получение списка сотрудников, работающих более чем на одной ставке.
3

4.

Инфологическое проектирование
Результатом выявления основных
сущностей и связей между ними
является ER-схема в нотации
Баркера, представленная на рисунке.
4

5.

Проблематизация ПрО и Концепция БД
В результате проблемного анализа ПрО были выявлены следующие проблемы:
— из-за большого количества работников может возникнуть ситуация, когда
количество сотрудников определенной должности может стать меньше
необходимого. Поэтому нужна проверка всех текущих должностей.
— в связи с тем, что подсчет зарплаты ведется вручную, это может привести к
возникновению ошибок при смене ставок, большой трате времени.
— ведение учета должностей, работников и кафедр без оптимизации приведет к
временным издержкам, материальным и трудовым затратам.
— отсутствие возможности оперативно обрабатывать запросы заинтересованных
в работе людей (например, тех, кто подает резюме на должность
преподавателя), может привести к несбалансированному соотношению по
должностям.
Основное концептуальное положение разрабатываемой базы данных – входить в
состав АИС, информационно поддерживающей ректорат, выдавая информацию по
сотрудникам, и формирует список должностей, которых не хватает.
5

6.

Даталогическое проектирование
Цель даталогического проектирования заключается в создании даталогической модели (ДЛМ),
которая отображает логические связи между элементами данных и строится в терминах
информационных единиц, которые имеет выбранная разработчиком конкретная СУБД.
Результаты даталогического проектирования
представлены на рисунке справа в виде
схемы данных в среде СУБД.
6

7.

Описание СУБД
Анализ информационных задач показывает, что для реализации требуемых функций подходят почти
все настольные СУБД для ПЭВМ. Выбор СУБД для реализации макета БД был произведен в пользу
СУБД MS Access 2021.
Возможности СУБД повлиявшие на её выбор:
— Легкость импорта/экспорта данных из/в MS Word и MS Excel;
— Широкий выбор конструкторов для построения форм, отчетов и запросов, с помощью которых
можно отфильтровать данные и вывести их в удобном виде;
— Встроенный язык VBA высокого уровня.
7

8.

Реализация запросов
Запрос - Список пенсионеров (старше 65 лет).
SELECT [Штатное расписание].ФИО, [Штатное расписание].[Дата рождения]
FROM [Штатное расписание]
WHERE (((Year(Date())-Year([Штатное расписание].[Дата рождения]))>=65));
Запрос - Список людей предпенсионного возраста (старше 55, но младше 65).
SELECT [Штатное расписание].ФИО, [Штатное расписание].[Дата рождения]
FROM [Штатное расписание]
WHERE
(((Year(Date())-Year([Штатное
расписание].[Дата
рождения]))>55
And(Year(Date())-Year([Штатное расписание].[Дата рождения]))<65));
Запрос - Список бездетных сотрудников.
SELECT [Штатное расписание].ФИО, [Штатное расписание].[Количество детей]
FROM [Штатное расписание]
WHERE ((([Штатное расписание].[Количество детей])=0));
Запрос - Список юбиляров (количество лет кратно 5).
SELECT [Штатное расписание].ФИО, [Штатное расписание].[Дата рождения]
FROM [Штатное расписание]
WHERE ((((Year(Date())-Year([Штатное расписание].[Дата рождения])) Mod 5)=0));
8

9.

Реализация запросов
Запрос - Список многодетных сотрудников.
SELECT [Штатное расписание].ФИО, [Штатное расписание].[Количество детей]
FROM [Штатное расписание]
WHERE ((([Штатное расписание].[Количество детей])>2));
Запрос - Список ветеранов (срок работы более 25 лет).
SELECT [Штатное расписание].ФИО, [Штатное расписание].[Дата рождения], [Штатное
расписание].[Дата зачисления]
FROM [Штатное расписание]
WHERE
((([Штатное
расписание].[Название
состояния])<>'Уволен')
AND
((Year(Date())-Year([Штатное расписание].[Дата зачисления]))>25));
Запрос - Список сотрудников с более чем одной ставкой.
SELECT [Штатное расписание].ФИО, [Штатное расписание].[Количество
Должность.Название
FROM Должность INNER JOIN [Штатное расписание] ON Должность.Код =
расписание].[Код должности]
WHERE ((([Штатное расписание].[Количество ставок])>1));
ставок],
[Штатное
Запрос - Список вакансий
SELECT Группа.[Название кафедры], Группа.Количество-Count(Группа.Количество) AS
Требуется, Группа.Примечание AS [Группа сотрудников]
FROM Группа INNER JOIN [Штатное расписание] ON Группа.[Код группы] = [Штатное
расписание].[Код группы]
GROUP BY Группа.[Название кафедры], Группа.Количество, Группа.Примечание
HAVING ((([Группа].[Количество]-Count([Группа].[Количество]))>0));
9

10.

Спасибо за внимание!
English     Русский Rules