0

我有一个数据库,其中存储了大量用户创建的产品。用户还可以创建作为容纳这些产品的容器的“视图”,我们将它们称为类别。如果每个产品都有一个包含类别 id 的类别字段,那就很简单了,但是每个产品都可以添加到多个类别中,这样就行不通了。目前,我通过在类别表中有一个字符串字段“产品”来解决这个问题,该类别表是一个以逗号分隔的产品 ID 列表。我想知道的基本上是这样做是否“可以”?是否被普遍接受?它会导致某种我没有意识到的问题吗?最好创建另一个名为 productsInCategories 的表,它有 2 个字段,一个带有 category-id 和一个带有 product-id 并以这种方式将它们链接在一起?这些方法中的一种会表现得更好还是以其他方式更好?

如果这很重要,我现在正在使用 sqlce,但这很可能很快就会改变。

4

1 回答 1

1

我会选择第二种选择:一张单独的桌子。

如果您需要从产品角度进行查询,则更容易处理。此外,加入类别将简单快捷。这正是关系数据库的用途。

想象一个简单的查询,比如产品属于哪些类别。使用您的解决方案,您需要逐个检查所有类别,解析每个类别的 csv-list 以查找产品。使用单独的表是一个干净的查询。

于 2013-05-11T08:46:55.533 回答