Задать вопрос

Кто как укладывает бизнес правила в БД?

У меня есть задача сделать интерфейс создания и редактирования бизнес правила c последующим их извлечения и выполнения. Правила могут быть различной сложности

Например:
1. Eсли у заказа количество позиций=2 ТО Цена ниже на 10р

но так же более сложные

2. если заказ содержит (количество_позиций=2 и город_отправки ="Москва") или (Город="Санкт-Петербург") ТО доставка осуществляется компанией "Рога и копта"

Поля по которым может быть сравнение динамические, правил для одного заказа может быть много
  • Вопрос задан
  • 2373 просмотра
Подписаться 14 Средний 1 комментарий
Решение пользователя d'Ivan К ответам на вопрос (4)
2ord
@2ord
Таблица принятия решений (таблица решений) - очень эффективное решение для такого рода задач.
Из русской Википедии:
Таблица принятия решений (таблица решений) — способ компактного представления модели со сложной логикой. Аналогично условным операторам в языках программирования, они устанавливают связь между условиями и действиями. Но, в отличие от традиционных языков программирования, таблицы решений в простой форме могут представлять связь между множеством независимых условий и действий.

5a15e62220a7b529500711.png
На английском - Decision table - можно найти гораздо больше полезного материала, чем на русском. Допустим, это видео с объяснением.
Таблицы можно хранить в СУБД и обмениваться при помощи CSV.
IBM и многие другие компании применяют их в разных своих продуктах. Особенно полезны для описания деятельности бухгалтерии, складского учета и пр.
Ответ написан