|
|
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Если убрать версию, то из чего тогда будет состоять ключ? Обычный суррогатный идентификатор. Версия в ключе не допускает параллельных версий сущности, которые объективно существуют в разных экземплярах базы данных. Ваша реализация предполагает единый независимый генератор версий либо кривые "диапазонные" суррогаты версий для каждого экземпляра базы данных. > Насчет актуальности не выехал Для любой базы данных можно гарантировать актуальность только тех данных, в отношении которых владелец выступает вендором, т. е. самостоятельно их генерирует. У данных всех внешних источников актуальность имеет другую природу. А поскольку невозможно представить себе базу данных без ссылок на внешние данные, то и говорить об актуальности можно очень условно и с кучей оговорок. > Несколько десятков миллиардов томов. Простите за столь категоричную оценку, но ничего глупее не могу себе представить. Базы данных и существуют как альтернатива данным на бумаге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2009, 17:00 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Крайне содержательное сообщение, daunito, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2009, 18:09 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Мне эта кажущаяся простота задачи от заказчика чем-то напоминает задачу: "Давай во всех сущностях добавим колонку "Удалено", чтобы не удалять их, а ПОМЕЧАТЬ на удаление". ... Валидность данных во времени, да ещё и валидность-историчность структуры данных - усложняют задачу в разы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2009, 18:27 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
> Валидность данных во времени, да ещё и валидность-историчность структуры данных - усложняют > задачу в разы. Ничего радикально сложного в задаче нет. Важна изначально правильная постановка задачи и четкое формулирование граничных условий. Желательно также избегать каши понятий: версионность - гораздо более гибкий механизм, чтобы использовать ее только как генератор ключей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2009, 19:21 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Дык какой же все-таки окончательный вердикт-то будет? Окончательной таблетки: как организовать унифицированное/масштабируемое хранение истории атрибутов любой сущности Х? я - не увидел. Все очень бурно началось, и скоропостижно на пол-дороге скончалось. Впрочем, как и сдесь ... _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2009, 16:28 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Ex_SoftДык какой же все-таки окончательный вердикт-то будет? Могу только повторить: EAV с историей + метаописание с историей полностью решает проблему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2009, 16:41 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
обратитесь в раздел olap, там специалисты сразу должны увидеть паттерн ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2009, 18:40 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
prompt обратитесь в раздел olap Если я правильно понимаю, то у меня OLTP -приложение... _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2009, 22:45 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Ex_SoftДык какой же все-таки окончательный вердикт-то будет? Окончательной таблетки: как организовать унифицированное/масштабируемое хранение истории атрибутов любой сущности Х? я - не увидел. Все очень бурно началось, и скоропостижно на пол-дороге скончалось. Впрочем, как и сдесь ... _________________ "Helo, word!" - 17 errors 56 warningsОкончательного вердикта не будет. Есть несколько вариантов: 1) во все таблицы вставить две даты, все запросы строить по принципу "данные на указанную дату". 2) К каждой таблице, для которой нужна история - создать "теневую таблицу", в которой хранить старые данные + диапазон действия значения. В обычной работе - использовать текущую таблицу, для истории - использовать обе. 3) Если у вас Oracle 11g - используйте Total Recall. Он будет сохранять всю историю автоматом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 12:34 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Хранение старых фактов - прерогатива olap технологии, хотя физически они могут храниться в oltp базе.Все-таки это редко использеумая функция - посмотреть данные на прошлую дату, в основном применяемая в отчетах.Одним из обязательных измерений в OLAP считается дата регистрации факта, по-моему, то что Вам надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 13:39 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
promptХранение старых фактов - прерогатива olap технологии, хотя физически они могут храниться в oltp базе.Все-таки это редко использеумая функция - посмотреть данные на прошлую дату, в основном применяемая в отчетах.Одним из обязательных измерений в OLAP считается дата регистрации факта, по-моему, то что Вам надоOLAP и история - вещи разные (Объем продаж по квартально/помесячно <> напечатать проведенную платежку с реквизитами годичной давности). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 15:03 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
если в olap данных сохранен факт проведения оплаты с соответствующими реквизитами, то на его основе можно выдать как информацию по 1 транзакции, так и консолидированную, например сумму проведенную для данного клиента за месяц.Разве не так? Дело ведь в гранулярности факта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 15:30 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Bely Окончательного вердикта не будет /me думает: это - радует Bely 1) во все таблицы вставить две даты, все запросы строить по принципу "данные на указанную дату". Это уже обмусолилось... Практически со всех сторон. IMHO, камнем преткновения при таком подходе является интерпретация граничных значений. Bely 2) К каждой таблице, для которой нужна история - создать "теневую таблицу", в которой хранить старые данные + диапазон действия значения. В обычной работе - использовать текущую таблицу, для истории - использовать обе. Ну... В историографии нуждаются не только данные, как таковые, но и НСИ, которая меняется очень часто на протяжении жизненного цикла того же договора. Так что при таком подходе добавляется еще одна головная боль: как различить "где играем, где не играем, а где рыбу заворачивали"? Bely 3) Если у вас Oracle 11g Не... Мы - попроще (Sybase ASE, FB) _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 17:46 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Ex_SoftНу... В историографии нуждаются не только данные, как таковые, но и НСИ, которая меняется очень часто на протяжении жизненного цикла того же договора.Who is этот НСИ? (Неадекватный Системный Изменяльщик? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 18:02 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Н ормативно С правочная И нформация _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 18:18 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Н ормативно С правочная И нформацияЕсли у вас НЕ МЕНЯЕТСЯ структура БД, то это лечится так же. Включается история не только на данные, но и на справочники. программа должна просто уметь доставать нужные данные и из справочников (на определенную дату). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 18:47 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
> программа должна просто уметь доставать нужные данные и из справочников (на определенную дату) Вы забыли присовокупить блок-схему телепатического устройства для такой базы данных. Г-н _мод уже сказал все, что можно сказать по теме. Любые другие варианты реализации, включая оракловые приблуды, - поделки обкуренных китайских первоклассников-второгодников. Обсуждать имеет смысл достаточно узкие вещи: критерии выбора метамодели, набор атрибутов, совместное использование версий и истории и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 20:07 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Г-н _мод уже сказал все, что можно сказать по теме guest_20040621 EAV с историей + метаописание с историей полностью решает проблему Это? guest_20040621 Любые другие варианты реализации, включая оракловые приблуды, - поделки обкуренных китайских первоклассников-второгодников /me думает: суров... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 23:46 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
> Г-н _мод уже сказал все, что можно сказать по теме Причем, все сказанное обсуждалось не раз и не два, легко найдете поиском. > суров... При чем здесь "суров"? Тема возникает регулярно. И регулярно одни и те же люди дают одни и те же ответы. Причем, и неправильные ответы дают тоже регулярно и тоже одни и те же люди. Вас бы не задолбало читать ахинею? Абстрагируйтесь от задачи. Просто словами сформулируйте то, что хотите получить. Легко увидите, что, в противовес фактологическим базам данных, Вы формулируете требования к регистрации процессов. Разница в проектировании заключается в том, что в каждый момент времени Вы хотите иметь актуальную суперпозицию состояний процессов. Причем, заранее не всегда известно, какому именно процессу сопоставлена сущность. Процесс в данном случае - это не соответствие нотации или правилам, а наличие факта изменяемости сущности во времени. Теперь посмотрите на это с другой стороны: для работы с такими изменяющимися сущностями Вы имеете метамодель SQL-2003 (конкретные особенности или модель зависят от СУБД). Просто внешне, без детального анализа, попробуйте оценить, как в этой метамодели реализовать приведенные выше требования к сущностям? Легко увидите, что никак. По счастью, многие СУБД имеют расширенную метамодель (Oracle уже назывался), но даже и эта расширенная метамодель ничто иное, как костыли для SQL-2003. Какой вывод из сказанного? У Вас есть два варианта решения задачи: либо реализовать соответствующую темпоральную модель (причем, понимая, какие ограничения несет эта реализация), либо использовать комбинацию метамодель + модель (о чем г-н _мод и пишет). Все, никаких других вариантов в принципе нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 09:18 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
promptесли в olap данных сохранен факт проведения оплаты с соответствующими реквизитами, то на его основе можно выдать как информацию по 1 транзакции, так и консолидированную, например сумму проведенную для данного клиента за месяц.Разве не так? Дело ведь в гранулярности факта. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 11:26 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
karapetyan_aНе я первый, не я последний видимо задаю этот вопрос. Почитайте в книге «Проектирование баз данных» (Дейв Энсор, Йен Стивенсон) раздел, касающийся работы с временнЫми данными (temporal data) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 14:20 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Чтобы определиться с принципом структурирования временных данных, прежде всего нужно знать сценарии их использования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 14:30 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
SQL*Plus Почитайте в книге «Проектирование баз данных» (Дейв Энсор, Йен Стивенсон) раздел, касающийся работы с временнЫми данными (temporal data) Дык, насколько видно - это в контексте Оракла и его конкретных заточек. А если другая СУБД ? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 14:35 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
Ex_Soft SQL*Plus Почитайте в книге «Проектирование баз данных» (Дейв Энсор, Йен Стивенсон) раздел, касающийся работы с временнЫми данными (temporal data) Дык, насколько видно - это в контексте Оракла и его конкретных заточек. А если другая СУБД ?Там излагается общий подход, который можно применить не только с использованием Oracle. Почитайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 14:52 |
|
||
|
Адекватность данных во времени.......
|
|||
|---|---|---|---|
|
#18+
promptесли в olap данных сохранен факт проведения оплаты с соответствующими реквизитами, то на его основе можно выдать как информацию по 1 транзакции, так и консолидированную, например сумму проведенную для данного клиента за месяц.Разве не так? Дело ведь в гранулярности факта. Почитайте. авторВ-третьих, убедитесь в том, что внешние ключи в таблице фактов представляют собой правильные СУРРОГАТНЫЕ КЛЮЧИ. Другими словами, они должны иметь не тип даты/времени SQL, а быть бессмысленными целыми числами. Сопротивляйтесь любому искушению вложить какой-либо смысл или порядок сортировки в эти ключи!Про какую дату мы тогда говорим в OLAP? Я понимаю, что можно вставить дату в таблицу фактов, но это больше глупость, чем реальность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 16:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35868199&tid=1543381]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 384ms |

| 0 / 0 |
