|
|
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
> Вы отождествляете понятия "значение атрибута (свойство)" и "метаданные"? Нет. Контекст - [2507333]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 20:12 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
> Бизнес-требования это не алгоритм, а документ Т. е. любая бумажка - основание для разделения данных на "обычные" и "версионные"? ;))) Я бы на вопрос ответил таким образом: постоянными можно считать независимые (степень независимости можно обсуждать) данные, точность измерения (или область значений) которых заранее известна (либо известен алгоритм их получения) и единицы измерения - стандартны. Все остальные данные - увы - по своей природе версионны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 20:27 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
Страховое свидетельство (Пенсионного фонда) подлежит обмену в случаях: Изменения фамилии, имени, отчества, ДАТЫ РОЖДЕНИЯ, МЕСТА РОЖДЕНИЯ или поля застрахованного лица; установления неточности или ошибочности содержащихся в нем сведений. (с) Написано это на зеленой карточке, которая есть у каждого. Причем если ошиблись в дате рождения при составлении свидетельства, то это попадает под "установления неточности или ошибочности содержащихся в нем сведений" Осюда логически заключаем, что дату рождения поменять можно! Убили веру в константы на корню! :-))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 21:28 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
Гость74Страховое свидетельство (Пенсионного фонда) подлежит обмену в случаях: Изменения фамилии, имени, отчества, ДАТЫ РОЖДЕНИЯ, МЕСТА РОЖДЕНИЯ или поля застрахованного лица; установления неточности или ошибочности содержащихся в нем сведений. (с) Написано это на зеленой карточке, которая есть у каждого. Причем если ошиблись в дате рождения при составлении свидетельства, то это попадает под "установления неточности или ошибочности содержащихся в нем сведений" Осюда логически заключаем, что дату рождения поменять можно! Убили веру в константы на корню! :-))))))) это потому, что такой важный вопрос как поддержание целостности и непротиворечивости данных отдали на откуп профанам и делетантам из МинЗдрава, конечно они такого нагородили... даже ежу понятно и очевидно, что неточности при указании в даты рождения должны устраняться ТОЛЬКО СТОРНИРОВАНИЕМ неточности места указания места рождения устраняются сторнированием даты рождения (возраста) до нуля, с последующим вводом нового места рождения и фиксироваться соответсвующей проводкой по счетам родильного дома... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 21:41 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Бизнес-требования это не алгоритм, а документ Т. е. любая бумажка - основание для разделения данных на "обычные" и "версионные"? ;))) Я бы на вопрос ответил таким образом: постоянными можно считать независимые (степень независимости можно обсуждать) данные, точность измерения (или область значений) которых заранее известна (либо известен алгоритм их получения) и единицы измерения - стандартны. Все остальные данные - увы - по своей природе версионны. Отвечать можно по разному. Бизнес-требования это не любая бумажка, это требования к информационной системе, предъявляемые заказчиком, либо сформированными на основе анализа функций проектируемой системы. В разных проектах, системах один и тот же объект (сущность), набор его атрибутов (свойств) может быть в одном случае постоянным, в другом версионным. Так же, как и кол-во атрибутов объекта. Где-то достаточно названия организации, где-то нужна более детальная информация (адреса, счета и т.п.). Всё зависит от требований к системе (автоматизируемой системы). guest_20040621степень независимости можно обсуждать Делается это на этапе анализа. guest_20040621Все остальные данные - увы - по своей природе версионны Это не значит, что в каждой системе нужно поддерживать версионность этих данных. Всё нужно в меру. Никому не нужной функциональностью, лишь можно навредить. В случае организации версионности, это дополнительные расходы для хранения информации, вычислительной мощности, обработки информации и поддержки реализуемого функционала. p.s. Эта любовь к алгоритмам неспроста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 22:16 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Вы отождествляете понятия "значение атрибута (свойство)" и "метаданные"? Нет. Контекст - [2507333]. Это часть контекста. Как и более свежие цитаты, приведенные мной. Впрочем, и в указанном контексте я что-то не заметил упоминаний о метаданных, зато есть фразы: Версионность - возможность видеть объект (запись, группу записей) на момент времени отличный от текущего, К примеру, к таким объектам как документы (меняют свой статус в бизнес-процессе), Таблица с версионными данными имеет поле с датой актуальности этих данных. Для версионного объекта, версия создается в момент сохранения (нового, редактируемого) объекта. вполне явно показывающие, что речь идет о версионности "обычных данных". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 22:22 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
> вполне явно показывающие, что речь идет о версионности "обычных > данных". Ключевое слово "объект". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 23:13 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
> Бизнес-требования это не любая бумажка Знаете, т. н. "бизнес-требования" - тупой термин, придуманный тупыми маркетологами, который в общем случае не несет никакой смысловой нагрузки. Делит пальму первенства по тупости с термином "бизнес-логика". > требования к информационной системе, предъявляемые заказчиком Вы сами вспомните, как называется этот документ? ;) Ни при чем здесь никакие "бизнес-требования". > либо сформированными на основе анализа функций проектируемой системы. ;))) > В разных проектах, системах один и тот же объект (сущность) Дружище, термин "объект" в общем случае не имеет ничего общего с термином "сущность". Вы о чем говорите и что имеете в виду? > В случае организации версионности, это дополнительные расходы Очень незначительные. В любом смысле. > Эта любовь к алгоритмам неспроста Нет никакой любви. Если беретесь что-то формулировать, делайте это нормальным образом. Если оперируете определениями - ссылайтесь на источник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 23:27 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
nnovПока запись актуальна Date_End = '01.01.2099:00:00:00' запись актуальна если нет замещающей ее записи. Иначе при вводе новой записи требуется дополнительная логика по замене данных в записях, которые становятся неактуальными. А при отмене - откат назад, восстановление предыдущего состояния. Хорошо когда это одна запись... и нечем заняться... Так и рождаются монстры с гемморойной логикой. Типичный пример курсы валют: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 23:38 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
guest_20040621Ключевое слово "объект". После которого в скобках указано, что именно понимается под "объектом". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 23:40 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
iscrafmзапись актуальна если нет замещающей ее записи. Нельзя ли описать, какую именно "замещающую ее запись" Вы бы внесли в реестр недвижимости Нью-Йорка 11 сентября небезызвестного года? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 23:43 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
softwarer iscrafmзапись актуальна если нет замещающей ее записи. Нельзя ли описать, какую именно "замещающую ее запись" Вы бы внесли в реестр недвижимости Нью-Йорка 11 сентября небезызвестного года? в данном контексте Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 23:54 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
только к замещающим записям это не имеет отношение. Если бы WTC переехал, тогда запись бы была другой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 23:57 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
> После которого в скобках указано, что именно понимается под "объектом". Спасибо, я умею читать; все сказанное в силе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 00:12 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
iscrafmНельзя ли описать, какую именно "замещающую ее запись" Вы бы внесли в реестр недвижимости Нью-Йорка 11 сентября небезызвестного года? в данном контексте Код: plaintext 1. 2. Стоп-стоп-стоп. Прежде всего, я что-то не вижу здесь внесения замещающей записи - следовательно, "актуальная запись" продолжает существовать. Зато я вижу здесь факт "неверсионного изменения" - нигде не указано, что статус сменился именно 11.09. Практически Вы потеряли информацию. iscrafmтолько к замещающим записям это не имеет отношение. Хм. Тут уже вопросы к Вашей формулировке. Вы сказали, "запись перестает быть актуальной..." Я привел пример события, при котором запись явно перестала быть актуальной. Если эта ситуация решается другим способом - значит, Ваша формулировка неполна. В целом, Ваш подход безусловно заслуживает большой медали Общества Любителей Нормализованных БД. Но на практике он имеет и свойственные нормализации недостатки; например, любой запрос, в котором требуется вывести период действия значения, без аналитических функций нормально не расписывается (собственно, в ANSI SQL, если не ошибаюсь, такой запрос вообще НЕ УДАСТСЯ написать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 00:29 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Бизнес-требования это не любая бумажка Знаете, т. н. "бизнес-требования" - тупой термин, придуманный тупыми маркетологами, который в общем случае не несет никакой смысловой нагрузки. Делит пальму первенства по тупости с термином "бизнес-логика". одни буквы... guest_20040621> требования к информационной системе, предъявляемые заказчиком Вы сами вспомните, как называется этот документ? ;) Ни при чем здесь никакие "бизнес-требования". > либо сформированными на основе анализа функций проектируемой системы. ;))) Это называется "Постановка задачи", на основаниии которой пишется "Техническое задание". Интересно, как Вы сами проектируете и разрабатываете системы, без подобного документа. В его отсутствии или присутствии в виде формальности (неточности трактований требований), растет кол-во требований, переодически противоречащих предыдущим, время разработки проекта стремится к бесконечности, а сам исполнитель начинает нести убытки. Я говорю о достаточно больших проектах. guest_20040621> В разных проектах, системах один и тот же объект (сущность) Дружище, термин "объект" в общем случае не имеет ничего общего с термином "сущность". Вы о чем говорите и что имеете в виду? И какие это такие, общие случаи? Тот кто хотел, понял что я имел ввиду. В скобках уточнение.. guest_20040621> В случае организации версионности, это дополнительные расходы Очень незначительные. В любом смысле. Это Вы заказчику пропойте. :) А как эксплуатация начнется, послушайте их. guest_20040621> Эта любовь к алгоритмам неспроста Нет никакой любви. Если беретесь что-то формулировать, делайте это нормальным образом. Если оперируете определениями - ссылайтесь на источник. Зачем кудато ссылаться, если сказано что под термином имеется ввиду. p.s. Кроме Ваших, необоснованных реплик, по существу темы ничего и не слышно. Конструктивней надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 00:52 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
softwarer Стоп-стоп-стоп. Прежде всего, я что-то не вижу здесь внесения замещающей записи - следовательно, "актуальная запись" продолжает существовать. Зато я вижу здесь факт "неверсионного изменения" - нигде не указано, что статус сменился именно 11.09. Практически Вы потеряли информацию. ниже написал, что к замещающим записям это не имеет отношение. Впрочем Вы сами думаю увидели следующее сообщение. А насчет версионности :) Лень мне было дописывать еще set-ы, думал сами догадаетесь. Никакая информация конечно же не теряется. softwarer В целом, Ваш подход безусловно заслуживает большой медали Общества Любителей Нормализованных БД. Спасибо за медаль А что такое нормализованная БД? Шутка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 01:19 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
> И какие это такие, общие случаи? Н-да... одно непонятно: почему Вы имеете наглость что-то кому-то объяснять. Дружище, на Вашем месте я бы молчал и слушал. Вы вообще что-нибудь о проектировании читали? > Тот кто хотел, понял что я имел ввиду. В скобках уточнение. ;)) Чего уточнение? Термина "объект"? Не смешите мои тапочки. > Зачем кудато ссылаться, если сказано что под термином имеется ввиду. Дружище, Вы разговариваете набором букв, Вы это понимаете? "Объект" имеет вполне себе конкретный смысл, а вот "запись" - это Ваша отсебятина, которая вообще ничего общего с проектированием не имеет. Что с помощью чего Вы уточнили? Читайте больше, что-ли... > по существу темы ничего и не слышно. Очень даже слышно. Вы написали абсолютную хрень, я Вам рассказал, почему это так. Чего более конкретного Вы хотите? Учитесь, молодой человек; не пишите ахинеи; не давайте глупых советов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 12:20 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
guest_20040621> И какие это такие, общие случаи? Н-да... одно непонятно: почему Вы имеете наглость что-то кому-то объяснять. Дружище, на Вашем месте я бы молчал и слушал. Вы вообще что-нибудь о проектировании читали? > Тот кто хотел, понял что я имел ввиду. В скобках уточнение. ;)) Чего уточнение? Термина "объект"? Не смешите мои тапочки. > Зачем кудато ссылаться, если сказано что под термином имеется ввиду. Дружище, Вы разговариваете набором букв, Вы это понимаете? "Объект" имеет вполне себе конкретный смысл, а вот "запись" - это Ваша отсебятина, которая вообще ничего общего с проектированием не имеет. Что с помощью чего Вы уточнили? Читайте больше, что-ли... > по существу темы ничего и не слышно. Очень даже слышно. Вы написали абсолютную хрень, я Вам рассказал, почему это так. Чего более конкретного Вы хотите? Учитесь, молодой человек; не пишите ахинеи; не давайте глупых советов. Ни такой уж я и молодой, а Вам, тем более не дружище. Хрень идет только от Вас, и ничего путного Вы не сказали. Если Вам не нравится терминология, предложите совю правильную модераторам, для публикации в правилах форума. p.s. И не забудьте про "тупых" маркетологов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 12:42 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
> Ни такой уж я и молодой Тем более должно быть стыдно. > Если Вам не нравится терминология Мне, уважаемый, терминология нравится. Не нравится, когда вместо стандартной используют доморощенную. > предложите совю правильную модераторам Консультации, чтение вслух стандартов, - на возмездной основе. > И не забудьте про "тупых" маркетологов. А что с ними не так? P.S. Про не-дружищ оригинален был товарищ Выбегалло. Жаль, давненько его не слышно. ;) Амвросий Амбруазович, хватит дуться. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 14:49 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
и зачем так сложно когда делается это просто Код: plaintext iscrafm nnovПока запись актуальна Date_End = '01.01.2099:00:00:00' запись актуальна если нет замещающей ее записи. Иначе при вводе новой записи требуется дополнительная логика по замене данных в записях, которые становятся неактуальными. А при отмене - откат назад, восстановление предыдущего состояния. Хорошо когда это одна запись... и нечем заняться... Так и рождаются монстры с гемморойной логикой. Типичный пример курсы валют: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2006, 00:15 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
затем, что не нужно делать никаких изменений кроме добавления новой записи. Попробуйте :) Проверено. Алгоритмы должны быть просты и прозрачны. Дата окончания действия курса - лишнее. p.s. Каждый день надеюсь не будете менять "< endrdate ". Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2006, 00:24 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
В продолжении темы. Проектировать БД можно по правилам, можно без правил, а можно "под потребности". Задавал вопрос уважаемый softwarer : " например, любой запрос, в котором требуется вывести период действия значения, без аналитических функций нормально не расписывается ". Ответ на него прост. Нужно смотреть на назначение БД. Приведенный выше вопрос можно поставить по другому. А зачем мне такая аналитика нужна? Да, меня интересует конкрентный документ, но совсем не интересует с какого и по какое он действовал. Гораздо более востребованная информация - действовал ли документ в заданный период. А если нужно построить временные ряды, то ничто не мешает потратить немного времени и расчитать их при помощи процедуры, так как его востребованность гораздо ниже. А еще лучше показать все это в кубе или в графике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2006, 00:36 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
Наилучший вариант хранения данных - при помощи пары дат - дата начала, дата окончания действия. Если использовать только одну дату, то значительно повышается сложность извлечения данных на определенную дату. Я после некоторого анализа когда проектировалась наша биллинговая система выбрал именно вариант с двумя датами. Причем было два типа версионных таблиц - 1. Содержащие большое количество атрибутов, которые редко относительно изменяются. В этом случае в таблицу просто добавляются dton,dtoff и соответствующим образом оформляются все запросы, обращающиеся к этой таблице. 2. Содержащие атрибуты, которые часто меняются. И, кроме того, нужно знать индививдуально какой атрибут с какой по какую дату имеет/имел такое значение. В этом случае в таблице храниться код_атрибута, датаот, датапо, значение, ну и может какие то еще атрибуты как то кто и когда изменял и пр. Такой же подход встречал в некоторых других серьезных коммерческих продуктах. В принципе, все версионные данные желательно хранить в таблицах второго типа - получается более универсальнее и правильнее. Но возникают например трудности на уровне описания ER-диаграм БД - они получаются очень непоказательными. Подумывал над созданием некой надстройки в БД для хранения всех версионных (кстате, думаю правильней их называть историческими) данных - например, завести таблицу, содержащую 1. код категории (к какой таблице принадлежали бы эти данные, будь они оформлены неисторическими), 2. код подраздела (код атрибута), 3 и 4. дата от, дата по, 5. значение (может быть серия значений разных типов, или применение каких-либо объектно-ориентированных возможностей БД для хранения значений разных типов). 6. Поля описывающие кто, 7. и когда менял Далее завести определенный уровень абстракции операций над историческими данными - добавление, удаление, изменение. В принципе, у меня уже есть определенные наработки, но сейчас ломать всю систему под это уже тяжело. Версионные данные в нашей системе хранятся в таблицах типа 1 и 2, как описано выше. Проблемы с производительностью могут решаться правильным секционированием и субсекционированием таблиц и настройке соответствующим образом фраз хранения для каждой партиции, в соответствиии с характером тех или иных данных. Думаю, в очень крупных информационных системах (1000 и больше сущностей) такой или похожий уровень абстракции должен быть сделан обязательно - трудности при проектировании (если правильно все сделать, они не такие уж и большие) потом с лихвой окупятся при эксплуатации и развитии системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2006, 19:08 |
|
||
|
Логическое удаление записей
|
|||
|---|---|---|---|
|
#18+
Несколько примеров из Oracle E-Buisness Suite. 1. Использование дат. Таблица, содержащая список пользователей. 2 поля start_date и end_date , допускающие NULL-евые значения. Значение NULL означает неограниченность интервала в соответсвующую сторону. 2. Использование логического и физического удаления. Таблицы, хранящие информацию о формулах (производство). Заголовки формул -< Детали формул. В родительской таблице есть поле delete_mark принимающее значения 0 или 1. В детальной таблице записи удаляются физически без возможности восстановления. 3. Версионность объектов. Таблица, содержащая местоположения (locations). При внесении изменений в данные, пользователю предлагается возможность сохранить изменения в эту же запись, либо создать новую версию записи (используется поле object_version_number ) В дополнение ко всему, все таблицы содержат 4 WHO-столбца creation_date , created_by , last_update_date , last_updated_by P.S. Мое мнение, что все описанное в данной теме имеет право на существование и зависит от условия задачи. With Best Regard. Sam. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 10:54 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33636267&tid=1545242]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 402ms |

| 0 / 0 |
