用于定义依赖项的数据库引擎是什么? SQL数据库可用吗?

时间:2019-05-29 12:35:54

标签: dependencies storage

在堆栈溢出时,我不知道这个问题是否应该在这里,但是我会尝试的。

我有一个组件系统。这些组件是相互依赖的。我需要将依赖项存储在一些数据库/数据存储中,可以在其中快速解决它。我们的系统正在使用SQL数据库,MongoDB和Elastic搜索-如果有一种使用SQL数据库的方法,我会认为它是对我们最好的方法。我应该使用哪种类型的数据存储,您能给我一个简单(但足够复杂)的例子吗?

依赖项示例:

  • 假设我们具有组件C, C1, C2, C3, C4, C5, C6, C7
  • 让我们定义以下规则:
C is dependent on C1 and (C2 or C3 or C4) and (C5 and (C6 xor K7))

当我们将xor定义为:

(C6 and not(C7)) or (C7 and not(C6))

这意味着所有依赖关系规则均由逻辑运算符and, or, not给出。条件可以嵌套。

存储设备应该能够针对以下问题给出答案:

  • 我已选择组件C3,C4,C5,是否可以选择组件C?
  • 选择C2,C5,C7时,请提供组件列表吗?
  • 我想要获得组件C时应该选择哪些组件?

可以在应用程序中处理计算。不必在存储服务器/系统上完全解决问题,但是我想避免进行一些解析:“我可以使用SQL并将条件存储为字符串,然后解析该字符串并在应用程序中计算结果”,但是它无效,我认为这不是很好的解决方案。

感谢您的所有建议。

0 个答案:

没有答案