如何定义用于存储逻辑门数据的表结构?

时间:2016-09-20 18:59:54

标签: sql sql-server schema

我的表A在sql中有一堆行和列。在访问代码中的每一行时,它被评估为true或false。

我想创建另一个与表A中的行相关的表B,并定义一个逻辑电路。

例如,如果我有一个带有这些行的表A

1  - true
2  - true
3  - false
4  - true

我想在这几行之间定义关系:"(2 AND 3)"或"(2 AND(3 OR 4))"并将其保存在表中,以便稍后我可以在代码中评估此数据。我怎么做到这一点?

我在想这样的结构

id | firstValue | secondValue | operator 

在这种情况下,每个值也可以是表B中的一行,以创建更复杂的电路。但是我怎么知道每个值加入哪个表?我是否需要另一个字段来定义我加入的表格?

也许有更好的解决方案?

感谢。

1 个答案:

答案 0 :(得分:0)

我不知道您是如何考虑编码的,但这是我开始使用TableB的结构:

CircuitID     TableARowID      Position

CircuitID + Position将成为主键。因此,要构建每个电路,请按Position的顺序评估与其关联的每个表A行(即:首先评估位置1,然后评估位置2等)。

这允许您拥有任意数量的"块"来自表A与任何给定电路相关联。