针对数据库设计中不确定的字段,采用列传行存储.如何解决代码中硬编码问题?

小桥流水凌凌漆 发布于 01/27 18:27
阅读 183
收藏 1

我要设计一个风控规则表 , 目前我设计了个 风控规则主表和子表(1对多的关系),主表存的是规则信息(放款的风控规则,扣款的风控规则?等),
子表主要是规则细节(比如银行卡放款频率,通道单日放款额度等).一个主规则下有多个子规则,因为不同子规则有不同的配置参数,所以我选择了列转行的表设计.

现在面临一个问题, 比如 我在子规则中设置规则 代码和名称是 "rule01","银行卡放款频率规则" ,参数值设置为 "3" 代表一个卡一天可以接收3次放款.
那么我代码获取参数的时候就不得不 get("rule01") ,加入有一天把 "rule01" 改为了"rule0001" , 我就得改代码了. 如何解决这种硬编码的问题?老齐和各位群主有啥好的建议吗?

加载中
0
魔力猫
魔力猫

你要搞这种,完全犯不上折腾。有的是复杂的内容存储。比如JSON、XML。一个字段就存你的规则。而且很多规则也不是应该关系数据库放的东西,而是规则引擎或者直接就是一个代码片段的内容。

现在已经不是关系数据库极早期,为了所谓的灵活,不得不搞动态行列的时代了。

魔力猫
魔力猫
回复 @小桥流水凌凌漆 : 推荐的话,我知道的暂时只有Drools了。这应该是国内大家比较熟悉,而且的开源规则引擎。其它的规则引擎要么是商用品,要么更难找资料。还不如这个呢。规则引擎在软件开发中是比较偏的一个领域。
小桥流水凌凌漆
小桥流水凌凌漆
您说的有道理, 真个放在关系型数据库确实不合适. 有什么好的规则引擎推荐吗?我还没接触过规则引擎
0
混乱羽翼
混乱羽翼

可以引入规则引擎,也可以自己写动态脚本,比如groovy之类的

小桥流水凌凌漆
小桥流水凌凌漆
恩不错 , 大开眼界了. 本来只把增删改查写的66的我,以为自己已经掌握了整个世界,唉.
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部