我有一个需要将某些项目分配给访客的场景。用于存储和评估规则表达式的数据库设计
GuestTable has columns like
1. Guest ID
2. GuestType
3. Age
4. Height
5. Gender
ItemTable has columns like
1. ItemID
2. Item Name
每个项目是基于项目的可用性以及客人的属性,即年龄组或高度范围等
如卖给客人。 每周一和周二,男性水疗客人以及酒店客人的身高大于5英寸且小于5英尺5英寸的时候,酒店将于下午2点至6点和下午6点至8点提供一件物品。
由于过滤条件的数量很大,并且可由最终用户配置。系统应该具有足够的可扩展性以适应新的过滤标准,我应该如何管理这些规则。将这些规则作为表达式存储在数据库表中可以吗?如何为这种情况建模数据库表?
或
我应该考虑使用一些规则引擎吗?
听起来您正在创建自己的表达式构建器,因此您需要向用户展示所有可能的列和运算符列表(+, - ,<等)。我怀疑你需要将它转换成有效的WHERE条件,将它作为文本存储,并使用动态SQL来生成结束查询。或者,您可以创建一个包含大量参数的SSRS报告以显示有效项目的报告。只有评论,因为我希望有人有更好的建议。 – 2013-05-05 20:34:52
没有关于如何应用规则的设计,那么您如何获得关于如何存储规则的答案。特定于某个项目的规则是什么?真的,你有一件你不会在5'5以上卖给客人的东西?库存如何?不能出售你没有库存的物品。缺少这么多东西。 – Paparazzi 2013-05-05 20:36:22
@Blam - 鞋跟高跟鞋堆放? – APC 2013-05-06 06:56:14