我正在制定一个审核系统,根据问卷调查结果显示产品评论。
示例:
如果有人选择意大利菜,番茄,0至10美元,那么用户会看到(例如)20种比萨饼,并显示其他用户的评论。 但我们只想展示已经过问卷调查的完全相同结果的产品(我们称之为协议)。
Table: questions
-----------------------------------
| id | question |
-----------------------------------
| 1 | What food do you like |
-----------------------------------
| 2 | Which vegetables do you... |
-----------------------------------
Table: possible_answers
-----------------------------------
| id | question_id | answer |
-----------------------------------
| 1 | 1 | Italian |
-----------------------------------
| 2 | 1 | French |
-----------------------------------
Table: products
---------------------
| id | product |
---------------------
| 1 | Pizza Salami |
---------------------
| 2 | Pizza cheese |
---------------------
从数据库的角度来看(我们正在使用mySQL),我想知道如何存储附加到每个评论的协议
[OPTION 1]
Table: reviews
---------------------------------------------------------------------------
| id | product_id | answer_q1_id | answer_q2_id | answer_q3_id | rating |
---------------------------------------------------------------------------
| 1 | 2 | 3 | 57 | 166 | 4 |
---------------------------------------------------------------------------
| 2 | 25 | 3 | 57 | 166 | 5 |
---------------------------------------------------------------------------
[/OPTION 1]
[OPTION 2]
Table: reviews
-------------------------------
| id | product_id | rating |
-------------------------------
| 1 | 2 | 4 |
-------------------------------
| 2 | 25 | 5 |
-------------------------------
Table: protocol
-----------------------------------------------
| id | review_id | question_id | answer_id |
-----------------------------------------------
| 1 | 1 | 1 | 3 |
-----------------------------------------------
| 2 | 1 | 2 | 57 |
-----------------------------------------------
| 2 | 1 | 3 | 166 |
-----------------------------------------------
[/OPTION 2]
通常情况下,我选择的是选项2,这只是感觉'更好。但我不确定如何查询协议表以获得问卷(协议)中特定路径的所有产品评论。例如,当用户回答意大利语,菠菜,0-10'时,如何使用选项2找出哪些产品评论与答案组合一起使用(选项1显然如何执行此操作) ?
我希望我已经很好地解释了这一点,并且我期待着从社区中阅读这些想法。
非常感谢,
梅西。