Как устроить связь кодировок рабочего времени в базе данных? я делаю табель учета рабочего времени, ниже я привел сущности и пример кодировки
Сущности:
• Департаменты;
• Сотрудники;
• Производственный календарь – календарь рабочих, выходных, предпраздничных и праздничных дней на год;
• Виды отметок с кодировкой на работе, с кодировкой:
Я – полный рабочий день;
Н – отсутствие на рабочее место по невыясненным причинам;
В – выходные и праздничные дни;
Рв – работа в праздничные и выходные дни; а также работа в праздничные и выходные дни, при нахождении в командировке;
Б – дни временной нетрудоспособности;
Как это можно реализовать? интересует именно связь между таблицами.
Ответы (1 шт):
Твоя прога будет показывать посещаемость сотрудников. Так что основное отношение в твоей РБД это
Дата - ключ сотрудника - кодировка посещаемости.
Прога будет делать запрос типа.
SELECT кодировка
FROM таблица_посещаемости
WHERE колонка_дат = нужный нам день AND колонка_номера_сотрудника = ключ сотрудника
Дальше ветвись референсами в разные стороны и не забывай о 3NF, дроби как можно чаще, запросы потом будешь делать через JOIN и трехэтажные, но так покажешь работодателю, что шаришь в нормализации и умеешь избегать аномалий. Календарь как сущность тут непонятно зачем нужен, наверное проверять соответствия кодировок с реальными выходными/рабочими днями. Но его реализовать совсем просто ( Дата - тип дня ) дата тут будет первичным ключом, а в таблице_посещаемости внешним. Тут все просто. Удачи.