CftClub.ru
Клуб специалистов ЦФТ-Банк

Вопрос про collection_id

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
cap
Участник со стажем
Неподтвержденный


Вступление в Клуб: 08.10.2010
СообщениеСр Апр 18, 2012 14:20   Вопрос про collection_id Ответить с цитатой
Полезность: Нет оценки
Добрый день!

Извиняюсь за офф-топ, но уже несколько дней мучаюсь вопросом: почему разработчики ЦФТ используют связку child-таблиц с parent-таблицами через механизм коллекций (collection_id)? Не проще ли было бы их связать стандартно, через внешний ключ? Кроме возможности привязки одной child-таблицы к нескольким parent ничего в голову не приходит. Может кто подскажет, где зарыта собака?


Последний раз редактировалось: cap (Вт Апр 24, 2012 10:52), всего редактировалось 1 раз
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеСр Апр 18, 2012 14:41    Ответить с цитатой
Полезность: Нет оценки
не парься, лучше сделай что нибудь полезное для своего банка.
devor
Профи
Неподтвержденный


Вступление в Клуб: 13.02.2012
СообщениеСр Апр 18, 2012 14:45   Re: Вопрос про collection_id Ответить с цитатой
Полезность: Нет оценки
cap пишет:
Кроме возможности привязки одной child-таблицы к нескольким parent ничего в голову не приходит.

Чем не аргумент?
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеСр Апр 18, 2012 15:01    Ответить с цитатой
Полезность: Нет оценки
Спать не можешь что ли? Laughing
А какая в принципе разница, как разработчик организовал свою структуру? Как говориться - дарёному коню в зубы не смотрят! Wink
Alkov
Профи
Неподтвержденный


Вступление в Клуб: 23.09.2010
СообщениеЧт Апр 19, 2012 05:24    Ответить с цитатой
Полезность: Нет оценки
"Кроме возможности привязки одной child-таблицы к нескольким parent ничего в голову не приходит" чем не аргумент ?
Random
Эксперт
Резидент CftClub


Вступление в Клуб: 27.06.2011
СообщениеЧт Апр 19, 2012 05:48   Re: Вопрос про collection_id Ответить с цитатой
Полезность: 1
cap пишет:
Добрый день!

Извиняюсь за офф-топ, но уже несколько дней мучаюсь вопросом: почему разработчики ЦФТ используют связку child-таблиц с parent-таблицами через механизм коллекций (collection_id)? Не проще ли было бы их связать стандартно, через внешний ключ? Кроме возможности привязки одной child-таблицы к нескольким parent ничего в голову не приходит. Может кто подскажет, где зарыта собаку?


Есть операция, возвращающая задолженность по фактическим операциям.
Фактические операции могут быть привязаны как массивы к кредитам, депозитам, портфелям, межбанку, и т.д.
Бизнес-сущность одна. Обрабатываться все операции должны одинаково. И это удобно. Этого проще достичь, объявив одни и те же правила для всех.
Теперь посмотрим, что получится, если сделать N таблиц для факт.операций. Получается N операций, возвращающие задолженности для кредитов, депозитов, портфелю, межбанку, и т.д.
При этом каждый продукт будет считать, что таблица факт.операций относится к его подсистеме (и он будет прав), и может воротить в ней что душе угодно.
В результате имеем - кто в лес, кто по дрова.
Иметь N версий различного функционала гораздо затратнее.

Далее, представим себе, что нужно грохнуть все операции одного договора. Лучше - плановые операции, так как это имеет смысл при перестроении графика гашений.

Как это можно сделать в случае N таблиц? долго и муторно удалять записи из таблицы план.операций, в том числе в моменты, когда сервер загружен по самое не могу.

В случае с используемой в ЦФТ модели достаточно изменить реквизит владельца массива у договора, и все - бесхозные операции продолжают валяться в таблице, но уже ни к кому не относятся, и можно их грохать когда будет удобно.

Третий плюс: есть история плановых операций, есть актуальный график. При этом актуальный график должен быть доступен без дополнительного анализа. В случае с collection_id достаточно разместить все плановые операции в одной таблице, а у владельцев разместить в реквизит актуального графика значение collection_id группы плановых операций из истории плановых операций, соответствующих последнему их состоянию.

ИМХО, это очень умное, верное и годное решение - collection_id
cap
Участник со стажем
Неподтвержденный


Вступление в Клуб: 08.10.2010
СообщениеВт Апр 24, 2012 10:49    Ответить с цитатой
Полезность: Нет оценки
Большое спасибо всем откликнувшимся!!!
zlodey
Участник - экстремал
Неподтвержденный


Вступление в Клуб: 27.09.2007
СообщениеПт Июл 20, 2012 13:57   Re: Вопрос про collection_id Ответить с цитатой
Полезность: Нет оценки
cap пишет:
Добрый день!

Извиняюсь за офф-топ, но уже несколько дней мучаюсь вопросом: почему разработчики ЦФТ используют связку child-таблиц с parent-таблицами через механизм коллекций (collection_id)? Не проще ли было бы их связать стандартно, через внешний ключ? Кроме возможности привязки одной child-таблицы к нескольким parent ничего в голову не приходит. Может кто подскажет, где зарыта собака?


http://www.sql.ru/forum/actualthread.aspx?tid=669471&hl=ibso
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru