MySQL数据库结构(在一列中分配多个值)?

时间:2013-09-04 16:57:25

标签: mysql database-design

我有一个包含单词列表的表。每个单词都有多个分配给它们的类别。最好的方法是什么?

我不想使用集合,因为类别列表不断变化。

我正在考虑使用另一个表格来为类别分配ID,然后在包含单词的表格中添加一个包含类别列表的字段。是否以正确的方式在文本字段中存储ID列表?

3 个答案:

答案 0 :(得分:2)

您可以创建一个将单词映射到类别的表格。

表格中的两列:categoryID,wordID

答案 1 :(得分:2)

你应该有三个表:

  1. word_table(你已经拥有) - word_id,word,...
  2. categories_table - cat_id,cat_name,...
  3. word_cat_table - cat_id,word_id
  4. word_table中的word_id和categories_table中的cat_id是主键

答案 2 :(得分:1)

我同意Biswajit创建三张牌桌。

word_table(你已经拥有) - word_id,word,...     categories_table - cat_id,cat_name,...     word_cat_table - cat_id,word_id

第一个和第三个表之间的关系可以是1-Many,因为一个工作可以是多个类别。