具有多个首选项和类别的关系数据库

时间:2017-03-21 16:55:04

标签: php mysql database

我试图围绕设计我的数据库,这将为每个用户存储多个类别的一个或多个首选项。换句话说,每个用户都可以从“颜色”类别中选择一个或多个选项,从“形状”类别中选择一个或多个选项,依此类推。

我最初的想法是首先拥有一个包含通用用户信息的User表。接下来,会有一个表来存储所有不同的类别:

CATEGORY_ID  |  CATEGORY_VALUE
--------------------------------
1            |  Colors
2            |  Shapes
3            |  Sizes

我将每个类别分成它自己的表格(例如颜色):

OPTION_ID  |  OPTION_VALUE
------------------------------
1          |  Red
2          |  Blue
3          |  Green

最后,我会有一个用户首选项表:

USER_ID |  CATEGORY_ID  |  OPTION_ID
----------------------------------------
1       |  1            |  2
1       |  1            |  3
1       |  3            |  2
2       |  1            |  3

我是在正确的轨道上还是有更好/更有效的方式来设计它。我将设置一个搜索结果页面,允许访问者过滤这些不同的类别。

谢谢!

0 个答案:

没有答案