我正在制作广告系统,应该在ATM上显示。目前,我必须建立一个数据库结构,用于存储广告,ATM和客户合规性。
广告系统必须根据ATM和广告选择广告 顾客。
重点是客户没有严格定义。它可以使用其任何属性(卡号,帐户,客户端ID,客户端年龄等)进行过滤。 例如:
如何将这些数据存储在关系数据库中?
我有一个解决方案,但我不喜欢它,我会创建一个表格,SQL将保存原因。 例如:
广告表
Adv_ID
Terminal_ID
状态(值可以是:允许/拒绝)
规则(这里将写入SQL过滤器,用于 例如:"卡像' 1111%'和client_id!= 10230")
screen_id(开启 哪个页面必须显示此顺序)订单(优先级)
你还有其他建议吗?
答案 0 :(得分:1)
您可以尝试设计如下配置:
NUMBER
,VARCHAR
)NOT
(check-constraint)LIKE
,IN
(将覆盖=
和!=
,但您也可以明确地添加它们)这将允许生成所有条件,同时避免拼写错误和SQL注入。我添加了data_type
来检查何时只允许使用数字以及何时需要添加/转义引号。
adv column_name modifier operator values (shown denormalized)
2 atm IN 1
2 customer LIKE 1111%
3 atm NOT IN 1
3 clientID IN 1,2