我试图围绕设计我的数据库,这将为每个用户存储多个类别的一个或多个首选项。换句话说,每个用户都可以从“颜色”类别中选择一个或多个选项,从“形状”类别中选择一个或多个选项,依此类推。
我最初的想法是首先拥有一个包含通用用户信息的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
我是在正确的轨道上还是有更好/更有效的方式来设计它。我将设置一个搜索结果页面,允许访问者过滤这些不同的类别。
谢谢!