powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / хранение, просомтр предыдущих значений полей
25 сообщений из 26, страница 1 из 2
хранение, просомтр предыдущих значений полей
    #34833728
Чендлер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть БД около 50 табличек, требуется хранить не только текущение значение но и все предыдущие. Как это можно организовать? Требуемых по функционалу темпоральных субд не нашёл.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34834111
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1C 7.5 и выше, функциональность включается галочкой :)
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34834150
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34834303
Чендлер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А6дулла1C 7.5 и выше, функциональность включается галочкой :)

Я в шоке :)
но 1с не подходит
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34834382
sereginseregin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЧендлерЕсть БД около 50 табличек, требуется хранить не только текущение значение но и все предыдущие. Как это можно организовать? Требуемых по функционалу темпоральных субд не нашёл.

Создайте собственную
похожий топик Поддержка исправлений и версий
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34834815
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В теме Проектирование БД поиск по слову История даст Вам практически все известные варианты решения данной проблемы.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34834926
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По МССКЛ кажется в профильном форуме скуль.ру была статья
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34835341
Gues99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая задача обычно ставится для Хранилища Данных, а не для OLTP базы.

Называется это Slowing Changing Dimensions.

В Oracle и MSSQL они немного отличаются,
для Оракла вот дока
http://asun.ifmo.ru/docs/doc111/owb.111/b31278/concept_data_modeling.htm#BEIEDBGG

Вам нужен Type 2 Slowly Changing Dimension (SCD) retains the full history of values
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34837072
Den_TST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте использовать систему версионности
Т.е для каждой сущности добавьте два атрибута - начало и конец периода актуальности. Соответствнно актуальной будет только одна запись в табличке.
Как?
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34837252
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gues99Вам нужен Type 2 Slowly Changing Dimension (SCD) retains the full history of values
забыли одну незначительную мелочь, еще ORACLE нужен. а также то, что к OLTP это никакого отнощения конечно не имеет.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34837255
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_TSTПопробуйте использовать систему версионности
Т.е для каждой сущности добавьте два атрибута - начало и конец периода актуальности. Соответствнно актуальной будет только одна запись в табличке.
Как?
никак. предлагаете танцы с бубнами для того чтобы просто узнать текущее состояние БД
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34839178
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧендлерЕсть БД около 50 табличек, требуется хранить не только текущение значение но и все предыдущие. Как это можно организовать? Требуемых по функционалу темпоральных субд не нашёл.
Можно использовать EAV с параметрами "дата создания" и (при необходимости) "актуально" для каждого значения. Только стоит ли эта "фича" таких сложностей?
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34839498
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧендлерЕсть БД около 50 табличек, требуется хранить не только текущение значение но и все предыдущие. Как это можно организовать? Требуемых по функционалу темпоральных субд не нашёл.
Зависит от того, зачем и в каких условиях Вам это нужно. Например, можно использовать фичу Oracle, которая называется flashback query.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34839938
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Например, можно использовать фичу Oracle, которая называется flashback query." - и сколько они по-времени будут эту инфу хранить :)?один день?
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34839969
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так,пропало куда-то мое сообщение. В общем нелестно я там отозвался об этих самых флешах.опасны все эти проприетарные вещи+имеют место плодиться.если мне не изменяет память у оракла еще одна была какая-то хрень тоже для истории (причем реализовала аналогичные вещи флешу,только не было всяких VERSIONS_STARTSCN и прочих ненужных пмсм вещей для бизнес-программ).в итоге все пользуются своими и собственно довольны.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34839987
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин,сообщение появилось.как-то забавно форум ведет себя.единственно,что может быть ценно в флешах-это UNDO_SQL,но тоже как-то встает вопрос о длительности и оптимальности его хранения и последующем росте БД.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34840001
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а "Some DDLs that alter the structure of a table, such as drop/modify column, move table, drop partition, and truncate table/partition, invalidate any existing undo data for the table. It is not possible to retrieve data from a point earlier than the time such DDLs were executed. " просто ставит крест на всей этой идее. Так что "ручная" история рулит.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34840578
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shtockи сколько они по-времени будут эту инфу хранить :)?один день?
Можно и год. Зависит от условий и требований.

ShtockВ общем нелестно я там отозвался об этих самых флешах.опасны все эти проприетарные вещи+имеют место плодиться.
Проприетарность тут не при чем. Флеши - специфическая фича, удобная в некоторых случаях и неподходящая во многих других. Если обратите внимание, я нигде не утверждаю, что ее стоит применять в этом неописанном конкретном случае - упомянул для расширения кругозора топикстартера.

Shtockесли мне не изменяет память у оракла еще одна была какая-то хрень тоже для истории
Еще минимум три :)

Shtockв итоге все пользуются своими и собственно довольны.
А, ну оно конечно. Типа - "Мерседес" выпускает хрени от мотоциклов до танков, поэтому все ездят на велосипедах и довольны :)
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34840606
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно,это все словоблудие. после этого расширять кругозор думаю больше не стоит.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34840642
Чендлер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хранить нужно каждое изменение поля, время хранения = время жизни системы.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34841170
sergey888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧендлерХранить нужно каждое изменение поля, время хранения = время жизни системы.

в Русском бизнесе именно так и происходит - историруется каждое изменения поля во всех объектах.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34846309
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати,
как вам такая идея -
оставить вашу базу "как есть", но включить в Oracle CDC (штатный механизм отлова изменений).
Данные, отловленные CDC, складировать в еще одной базе. Или там же.
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34846387
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А6дуллаоставить вашу базу "как есть", но включить в Oracle CDC (штатный механизм отлова изменений). Данные, отловленные CDC, складировать в еще одной базе. Или там же.
Зачем такие сложности?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
SQL> conn test/test@db1.sphaera197;
Connected to Oracle Database 10g Enterprise Edition Release  10 . 1 . 0 . 5 . 0  
Connected as test

SQL> create table data as select rownum id, rownum data from dual connect by level <=  10 ;

Table created

SQL> alter table data add primary key (id);

Table altered

SQL> exec dbms_wm.enableversioning (table_name => 'data', hist => 'VIEW_WO_OVERWRITE');

PL/SQL procedure successfully completed

SQL> select * from data;

        ID       DATA
---------- ----------
          1            1 
          2            2 
          3            3 
          4            4 
          5            5 
          6            6 
          7            7 
          8            8 
          9            9 
         10           10 

 10  rows selected

SQL> update data set data =  2  * data where mod (id,  2 ) =  0 ;

 5  rows updated

SQL> update data set data =  3  * data where mod (id,  3 ) =  0 ;

 3  rows updated

SQL> select * from data;

        ID       DATA
---------- ----------
          1            1 
          5            5 
          7            7 
          2            4 
          4            8 
          8           16 
         10           20 
          3            9 
          9           27 
          6           36 

 10  rows selected

SQL> select * from data_hist where id =  6 ;

        ID       DATA WM_WORKSPACE                                                WM_VERSION WM_USERNAME                                                                      WM_OPTYPE WM_CREATETIME                                     WM_RETIRETIME
---------- ---------- ------------------------------ --------------------------------------- -------------------------------------------------------------------------------- --------- ------------------------------------------------- -------------------------------------------------
          6            6  LIVE                                                                  0  TEST                                                                             I          04 -OCT- 07   12 . 26 . 20 . 203000  PM + 04 : 00                 04 -OCT- 07   12 . 26 . 48 . 218000  PM + 04 : 00 
          6           12  LIVE                                                                  0  TEST                                                                             U          04 -OCT- 07   12 . 26 . 48 . 218000  PM + 04 : 00                 04 -OCT- 07   12 . 27 . 02 . 703000  PM + 04 : 00 
          6           36  LIVE                                                                  0  TEST                                                                             U          04 -OCT- 07   12 . 27 . 02 . 703000  PM + 04 : 00                
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34846403
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет дат изменения
...
Рейтинг: 0 / 0
хранение, просомтр предыдущих значений полей
    #34846409
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А6дулланет дат изменения
Протри глаза.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / хранение, просомтр предыдущих значений полей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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