Как устроить связь кодировок рабочего времени в базе данных? я делаю табель учета рабочего времени, ниже я привел сущности и пример кодировки

Сущности:

• Департаменты;

• Сотрудники;

• Производственный календарь – календарь рабочих, выходных, предпраздничных и праздничных дней на год;

• Виды отметок с кодировкой на работе, с кодировкой:

Я – полный рабочий день;

Н – отсутствие на рабочее место по невыясненным причинам;

В – выходные и праздничные дни;

Рв – работа в праздничные и выходные дни; а также работа в праздничные и выходные дни, при нахождении в командировке;

Б – дни временной нетрудоспособности;

Как это можно реализовать? интересует именно связь между таблицами.


Ответы (1 шт):

Автор решения: Неуч

Твоя прога будет показывать посещаемость сотрудников. Так что основное отношение в твоей РБД это

Дата - ключ сотрудника - кодировка посещаемости.

Прога будет делать запрос типа.

SELECT кодировка
FROM таблица_посещаемости 
WHERE колонка_дат = нужный нам день AND колонка_номера_сотрудника = ключ сотрудника

Дальше ветвись референсами в разные стороны и не забывай о 3NF, дроби как можно чаще, запросы потом будешь делать через JOIN и трехэтажные, но так покажешь работодателю, что шаришь в нормализации и умеешь избегать аномалий. Календарь как сущность тут непонятно зачем нужен, наверное проверять соответствия кодировок с реальными выходными/рабочими днями. Но его реализовать совсем просто ( Дата - тип дня ) дата тут будет первичным ключом, а в таблице_посещаемости внешним. Тут все просто. Удачи.

→ Ссылка