我有以下三个表:
products:
product_id,
product_name,
...
categories:
category_id,
category_name,
category_parent_id,
category_priority (for sort ordering),
.....
labels:
label_id,
label_name,
.....
Run Code Online (Sandbox Code Playgroud)
这个想法是,产品分配给一个类别将各内进行分组类别的标签,并以这种方式在网站上列出:
---label1---
product_1
product_2
product_3
---label2---
product_4
product_5
---label3---
product_6
product_7
product_8
product_9
etc.
Run Code Online (Sandbox Code Playgroud)
我不知道如何设计一个关联表(或多个表)将所有这些粘合在一起并防止这样的异常:
---label1---
product_1
product_2
---label2---
product_2
product_3
Run Code Online (Sandbox Code Playgroud)
同时,我想允许一种情况,即当没有足够的产品来证明其合理性时,不会为某个类别分配标签。
是否有可能设计一个将它结合在一起的结构,或者我应该“放弃所有希望”并采用这样的方法:
categories:
category_id,
category_name,
category_parent_id,
categor_is_label,
category_priority
products:
product_id,
product_name,
...
Run Code Online (Sandbox Code Playgroud)
加上下面的关联表:
categories_products:
category_id,
product_id,
priority
Run Code Online (Sandbox Code Playgroud)
并处理应用程序中的所有逻辑和异常检查?
我假设用户不能直接访问数据库。
对于那些有兴趣深入讨论手头业务背景的人,您可以访问此聊天室。