Code Bye

foxmail邮箱过滤器,数据库要怎么设计?


最近做的项目,需要实现一个和foxmail邮箱过滤器相似的功能,过滤器的各个设置项要求持久化到数据库
图中红色框框里面的那块,设置过滤条件的地方,始终没想到什么合适的数据库结构,特向各位高手求帮助,谢谢了!
解决方案

50

主表 rule:rule_id,名称,执行时机(可选择的值:1,2),执行条件
子表 rule_item:id,rule_id,name,condition,bonus_information

50

引用 2 楼 z_z_q 的回复:
Quote: 引用 1 楼 yupeigu 的回复:

主表 rule:rule_id,名称,执行时机(可选择的值:1,2),执行条件
子表 rule_item:id,rule_id,name,condition,bonus_information

这个结构本人明白了,主表每条记录是一个过滤器,子表记录过滤器的各个过滤条件。
foxmail过滤条件是固定的一些选项,例如按主题、收件人等等,不同的条件对应的参数不同,



所以就有两个问题,
1.怎么针对不同的name关联对应的condition?
2.bonus_information…这个字段可能是字符串,也可能是时间或其它什么类型,是不是都统一存成varchar,然后在代码里去判断实际该是什么类型?

第1个没看明白什么意思,第二个,就是varchar类型,各种数据都能放进去,假如不确定是什么类型,建议可以新增一个字段,里面放上实际的数据类型,这样便于你的程序能够判断


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明foxmail邮箱过滤器,数据库要怎么设计?