powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Протоколирование изменений в БД
19 сообщений из 69, страница 3 из 3
Протоколирование изменений в БД
    #33270486
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Уважаемый guest_xxx не считает важным упомянуть что IDEF'ы никакого отношения
> к OOA/OOD не имеют

А что, обязательно должны иметь?

> Ввести сущность график выплат и для него вести историю

Ветвления, индивидуальные, параллельные графики Вы как намерены интерпретировать и описывать? Структуру - в студию.

> Статья хороша еще и тем, что решает конкретную задачу - а именно аудит изменений данных.
> К сожалению, очень часто эта задача путается с ведением истории изменения какой-либо сущности
> предметной области

Никто ничего не путает. Аудит изменений без истории изменений - от лукавого. Это нужно пояснять? Т. е. статья в числе прочего описывает фичу, которая реально хм... скажем корректно: совсем не нужна; вместо этого нужно использовать чуть более сложное и затратное, но логичное и удобное решение.

Еще раз: нормально спроектированная база данных обязана позволять извлекать состояние объектов базы данных на любую дату. Какие требования к структуре данных из этого вытекают, надо пояснять? Кстати, здесь и процессы пригодились: их состояние можно и нужно описывать несколько отлично от состояния сущностей. Так что хм... снова скажем корректно: не подумав Вы о них сказали "вряд ли в будущем пригодится".
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33270648
Laox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621 Т. е. статья в числе прочего описывает фичу, которая реально хм... скажем корректно: совсем не нужна; вместо этого нужно использовать чуть более сложное и затратное, но логичное и удобное решение.



Поддерживаю. Просто аудит изменений без четких ответов на вопрос "Кому это надо и как он это будет этим пользоваться" может принести пользу только в удовлетворении параноидальных наклонностей администратора приложения.

Необходимости в логгировании изменений можно избежать, проектируя изначально доступ операциям, приводящим к изменениям в данных, либо же сами операции. Это конечно значительно сложнее, чем просто вести лог изменений, но с точки зрения функциональности куда эффективнее.
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33270966
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_xxx

А что, обязательно должны иметь?

Если человек использует OOA/OOD, то ему стоит и процесс описывать с помощью методов OOD.

Аудит изменений без истории изменений - от лукавого. Это нужно пояснять?

Все зависит от задачи... Пояснять не надо - мы похоже говорим о разных вещах....

Еще раз: нормально спроектированная база данных обязана позволять извлекать состояние объектов базы данных на любую дату.

Всех/любого объекта?

Так что хм... снова скажем корректно: не подумав Вы о них сказали "вряд ли в будущем пригодится".

Атец, нинадо ничего за меня додумывать - я сказал что учить IDEF только ради описания БП может быть несколько затратным - вот и все.

Ветвления, индивидуальные, параллельные графики Вы как намерены интерпретировать и описывать? Структуру - в студию.

Дальше объяснять?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33270998
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Если человек использует OOA/OOD, то ему стоит и процесс описывать
> с помощью методов OOD.

Задачи нужно решать с помощью предназначенных для этого инструментов.

> Все зависит от задачи...

Ничто здесь от задачи не зависит. Есть наличие аудита и есть его отсутствие. Промежуточных состояний нет.

> Всех/любого объекта?

Да.

> Дальше объяснять?

Конечно. Структура-то где?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271092
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачи нужно решать с помощью предназначенных для этого инструментов.

Никто не спорит - в OOD для этого тоже есть инструменты

Ничто здесь от задачи не зависит. Есть наличие аудита и есть его отсутствие. Промежуточных состояний нет.

ясно - дальше обсуждать мне лень

> Всех/любого объекта?

Да.

Зачем?

Конечно. Структура-то где?

Чего струтура? Графика выплат? Вопрос стоял предоставить возможность ведения истории изменения графика выплат - я показал структура, в которой ведется история изменений сущности график выплат. Или нужно еще и структуру самого графика?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271134
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Никто не спорит - в OOD для этого тоже есть инструменты

Воспользоваться готовой _универсальной_ нотацией, видимо, религия не позволяет? Проще пользоваться доморощенными подпорками?

> Чего струтура? Графика выплат?

Не знаю, что Вы намерены рисовать.

> Вопрос стоял предоставить возможность ведения истории изменения графика

Задача - она вот:

Цитата: Есть таблица в которой содержится информация о том как будет возвращаться кредит - множество пар (дата,сумма).
График погашения может меняться. Интерес представляет не знание того как изменилась та или инная дата или сумма, а как изменился график вцелом. Сколько версий графика имеется? и.т.д.

Структура будет?

> выплат - я показал структура, в которой ведется история изменений сущности
> график выплат.

Нет, Вы решили абсолютно другую задачу, к графику выплат не имеющую никакого отношения.
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271158
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воспользоваться готовой _универсальной_ нотацией, видимо, религия не позволяет? Проще пользоваться доморощенными подпорками?
По-конкретней - что из этого подпорка? xPDL и/или Activity Diagrams/UML?

Цитата: Есть таблица в которой содержится информация о том как будет возвращаться кредит - множество пар (дата,сумма).
Так понятней?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271180
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> По-конкретней - что из этого подпорка? xPDL и/или Activity Diagrams/UML?

Что из перечисленного - нотация? Не надо путать мягкое с теплым, средство с формальной моделью.

> Так понятней?

В сравнении с чем? Где параллельные графики? Где ветвления?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271220
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сравнении с чем? Где параллельные графики? Где ветвления?

Историю изменения графиков нашли? Параллельность определяется атрибутом "активен", ветвления есть в такой структуре
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271270
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Историю изменения графиков нашли?

Я бы пока не стал называть это историей изменения графиков.

> Параллельность определяется атрибутом "активен", ветвления есть в такой
> структуре

Как и какие ветвления здесь могут быть описаны?

Как я понял задачу: клиент берет кредит. Предположим, что в рамках кредитного договора он может воспользоваться наиболее удобным для него графиком выплат (условно: график 1, график 2, график n; определяются некой схемой). Причем, возможно, график выплат может меняться (использовать другую схему) в зависимости от, скажем, суммы и сроков очередного взноса (погоды, настроения etc). Хочется иметь 1. реальний график погашения кредита, 2. график платежей.

А на Вашей схеме я не вижу описания графиков как таковых. Где они?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271666
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый, вам стрелки что ли дорисовать?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271712
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Уважаемый, вам стрелки что ли дорисовать?

Конечно, дорисуйте. Только принципиально это ничего не изменит. Схема не будет отвечать задаче. Еще варианты?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271725
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Схема не будет отвечать задаче. Еще варианты?

Есть вариант - неумение читать схему UML
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271748
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Есть вариант - неумение читать схему UML

На этой мажорной ноте и закончим. Курсы ликбеза закрыты.
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271916
Laox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuriСхема не будет отвечать задаче. Еще варианты?

Есть вариант - неумение читать схему UML

Было бы что читать. Нарисовали диаграмму классов на уровне Er-диаграммы тока без ключей. А где методы, дорогой друг? Кроме того, диаграмма классов без диаграммы юзкейзов и пр. картинок и текста - это порнографическое изображение структуры данных. Какие объекты создадут разработчики по Вашей модели?
Это по поводу UML.

А по поводу Вашей модели послушайте умного человека - он Вам правду говорит. НА Вашей модельке есть только графики платежей, но не выплат. Напрягите свое воображение и представьте - кастомер выполнил платежи за 3 периода, потом сделал досрочную выплату и потому ему надо поменять схему: уменьшить сумму платежей или сократить число периодов. Кастомеры - это вам не бинарные автоматы, которые могут находится в состоянии "оплатил" - "не оплатил" :-) В вашей схеме такой поток событий просто не предусмотрен.
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33271987
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уж про графики и модели не буду - своих хватает.
Я про другое уж :))

LaoxПоддерживаю. Просто аудит изменений без четких ответов на вопрос "Кому это надо и как он это будет этим пользоваться" может принести пользу только в удовлетворении параноидальных наклонностей администратора приложения.
Ну если никто не пользуется, то пусть администратор и страдает, если у него время есть. Главное, что не мешает никому.
А если не только ему нужно - то ответов то немного получается, а точнее всего два:
1. Просто вести лог изменений данных
2. Восстановить или показать данные в разрезе соответствующего процесса

Кому нужно - на это можно и не отвечать, все-равно разницы нет, директору или логисту :)

LaoxНеобходимости в логгировании изменений можно избежать, проектируя изначально доступ операциям, приводящим к изменениям в данных, либо же сами операции. Это конечно значительно сложнее, чем просто вести лог изменений, но с точки зрения функциональности куда эффективнее.
Я что-то не понял смысла фразы.
Вы хотите так спроектировать процессы, чтобы изменений не было? Так чтоли? Нифига себе!!!
Может вы и сумеете, но у меня любые процессы все-равно рано или поздно ведут к изменениям данных. И уж как бы долго к этому не шло, но посмотреть, чего "наменяли", иногда бывает нужно не зависимо от процессов.

guest_20040621Еще раз: нормально спроектированная база данных обязана позволять извлекать состояние объектов базы данных на любую дату.

> Всех/любого объекта?

Да.

Это уж как-то погорячились.
Зачем мне состояние любого объекта? Незачем!
На сколько это увеличит размер БД? В разы!
На сколько это увеличит сложность разработки и все, что из этого вытекает? В десятки раз!!! (потому что через задницу придется лезть к каждому объекту)

Если вам нравится мазохизм - ваш выбор. Мне - нет. (Это даже и не мазохизм - хуже :). Это скорее всего как раз " удовлетворении параноидальных наклонностей администратора приложения " Или точнее - разработчика-маньяка)
Я уж лучше буду иметь возможность в любой момент включить логирование любой таблицы. А если уж какой-то объект будет требовать ведения всей истории, то уж конкретно для него и будет сие сделано.

-- Tygra's --
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33272011
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Laox

ХМ... Во-первых, дорогой друг, не берите пример с guest'а и уберите подальше ваш менторский тон. Считать всех вокруг тупыми и недалекими - удел как раз таких


теперь по поводу ваших комментариев

Нарисовали диаграмму классов на уровне Er-диаграммы тока без ключей.

Расскажите, а какие еще бывают диаграммы классов? И что значит на уровне ER? У ER какой-то низкий уровень? Если по вашему мнению диаграммы классов отличаются от диаграмм сущностей не настолько насколько хотелось бы - то с этим не ко мне

А где методы, дорогой друг?

Какие еще методы? Мы обсуждение со структуры БД начали вроде или может вам еше формы для ввода данных предоставить?

Кроме того, диаграмма классов без диаграммы юзкейзов и пр. картинок и текста - это порнографическое изображение структуры данных.
Да ну! Сами придумали? Диаграмма классов может являться и является в данном случае, описанием структуры данных, способной хранить информацию, требуемую для решения вашей задачи

Какие объекты создадут разработчики по Вашей модели?

Уважаемый, вдумайтесь в название, это диаграмма классов ! Все еще думаете, какие объекты создадут по ней разработчики?

А по поводу Вашей модели послушайте умного человека - он Вам правду говорит.

guest_xxx известен тем, что никогда ничего конкретного не говорит. Где вы там правду обнаружили мне не ясно...

кастомер выполнил платежи за 3 периода, потом сделал досрочную выплату и потому ему надо поменять схему: уменьшить сумму платежей или сократить число периодов.

Предоставленная структура данных способна удовлетворить это требование. Про сам алгоритм речь вообще не идет

"оплатил" - "не оплатил"

Это у вас вообще откуда всплыло?

В вашей схеме такой поток событий просто не предусмотрен.
Не уточните, почему?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33272083
Laox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tygra!
Например, есть у меня некая операция, которая имеет паттерн состояний. Переходы между состояниями опередяется как и в какой последовательности отреагируют на факт появления этой операции акторы из некоторой процедуры.
Так вот, вести логирование изменений поля "состояние" просто бессмыслено, если я храню реакцию акторов.

Или еще вариант - у меня есть справочник, который заполняется неким актором. У него работа такая - заполнять этот справочник, ему за это деньги платят, он за эти данные отвечает. Понятно, что людей, исполняющих эту роль будет несколько и они совершенно равноправны друг перед другом. И тут нет нужды вести полный лог изменений в этом справочнике. Достаточно того кто создал, и того кто редактировал. А если другому актору этот справочник интересен, то права ему выдать только на просмотр.

Если данные являются важными и их изменение критично для бизнеса, то тут лучше не логировать изменения, а использовать подход проводок: т.е. сначала создать намерение, в котором все нужные акторы внесут свои поправки и затем это намерение реализуют в изменение. Опять-таки откатить в таком случае можно.
Мне удалось пояснить вопрос смысл фразы?
...
Рейтинг: 0 / 0
Протоколирование изменений в БД
    #33274261
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Если данные являются важными и их изменение критично для бизнеса, то тут лучше не логировать изменения, а использовать подход проводок: т.е. сначала создать намерение, в котором все нужные акторы внесут свои поправки и затем это намерение реализуют в изменение. Опять-таки откатить в таком случае можно.
Мне удалось пояснить вопрос смысл фразы?
Смысл понят так:
В теоретическом плане все красиво.
В практическом - фантастика. Научная, но все же фантастика.
Потому как на каждую таблицу вы не будете навешивать "подход проводок" - либо система умрет, либо бизнес разорится раньше с такой работой системы, а юзеры повесятся, начальник убъет сначала программиста а потом и сам застрелится :))

авторИли еще вариант - у меня есть справочник, который заполняется неким актором. У него работа такая - заполнять этот справочник, ему за это деньги платят, он за эти данные отвечает. Понятно, что людей, исполняющих эту роль будет несколько и они совершенно равноправны друг перед другом. И тут нет нужды вести полный лог изменений в этом справочнике. Достаточно того кто создал, и того кто редактировал. А если другому актору этот справочник интересен, то права ему выдать только на просмотр.
Ну вам нет нужды вести лог, а кому-то есть. Будем навешивать механизм проводок? :))

=======

Зачем простое превращать в ужасное? :)

ЗЫ
Тяпница - пора домой почти уже.

-- Tygra's --
...
Рейтинг: 0 / 0
19 сообщений из 69, страница 3 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Протоколирование изменений в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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