gpt4 book ai didi

database - 在数据库中存储合规性条件逻辑

转载 作者:太空狗 更新时间:2023-10-30 01:52:36 26 4
gpt4 key购买 nike

我正在创建广告系统,它应该显示在 ATM 上。现在,我必须建立一个数据库结构来存储广告、ATM 和客户合规性。

Advertise system must choose an advertise depending on ATM and customer.

重点是客户没有严格定义。它可以使用其任何属性(卡号、帐户、客户 ID、客户年龄……)进行过滤。例如:

  1. On ATM=1 ADV=2 应该在客户使用卡时显示,例如“1111%” On
  2. 除 ATM=1 ADV=3 外的所有 ATM 都应在 (1,2) 中显示 ClientID 时显示


如何将这些数据存储在关系数据库中?

我有一个解决方案,但我不喜欢它,我会用 SQL 创建一个表,其中将保存原因。例如:

advertise table
Adv_ID
Terminal_ID
Status (values can be: Allow/deny)
rule (here will be written SQL filter, for example: "card like '1111%' and client_id !=10230")
screen_id (on which page this adv must be shown) order (for adv priority)

您还有什么建议吗?

最佳答案

您可以尝试这样设计您的配置:

    • 专栏名称
    • data_type (NUMBER, VARCHAR)
  • 广告
    • 进阶
    • seq(分配优先级)
  • 条件
    • 进阶 (FK)
    • column_name (FK)
    • 修饰符:NOT(检查约束)
    • 运算符:LIKEIN(将涵盖 =!= 但您也可以明确添加它们)
    • 值(子表)

这将允许生成所有条件,同时避免拼写错误和 SQL 注入(inject)。我添加了 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

关于database - 在数据库中存储合规性条件逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com