gpt4 book ai didi

database-design - bool 表达式的数据模型

转载 作者:行者123 更新时间:2023-12-03 13:24:57 24 4
gpt4 key购买 nike

您知道一种在数据库中组织 bool 表达式同时允许表达式无限嵌套的方法吗?

例子:

a = 1 AND (b = 1 OR b = 2)

不应将整个表达式存储为 varchar 以保持数据完整性。

最佳答案

好的答案,但如果表达式组中有超过 2 个表达式怎么办?

a = 1 AND (b = 1 OR b = 2 OR b = 3)

我建议:
-------------------
| Condition |
-------------------
| - id |
| - value1 |
| - value2 |
| - operation |
-------------------
|(1)
| --------------
| | |
| |(*) |
------------------- |
| ConditionGroup | |
------------------- |
| - id |--------
| - groupType |
| - condition |
| - subConditionGroups
-------------------
  • value1 , value2operation为最终比较建模,例如 ' b = 3 ' (在我的情况下是 value1 = 'b'value2 = '3'operation = 'EQUALS' )
  • groupeType可以是'AND ' 或 ' OR '
  • 一个 ConditionGroup可以有 ConditionGroup 的子列表小号 决赛 Condition但是 不是两者 .
  • 现在你的开始表达式是 ConditionGroup ,递归挖掘其subConditionGroups直到找到最终条件,然后返回值并应用正确的 condition .

  • 其实这就是我要尝试的。

    关于database-design - bool 表达式的数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/261721/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com