|
|
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
По версионности есть много вопросов, как организовать. Приведу простой пример: 1. Имеется справочник пользователей Код: plsql 1. 2. Имеется например журнал реализаций - ШАПКА Код: plsql 1. например пользователь была до 12.01.2013 ИВАНОВА, а затем вышла замуж и сменила фамилию на ПЕТРОВА в журнале реализаций должно быть так же отображение операций, до 12 ИВАНОВА, а затем ПЕТРОВА я реализовывал всегда так: делал таблицу изменений, например Код: plsql 1. и через ХП в запросах передавая дату и ID выбирал актуальную на тот момент информацию. Есть какое либо еще решение этой задачи, т.е. отображать инфу согласно указанной даты и на указанную дату? Или, кто как реализовывает решение таких задач? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 21:00 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
SlaveOwnerчерез ХП в запросах передавая дату и ID выбирал актуальную на тот момент информацию. Двумя темами же ниже: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1032290&msg=14502438 и можно обойтись простым join по between, без всяких ХП. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 21:06 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Дмитрий, на пальцах можете отобразить какая будет схема в этом конкретном случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 21:30 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovSlaveOwnerчерез ХП в запросах передавая дату и ID выбирал актуальную на тот момент информацию. Двумя темами же ниже: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1032290&msg=14502438 и можно обойтись простым join по between, без всяких ХП. В этом случае мне все понятно, а вот с моим примером нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 21:34 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
SlaveOwnerВ этом случае мне все понятно, а вот с моим примером нет Замени Coef на USER-FAM, USER_NAME. Остальное останется тем же самым. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 22:07 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovSlaveOwnerВ этом случае мне все понятно, а вот с моим примером нет Замени Coef на USER-FAM, USER_NAME. Остальное останется тем же самым. Т.е. фактически нужно делать вторую таблицу для изменений? Код: plsql 1. как я и писал? или это все можно в одной реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 22:28 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
SlaveOwnerкак я и писал? Да, только структура у тебя там не ахти. Как я и писал: делай два поля на границы действия и можно обойтись без ХП. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 22:50 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
У двух полей (при том что выборка явно быстрее, особенно если индексировать D_END и заполнять его будущей датой) есть недостаток в целостности. То есть возможны накладки и дыры. Придется делать периодические проверки (на триггер тоже надежды мало). В чем проблемы сделать запрос Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 00:43 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovSlaveOwnerкак я и писал? Да, только структура у тебя там не ахти. Как я и писал: делай два поля на границы действия и можно обойтись без ХП. Зачем заводить отдельное поле для хранения даты окончания действия значения? По моему той структуры что привел SlaveOwner вполне достаточно и SERG1257 прав по поводу поддержания целостности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 07:58 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
Отсюда следует, что даже при первой вставке в таблицу T_USER нужно например на тригер TR_USER_CAHNGE_AI делать вставку в T_USER_CHANGE, т.к. согласно запроса должна быть там запись хоть одна на каждую версию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 08:36 |
|
||
|
Версионность записей, как организовать
|
|||
|---|---|---|---|
|
#18+
Сделайте ф-цию извлечения фамилии с параметром "на дату". Можно будет вычислить и текущую и старую фамилии. Разумеется, что история Фамилий должна где-то храниться. зы: - А какая ваша предыдущая фамилия ? - Иванов. (с) еврейский анек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 11:26 |
|
||
|
|

start [/forum/search_topic.php?author=city_zero&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 442ms |
| total: | 737ms |

| 0 / 0 |

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