|
|
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
Есть некоторая сущность исходя из которой рассчитывается другая сущность относящаяся к первой, допустим сотрудник и его зарплата, со временем у первой сущности в поле какого нить сотрудника меняется какой то показатель исходный для расчета второй сущности, а теперь вопрос как быть с теми записями второй сущности которые появились до момента изменения какого нить коэффициента первой сущности, ведь теперь становится непонятно откуда появились эти суммы рассчитанные когда то, в общем как с этим борятся ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 13:50 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007как с этим борятся ? Так, как считает нужным заказчик. Например, ту же зарплату никто задним числом не пересчитывает, поскольку понадобилось бы перепечатывать документы строгой отчётности, подделывать подписи и т.п. геморрой. А вот остатки на складе при вводе забытой накладной - пересчитывают. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 13:57 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, а вообще на практике есть такой вариант развития как создавать вторую запись у исходной, "основной" сущности с поля временной актуальности ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 14:12 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007, ну т.е. копируется запись о сотруднике с измененным коэффициентом а первая помечается как неактуальная с такого то времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 14:15 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007, а блин наверно с ключами запара будет. как то сразу не подумал, ну хотя можно id изменить а табельный останется прежним ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 14:19 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
Существуют "временнЫе атрибуты" (STFF). Они выносятся в отдельную таблицу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 14:57 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007, Это стандартная ситуация в случае необходимости отслеживания изменений значений во времени... Сотрудник ID FirstName LastName SurName1ИвановИванИванович2ПетровПётрПетрович Коэффициент ЗП IDEmplStartDateEndDateCoeff11999-01-012010-03-200.912010-03-219999-12-311.222001-10-159999-12-311.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 21:41 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007, Используют поле datatime для оперделения момента изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 23:12 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
Alex Kuznetsov, ах вот как спасибо оч помогли, т.е. что то примерно такое происходит в 1С если конечно вам довелось сталкиваться, господа подскажите пожалуйста где можно изучить (почитать) про того рода стандартные шаблоны проектирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 23:29 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 12:44 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
Alex Kuznetsov, кстати забыл спросит, а какие поля в вашем примере в таблице "Коэфициент ЗП" дают уникальность? ну тоесть primary key ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2013, 19:35 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007Alex Kuznetsov, кстати забыл спросит, а какие поля в вашем примере в таблице "Коэфициент ЗП" дают уникальность? ну тоесть primary keyIDEmp, StartDate и EndDate (Я же специально их цветом выделил). При этом необходимо явно, на уровне бизнес логики (программа или хранимая процедура - не важно ), отслеживать записи на пересечение диапазонов, ну т.е. чтобы не получилось что-то типа такого: IDEmplStartDateEndDateCoeff11999-01-012010-06-150.912010-03-219999-12-311.2 В противном случае могут возникнуть ошибки вычислений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2013, 20:26 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
Alex Kuznetsov, ага все понятно спасибо, ну как мне кажется может лучше сделать ключом IDEmpl и StartDate, а конфликт дат решать триггером, а именно отобрать последнюю запись по сотруднику отсортировав по StartDate и сделать проверку типа OldEndDate > NewStartDate and NewStartDate <= NewEndDate и посылать сообщение если что то не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2013, 19:35 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007, ой не так (OldEndDate < NewStartDate) and (NewStartDate <= NewEndDate) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2013, 19:37 |
|
||
|
Как правильно (лучше) организовать структуру ?
|
|||
|---|---|---|---|
|
#18+
megazoid007Alex Kuznetsov, ага все понятно спасибо, ну как мне кажется может лучше сделать ключом IDEmpl и StartDate, а конфликт дат решать триггером, а именно отобрать последнюю запись по сотруднику отсортировав по StartDate и сделать проверку типа (OldEndDate < NewStartDate) and (NewStartDate <= NewEndDate) Ну, можно и так конечно. Это ведь Ваша забота как архитектора сделать как лучше для Вас и Ваших коллег, которые будут всё это "безобразие" разрабатывать и сопровождать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2013, 20:00 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38315055&tid=1541164]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 281ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...