0

我有两张桌子。

用户类型

  • (1)个人
  • (2)业务
  • (3)学生

关系猫

  • cat_id
  • 猫名
  • 用户身份
  • 用户类型

首先Relationship_cat,我希望一个条目看起来像这样

cat_id(1), cat_name(interests) ,user_id(ANy user), user_type(only 1 and 3)
cat_id(2), cat_name(news) ,user_id(ANy user), user_type(only 2 and 3)
etc

user_type相信我可以将其设置为 0 作为默认值,因此它不受任何用户的限制。我该如何处理这个"relationship_cat > user_type"案子?我是否使用逗号分隔的值列表?它有效率吗?如果有很多User_types条目增加怎么办?

4

2 回答 2

3

您应该使用多对多连接表。因此,您的架构可能如下所示:

用户类型

  • user_type_id
  • 用户类型值

类别

  • cat_id
  • 猫名

categories_to_user_types

  • cat_id
  • user_type_id

任何时候您可能会考虑使用您提到的逗号分隔值,这应该是您进一步规范化表格的标志。我所展示的通常是表达表之间多对多关系的最佳方式。

于 2013-01-19T00:35:23.497 回答
1

如果您需要在单个列中存储多个值,我建议您引入另一个表,以将这些关系存储为一对多关系。将其命名为 Relationship_cat_user_type 并将 cat-Id 和 user_type_id 值存储在该表中。这最适合标准化。

祝你好运。

于 2013-01-19T00:37:24.867 回答