我为一个有这些表的系统工作:
products
,categories
,features
用户希望动态添加color
等功能。
以下哪种方式属实?
第一个:
Product category feature
---------------- ---------------- ----------------------------
pro_id (PK) cat_id (PK) feature_id (PK)
pro_name cat_name fea_name
cat_id (FK) feature_id (FK)
我们添加了color
这样的功能,然后在类别中我们选择该功能并将其添加到类别表中。然后我们访问该类别中的所有产品。
但是有一个太过分了。因为当两个类别想要拥有color
功能时,我们必须在类别表中重复feature_id
列。
第二个:
Product category name_feature
---------------- ---------------- ----------------------------
pro_id (PK) cat_id (PK) name_feature_id (PK)
pro_name cat_name cat_id (FK)
cat_id (FK) color
...
当我们输入一个类别时,我们会为该类别创建一个表。例如具有color
功能的笔记本电脑类别。我们创建了一个名为laptop_feature的表,其中包含列。
哪种方式好? (类别有限)
答案 0 :(得分:1)
创建一个新表
feature_category
--------------------
feature_id (FK)
cat_id (FK)
这可以让您将常用功能链接到多个类别。 - 不要为每个类别制作一张桌子:)