|
|
|
Физические лица и хронологические реквизиты в GRID-e
|
|||
|---|---|---|---|
|
#18+
Есть вероятность что придётся проектировать Кадровую систему, в связи с этим появилось несколько вопросов: Стоит ли следуя требованиям нормализации сделать отдельными полями Фамилию Имя Отчество Этот вопрос возник в связи с тем, что все три реквизита могут являться периодическими(хронологическими) Для тех кто скажет что "Имя Отчество не меняется" скажу, что уже сталкивался с подобным случаем, это когда родители одного товарища под??бали смеха ради :) Далее считаю что: табельный номер, подразделение и должность также являются хронологическими реквизитами Конечно это не все поля для которых нужно хранить историю, однако очивидно, что это минимум который необходимо выводить в GRID-е Отсюда вопрос относительно того как рациональнее получать значения хронологических реквизитов ИМЕННО в GRID-е: Варианов видится три: 1 Джойнить с таблицей истории и на саму себя 2 Получать список из ХП 3 Сделать такие реквизиты - COMPUTED BY и выбирать значения при вычислении Самые простые это 2 и 3, однако для выборки одной строки придётся делать минимум шесть подзапросов :( При том что, количество строк в справочнике "ФизЛица" может быть от 3 до 10т и ИМХО это как раз тот случай когда всё придётся тянуть на клиента для комфортного контекстного поиска ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 08:56 |
|
||
|
Физические лица и хронологические реквизиты в GRID-e
|
|||
|---|---|---|---|
|
#18+
Kashirskih Serg Отсюда вопрос относительно того как рациональнее получать значения хронологических реквизитов ИМЕННО в GRID-е: Варианов видится три: 1 Джойнить с таблицей истории и на саму себя 2 Получать список из ХП 3 Сделать такие реквизиты - COMPUTED BY и выбирать значения при вычислении Выводить в сетке только актуальные значения, а вывод истории определенного атрибута - это отдельный use case. Все остальное зависит от избранного способа хранения истории. Самый типовой случай - это сущность с актуальными значениями + дублирующая сущность, содержащая только исторические атрибуты и их значения на определенные даты. По истории... посмотрите хорошую презентацию делал когда то Андрей Гордиенко aka Garya . Особенности реализации учетных задач в условиях существенной динамики.ppt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 17:38 |
|
||
|
Физические лица и хронологические реквизиты в GRID-e
|
|||
|---|---|---|---|
|
#18+
Как хранить историю я определился, подскажите как максимально быстро(оптимально) выводить её а грид ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2008, 21:59 |
|
||
|
Физические лица и хронологические реквизиты в GRID-e
|
|||
|---|---|---|---|
|
#18+
Способ выборки истории напрямую зависит от того как она хранится. Если храниться в виде пары атрибут-значение в одной таблице - то либо джоинить, либо подзапросом. Если история хранится в виде таблицы-дубликата, содержащей только исторические атрибуты, то - простой селект из этой таблицы. Решение на основе таблицы-дубликата будет наиболее производительным. p/s/ Не храните историю в той же таблице где хранятся актуальные значения. Т.е. меняете актуальное значение, создается запись в таблице истории. Не пытайтесь выводить данные в гриде опираясь на таблицу истории, выводите текущее представление данных, а историю по мере необходимости (отдельный use case, отдельное действие, отдельная форма) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2008, 22:42 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35303181&tid=1543878]: |
0ms |
get settings: |
13ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 512ms |

| 0 / 0 |
