|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
Добрый день! Есть множество таблиц хранения анкетных данных (по одной на каждый тип анкеты). Данные приходят из мобильных устройств. Также есть такое же множество таблиц для хранения первоначальных анкетных данных. Во второй группе таблиц правка данных по логике системы не подразумевается. Приведу пример: Пришли данные в таблицу ANK_DATA1_TBL, в триггере BEFORE INSERT данные скопировались в таблицу ANK_DATA1_ORG_TBL (состав полей в парных таблицах всегда одинаков). В итоге, когда в процессе работы осуществляется правка данных в первой таблице, всегда можно посмотреть, какие данные пришли изначально, это видно во второй таблице. Но сейчас я пишу для каждой таблицы отдельную процедуру вставки данных во вторую таблицу. В процедуру передается параметр типа ROWTYPE. Задачка такая: сделать универсальную процедуру наполнения парных таблиц для хранения исходных данных, чтобы не делать такую процедуру для каждой. Я подумал насчет динамического SQL, но не получается из-за всегда разного ROWTYPE. Есть ли еще какие-то варианты, как думаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2021, 21:23 |
|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
Задачка такая: сделать универсальную процедуру наполнения парных таблиц для хранения исходных данных, чтобы не делать такую процедуру для каждой. Задачка хреновая из-за хреновой архитектуры. Нужно нормализовать данные. Я подумал насчет динамического SQL, но не получается из-за всегда разного ROWTYPE. Можно сделать генерацию триггеров на основе словаря (*_tab_columns), но опять - хреново из-за см. п. 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2021, 21:51 |
|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
dmdmdm Задачка такая: сделать универсальную процедуру наполнения парных таблиц для хранения исходных данных, чтобы не делать такую процедуру для каждой. Задачка хреновая из-за хреновой архитектуры. Нужно нормализовать данные. А конкретнее? Что есть "нормализация" в этом случае? Какую избыточность она должна устранить? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2021, 22:24 |
|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
SQL*Plus dmdmdm пропущено... Задачка хреновая из-за хреновой архитектуры. Нужно нормализовать данные. А конкретнее? Что есть "нормализация" в этом случае? Какую избыточность она должна устранить? В таблицах нет избыточности для нормализации. Обычный набор данных, значения полей которого по сути не делимы, заполняются в мобильном приложении. Типы данных либо VARCHAR2 (для комментариев), либо NUMBER. Альтернативным вариантом могло бы быть НЕ использование второй таблицы, а вставка дублирующей записи в первую же с указанием в качестве PARENT_ID идентификатора первоначальной записи. В итоге на каждую запись в таблице была бы ее неизменяемая копия. Но процедуру дублирования записи тоже надо как-то универсальной сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2021, 22:36 |
|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
Титов Артем, Версионность данных не рассматриваете? При правке запись не удаляется,а копируется и увеличивается номер версии Тогда видна вся история правок ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2021, 23:05 |
|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
Vadim Lejnin Титов Артем, Версионность данных не рассматриваете? При правке запись не удаляется,а копируется и увеличивается номер версии Тогда видна вся история правок Такой подход для данного бизнеса избыточен. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2021, 08:53 |
|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
Что есть "нормализация" в этом случае? Много таблиц, и много журналов. В любых учетных системах множество разных документов, но, как правило, делают всего одну-две таблицы, и один-два журнала. Соответственно, как триггеры написали, так они годами и работают, а не "новый документ - давайте новый триггер напишем". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2021, 09:20 |
|
Прошу подсказать варианты решения задачки
|
|||
---|---|---|---|
#18+
dmdmdm В любых учетных системах множество разных документов, но, как правило, делают всего одну-две таблицы, и один-два журнала. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2021, 09:27 |
|
|
start [/forum/topic.php?fid=52&fpage=16&tid=1880077]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 379ms |
0 / 0 |