|
|
|
БД Распределения дополнительных обязанностей
|
|||
|---|---|---|---|
|
#18+
Описание предметной области Вы работаете в коммерческой компании и занимаетесь распределением дополнительных разовых работ. Вашей задачей является отслеживание хода их выполнения. Компания имеет определенный штат сотрудников, каждый из которых получает определенный оклад. Время от времени возникает потребность в выполнении некоторой дополнительной работы, не входящей в круг основ-ных должностных обязанностей сотрудников. Для наведения порядка в этой сфере деятельности вы проклассифицировали все виды дополнительных работ, определив сумму оплаты по факту их выполнения. При возникновении дополнительной работы определенного вида вы назначаете ответственного, фиксируя дату начала. По факту окончания вы фиксируете дату и выплачиваете дополнительную сумму к зарплате с учетом вашей классификации. Возможный набор сущностей Сотрудники (Фамилия, Имя, Отчество, Оклад). Виды работ (Описание, Оплата за день). Работы (Дата начала, Дата окончания). Выше приведено начальное задание,мне его нужно было усложнить минимум до 7 сущностей. Правильно ли построена ER диаграмма?(по логике)Что-то измениться после нормализации или нет?(с нормализацией пока только разбираюсь). (где Ф.И.О. заполняются в разных колонках по отдельности) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 02:32 |
|
||
|
БД Распределения дополнительных обязанностей
|
|||
|---|---|---|---|
|
#18+
Курсовик горит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 08:00 |
|
||
|
БД Распределения дополнительных обязанностей
|
|||
|---|---|---|---|
|
#18+
BuFerkОписание предметной области Вы работаете в коммерческой компании и занимаетесь распределением дополнительных разовых работ. Вашей задачей является отслеживание хода их выполнения. Компания имеет определенный штат сотрудников, каждый из которых получает определенный оклад. Время от времени возникает потребность в выполнении некоторой дополнительной работы, не входящей в круг основ-ных должностных обязанностей сотрудников. Для наведения порядка в этой сфере деятельности вы проклассифицировали все виды дополнительных работ, определив сумму оплаты по факту их выполнения. При возникновении дополнительной работы определенного вида вы назначаете ответственного, фиксируя дату начала. По факту окончания вы фиксируете дату и выплачиваете дополнительную сумму к зарплате с учетом вашей классификации. Возможный набор сущностей Сотрудники (Фамилия, Имя, Отчество, Оклад). Виды работ (Описание, Оплата за день). Работы (Дата начала, Дата окончания). Выше приведено начальное задание,мне его нужно было усложнить минимум до 7 сущностей. 1. Не понятно почему сотрудник связан с "видом работ"? С видом работ должна быть связана только Дополнительная работа. 2. Почему виды работ связан с расположением офисов, от этого что зависит цена работы? 3. Делить виды работ на две таблицы для основных и дополнительных смысла нет, просто добавьте признак (флаг) или перечислимый тип ТипРаботы: Основная, Дополнительная. Расположение офиса это притянутые за уши сущности они никак не помогают улучшить логику и перспективность развития процесса. Какие реально необходимые "новые" сущности можно предложить. 1. Должности. Назначается каждому сотруднику. Позволит дополнительно классифицировать сотрудников. Оклады как правило устанавливаются для должности, а не для конкретного сотрудника. Конкретному сотруднику могут назначать надбавки и премии. 2. Виды работ по должностям. Таблица которая хранит список видов работ в разрезе должностей. Это позволит назначать сотрудникам только те виды работ которые сопоставлены с его должностью. Например, маловероятно программист будет выполнять дополнительные работы связанные с уборкой улиц (работа дворника). 3. Стоимость видов работ. Таблица которая позволяет хранить стоимость по видам работ и по должностям с указанием даты. Возможность для разных должностей назначать свою стоимость за час для одинаковых работ (программист из предыдущего примера согласившийся выполнять работу дворника, вероятно захочет получать за эту работу как за программирование). Возможность указания стоимости на разные периоды времени (стоимость может меняться с течением времени). 4. Можно дополнительные работы вводить не по одной записи на каждую дополнительную работу, а следующим образом В таблицу РаботыСотрудникаЗаПериод вводится записи по работнику на определенный период (например календарный месяц). Указывается сотрудник, должность, период. В таблицу РаботыСотрудникаЗаПериодСпецификация (табличная часть) имеющего ссылку на РаботыСотрудникаЗаПериод (шапка) водятся записи по всех дополнительным работам выполненных этим сотрудником за период. Одна запись спецификации соответствует одной работе. Для записи указывается период выполнения работы конкретного вида (дополнительно контроль чтобы период не вылезал за пределы периода шапки). Если одна дополнительная работы выполнялась несколько раз в разные промежутки времени то вводится несколько записей. Там же в спецификации можно вычислять и стоимость работ в зависимости от расценок. Кстати логику можно организовать так что первой записью спецификации будет запись соответствующая основному виду работы. Таким образом логично получается что вся информация по работам одного сотрудника, за период хранится и рассчитывается в одном месте. Как это может работать (с учетом п 4.). Для каждой должности прописывается список возможных видов работ. Каждому сотруднику сопоставляется должность. Каждому сочетанию должность, вид устанавливается на определенную дату стоимость. Руководитель создает карточку работ сотрудника за период. Указывает сотрудника, дату начала и дату конца периода (возможен контроль на повторный ввод карточки по тому же сотруднику за тот же период). Записывает шапку. В таблицу спецификации вводит все доп работы этого сотрудника (список видов работ ограничен списком заданным для данной должности). Основной вид работы может быть добавлен автоматически, без возможности коррекции периода и суммы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 10:17 |
|
||
|
БД Распределения дополнительных обязанностей
|
|||
|---|---|---|---|
|
#18+
авторКурсовик горит? Да это не курсач даже) и не горит. авторDinamo Спасибо за содержательный ответ. Про 2 сущности офиса согласен конечно.Но как я понимаю зарплата суммируется оклад+дополнительная работа+премия.Тогда,какой смысл в виде работ по должностям и стоимости видов этих работ.Есть идея составить полную таблицу начислений,но в принципе сумму можно посчитать и sql запросом.Пока остановился на такой варианте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 22:25 |
|
||
|
БД Распределения дополнительных обязанностей
|
|||
|---|---|---|---|
|
#18+
BuFerkкак я понимаю зарплата суммируется оклад+дополнительная работа+премия.Тогда, какой смысл в виде работ по должностям и стоимости видов этих работ. Вижу что вы подходите к решению задачи утилитарно, "нужна БД", а я предлагаю вам подойти творчески "решать проблему учетчика работ". Если же вы просто наплодить "левые" сущности, я вам вряд ли что либо посоветую в этом плане. Для обеспечения следующих возможно полезных возможностей (что позволит расширить сущности и функциональность решение и в том числе БД). 1. Фиксирование доп работ по сотрудникам должности 1 возможно только по ограниченному списку дополнительных работ. Когда может пригодится: - видов доп работ много, оператору легче выбирать из ограниченного списка - для определенных должностей выполнение определенных видов доп работ - невозможно (я уже приводил пример например на должности программист или директор, вряд ли будет выполняться работа уборка территории) 2. Одна и та же доп работа выполняется сотрудниками разных должностей за разную плату. Опять же был пример. Приведу другой. Есть сотрудники с разной квалификацией и должностями, но вид деятельности и задачи одинаковые, например аналитики. У одного одна часовая ставка у другого - другая, а занимаются один и тем же, и доп работы одинаковые: анализ требований, консультирование клиента, написание ТЗ и т.п. Можно конечно в этом случае разделить виды дополнительных работ на два вида - доп работа категории 1 и доп работа категории 2, для каждой задать свои цены (не забывая конечно про дату цены). В этом случае должности в принципе не нужны, но тогда получается что категории работ в виде доп работы заменяют эти самые должности. Когда такое бывает? Например вы аналитиков отправляете в стороннюю организацию (например работы по обследованию процессов или сбору требований) своих сотрудников. Заказчик платит за работу этих специалистов по разному (такое часто бывает в проектах когда аналитики разной квалификации), а вы также платите своим спецам тоже по разному (ну например процент от суммы). Или вы с заказчика берете одинаковую цену независимо от квалификации, но своим платите с её учетом. Если поручите уборку кабинета сотруднику должности 1, то он готов работать за сумму 1 Если поручите уборку кабинета сотруднику должности 2, то он готов работать за сумму 2 Понятно что в этом случае руководитель будет пытаться всегда доп работу давать тому кто дешевле оплачивается, но работы может быть много и все дешевые с ней не справятся, поэтому иногда такую работу придется поручать более дорогим специалистам. 3. Разделения фиксирования выполненных работ и начисления. Само начисление можно не проводить в рамках ввода списка работ по сотруднику. То есть можно разделить фиксирование списка работ выполненных сотрудником и начисление. В этом случае удобно работы фиксировать не скопом в конце месяца, а постепенно в течение месяца по мере определенности какая работа в какой срок выполнена. Это может быть нужно в следующих случаях. - расценка по работе поменялась в "середине" месяца - на момент фиксирования списка работ расценка еще не известна. Тогда при вводе работ расчет выполнять нет смысла поскольку он может быть неверен. Расчет выполняется потом когда будут зафиксированы все расценки и при попадании периода работы на момент изменения цены, можно легко рассчитать обе части. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2011, 13:05 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37056013&tid=1542355]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
405ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 685ms |

| 0 / 0 |
