将表达式树存储在数据库中

卢声远*_* Lu 7 java database database-design

我需要在数据库中存储逻辑条件.例如:(condition1 || condition2) && condition3应存储在数据库中.

我计划设计一个表[ ExpressionTree ]来处理结构:

Id
condition
combinationId
nextId(FK->[Condition2Combination.Id])
operator (AND, OR, null)
Run Code Online (Sandbox Code Playgroud)

如果表[ExpressionTree]中的(condition1 || condition2)&& condition3,则记录应为:

Id  conditionId combinationId nextId  operator
1  condition1   combination1  2       OR
2  condition2   combination1  3       AND
3  condition3   combination1  null    null
Run Code Online (Sandbox Code Playgroud)

但解决方案并不好,你的建议是什么?谢谢!

Ste*_*n C 10

除非您实际上要对表达式树执行数据库查询,否则我倾向于将表达式存储为文本列...并根据需要在客户端解析它们.