我正在设计一个数据库来存储有关动态事件的信息。我的意思是,每种类型的事件都会附加一些变量,根据用户定义的一些规则对每一次事件进行更改。
假设我们有变量X和Y的事件类型A,在这个事件类型中,用户可以定义一些规则来确定事件每次发生时X和Y的值。
用户可能定义的一组规则的示例:
通过定义这些规则,X和Y的值在所有事件发生时都会发生动态变化,如下所示:
现在,我不知道如何将“用户定义的规则”存储在数据库中,然后在我的代码中查询它们。谁能给我指明正确的方向?以下是一个开始:
EVENTS
id;
name;
description;
event_type;
EVENT_TYPE_A_OCCURRENCES
id;
event_id;
X;
Y;
EVENT_RULES
id;
event_id;
frequency; // the frequency in which this rule applies
at_occurrence; // apply this rule at a specific occurrence
condition; // stores the code for the condition
statements; // stores the code for the statements我不是专家,请帮我解决这个问题。谢谢。
发布于 2015-11-18 09:39:36
假设以下用户定义的规则存储在表中:
-----------------------------------------------------------------
|eventid|occurance|keep-old-x|keep-old-y|x-frequency|y-frequency|
-----------------------------------------------------------------
| A | 1 | T | F | 1 | 100 |
-----------------------------------------------------------------
| B | 2 | F | T | -2 | 0 |
-----------------------------------------------------------------
| C | 5 | T | T | 100 | -3 |
-----------------------------------------------------------------假设在事件x= 10,Y= 12。事件= A,频率= 1,保持老-x= T,保持老-y= F,x-频率= 1,y-频率= 100。
if keep-old-x is T then
X = X + x-frequency
else
X = x-frequency
endif
if keep-old-y is T then
Y = Y + y-frequency
else
Y = y-frequency
endif现在,X= 11,Y= 100
您可能需要再添加两个列来更改特定值上的X变量的值;如:
--------------------------
|if-x-value| x-new-value |
--------------------------
| 100 | 0 |
--------------------------
| 125 | 5 |
--------------------------
| 150 | 10 |
--------------------------我希望这能帮到你。
https://stackoverflow.com/questions/33775364
复制相似问题