С целью разработки автоматизированной подсистемы учета кадров предприятия в базе данных необходимо хранить данные о сотрудниках, номерах отделов, где они работают, должности, стаже, окладах, дате зачисления на работу, об отделах предприятия, начальниках отделов, количестве работников в каждом отделе. При этом у разных отделов может быть один и тот же начальник, а один и тот же сотрудник может работать в нескольких разных отделах. Учет сотрудников и отделов выполняется в пределах подсистемы, которая разрабатывается.
Инфологическое моделирование начнем с установления перечня типов сущностей, информацию о которых нужно отразить в системе.
Предварительный перечень типов сущностей таков:
ОРГАНИЗАЦИЯ
ОТДЕЛ
СОТРУДНИК
НАЧАЛЬНИК
Выделим и запишем атрибуты указанных типов сущностей:
Установим ассоциативные связи:
ER-диаграмма, демонстрирующая разработанную инфологическую модель, представлена на рисунке:
На этой модели сразу виден недостаток: дублирование сущностей (начальник – это тот же сотрудник, но на другой должности). Для подсчета начальников и сотрудников, придется использовать два запроса, так как их договоры находятся в отдельной таблице.
Поэтому было принято решение: начальника отдела отнести к сотрудникам, ввести еще один тип сущности Должность и добавить ассоциативную связь Штатное расписание для учета должностей и ставок по отделам.
Измененный перечень типов сущностей таков:
ОРГАНИЗАЦИЯ
ОТДЕЛ
СОТРУДНИК
ДОЛЖНОСТЬ
Выделим и запишем атрибуты указанных типов сущностей:
Установим ассоциативные связи:
Инфологическое моделирование начнем с установления перечня типов сущностей, информацию о которых нужно отразить в системе.
Предварительный перечень типов сущностей таков:
ОРГАНИЗАЦИЯ
ОТДЕЛ
СОТРУДНИК
НАЧАЛЬНИК
Выделим и запишем атрибуты указанных типов сущностей:
ОРГАНИЗАЦИЯ (Код_Организации, Название_Организации, Реквизиты_Организации)
ОТДЕЛ (Код_Отдела, Наименование_Отдела)
СОТРУДНИК (Код_Сотрудника, ФИО_Сотрудника, Стаж_Сотрудника)
НАЧАЛЬНИК (Код_Начальника, ФИО_Начальника, Стаж_Начальника)
Установим ассоциативные связи:
Руководство [Начальник М, Организация 1]
(Код_Начальника, Код_Организации)
Работа [Сотрудник М, Организация 1]
(Код_Сотрудника, Код_Организации)
Договор_Начальника [Начальник М, Отдел М](Код_Начальника, Код_Отдела)
Договор_Сотрудника [Сотрудник М, Отдел М]
(Код_Сотрудника, Код_Отдела)
ER-диаграмма, демонстрирующая разработанную инфологическую модель, представлена на рисунке:
| Концептуальная инфологическая модель |
На этой модели сразу виден недостаток: дублирование сущностей (начальник – это тот же сотрудник, но на другой должности). Для подсчета начальников и сотрудников, придется использовать два запроса, так как их договоры находятся в отдельной таблице.
Поэтому было принято решение: начальника отдела отнести к сотрудникам, ввести еще один тип сущности Должность и добавить ассоциативную связь Штатное расписание для учета должностей и ставок по отделам.
Измененный перечень типов сущностей таков:
ОРГАНИЗАЦИЯ
ОТДЕЛ
СОТРУДНИК
ДОЛЖНОСТЬ
Выделим и запишем атрибуты указанных типов сущностей:
ОРГАНИЗАЦИЯ (Код_Организации, Название_Организации, Реквизиты_Организации)
ОТДЕЛ (Код_Отдела, Наименование_Отдела)
СОТРУДНИК (Код_Сотрудника, ФИО_Сотрудника, Стаж_Сотрудника)
ДОЛЖНОСТЬ (Код_Должности, Наименование_Должности)
Установим ассоциативные связи:
Работа [Сотрудник М, Организация 1]
(Код_Сотрудника, Код_Организации)
Штатное_Расписание [Должность М, Отдел М]
(Код_Должности, Код_Отдела)
Договор_Сотрудника [Сотрудник М, Отдел М, Должность М]Измененная ER-диаграмма, демонстрирующая разработанную инфологическую модель, представлена на рисунке:
(Код_Сотрудника, Код_Отдела, Код_Должности)
| Усовершенствованная концептуальная модель |
