powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Физические лица и хронологические реквизиты в GRID-e
4 сообщений из 4, страница 1 из 1
Физические лица и хронологические реквизиты в GRID-e
    #35301398
Kashirskih Serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вероятность что придётся проектировать Кадровую систему, в связи с этим появилось несколько вопросов:
Стоит ли следуя требованиям нормализации сделать отдельными полями Фамилию Имя Отчество
Этот вопрос возник в связи с тем, что все три реквизита могут являться периодическими(хронологическими)
Для тех кто скажет что "Имя Отчество не меняется" скажу, что уже сталкивался с подобным случаем, это когда родители одного товарища под??бали смеха ради :)

Далее считаю что: табельный номер, подразделение и должность также являются
хронологическими реквизитами
Конечно это не все поля для которых нужно хранить историю, однако очивидно, что это
минимум который необходимо выводить в GRID-е

Отсюда вопрос относительно того как рациональнее получать значения хронологических реквизитов ИМЕННО в GRID-е:
Варианов видится три:
1 Джойнить с таблицей истории и на саму себя
2 Получать список из ХП
3 Сделать такие реквизиты - COMPUTED BY и выбирать значения при вычислении

Самые простые это 2 и 3, однако для выборки одной строки придётся делать минимум шесть подзапросов :(
При том что, количество строк в справочнике "ФизЛица" может быть от 3 до 10т
и ИМХО это как раз тот случай когда всё придётся тянуть на клиента для комфортного контекстного поиска
...
Рейтинг: 0 / 0
Физические лица и хронологические реквизиты в GRID-e
    #35303181
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kashirskih Serg
Отсюда вопрос относительно того как рациональнее получать значения хронологических реквизитов ИМЕННО в GRID-е:
Варианов видится три:
1 Джойнить с таблицей истории и на саму себя
2 Получать список из ХП
3 Сделать такие реквизиты - COMPUTED BY и выбирать значения при вычислении

Выводить в сетке только актуальные значения, а вывод истории определенного атрибута - это отдельный use case.
Все остальное зависит от избранного способа хранения истории.
Самый типовой случай - это сущность с актуальными значениями + дублирующая сущность, содержащая только исторические атрибуты и их значения на определенные даты.
По истории... посмотрите хорошую презентацию делал когда то Андрей Гордиенко aka Garya .

Особенности реализации учетных задач в условиях существенной динамики.ppt
...
Рейтинг: 0 / 0
Физические лица и хронологические реквизиты в GRID-e
    #35305344
Kashirskih Serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как хранить историю я определился, подскажите как максимально быстро(оптимально) выводить её а грид
...
Рейтинг: 0 / 0
Физические лица и хронологические реквизиты в GRID-e
    #35305381
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Способ выборки истории напрямую зависит от того как она хранится.
Если храниться в виде пары атрибут-значение в одной таблице - то либо джоинить, либо подзапросом.
Если история хранится в виде таблицы-дубликата, содержащей только исторические атрибуты, то - простой селект из этой таблицы. Решение на основе таблицы-дубликата будет наиболее производительным.

p/s/
Не храните историю в той же таблице где хранятся актуальные значения.
Т.е. меняете актуальное значение, создается запись в таблице истории.
Не пытайтесь выводить данные в гриде опираясь на таблицу истории, выводите текущее представление данных, а историю по мере необходимости (отдельный use case, отдельное действие, отдельная форма)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Физические лица и хронологические реквизиты в GRID-e
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]