设计具有许多类别列的表的最佳方法

时间:2017-04-07 05:01:17

标签: mysql database

我有一个包含

列的书表

书籍标题描述作者类别1类别2类别3

100001 Micro blah blah Michael Crichton SciFi动作之谜

但是可用的类别大约是每本书22本3 任何类别列都可以包含任何类别

为了搜索这个设置,它变得非常困难,到目前为止已经列出了大约6000本书。

在数据库设计中执行类别以使搜索更容易的最佳方法是什么? 我尝试给他们所有的索引列,但这导致表抛出1070错误。 在此先感谢加里

1 个答案:

答案 0 :(得分:1)

试试这个架构:

  • book_detail:使用自动递增ID
  • 保存与图书相关的信息
  • 类别:使用自动递增ID
  • 保存其中的类别列表
  • book_category:保存图书的映射 - >类别,它是一对多的映射,意味着一本书可以通过其主键映射到不同的类别,如:

book_detail.id -> category.id