我对数据库设计非常陌生,并且我从客户那里得到了相当高的订单,他们的数据中有一些非常复杂的关系。我正在尝试做的是根据客户的条件编写推荐产品的逻辑。但是,根据各种其他数据位的值,需要应用一些有趣的过滤器。例如,某些产品仅适用于 {men|women},因此根据 say 的值customers.customer_gender
不推荐该产品。
当然,我可以在 PHP 中完成这一切,但如果我可以在数据库中表示它并让它们成为它的表单接口,那就更好了。这样他们就可以在添加新产品时自定义和修改这些关系,而无需重新雇用我来自定义代码!那么,我的问题是缺乏经验。我不清楚我应该如何在表格中表示这些信息。
编辑1——尝试一个例子
假设您有以下表格:
顾客
id name gender
-- ---- ------
1 Bob male
2 Mary female
3 Steve male
健康)状况
id name
-- ----
1 Headaches
2 Allergies
3 Low Energy
产品
id name description
-- ---- -----------
1 Product A anti-allergy
2 Product B energy booster
3 Product C pain reliever
以及一些使用外键定义它们之间关系的进一步表,例如在什么条件下推荐什么产品(连接产品 id 和条件 id 的两列表),以及什么客户有什么条件。
现在,例如,我有一些只能推荐给男性的产品。或仅适用于对咖啡因不敏感的人。或者谁有某种严重程度的某种条件(其中严重程度是表中连接客户和条件的附加列,包含 1-3 的 int 值)。如何在纯数据库表中表示这些类型的关系(“为条件 Y 推荐产品 X,表达式 Z 除外”)?