用于PHP书籍搜索的数据库,如何根据书籍存储多个不同数量的作者

Sha*_*ung 1 php mysql database schema

我正在寻找关于什么是与多位作者存储书籍的最佳方式的建议.目前我有它像BookID,标题,作者,年,(等等),但我被问到如果一本书有多个作者,我想在数据库中搜索另一位作者的书.像BookID,Title,Author,Author1,Author2,Autho3r,Author4,Year一样愚蠢,大多数时候,author1之后的任何东西都是null.

我知道我刚解释的内容可能令人困惑,但最好的方法是存储多个不同数量的作者.

谢谢

due*_*lsy 6

你需要三张桌子.

- books
- authors
- author_book
Run Code Online (Sandbox Code Playgroud)

书籍表仅存储有关该书的信息.

authors表仅存储有关作者的信息.

author_book表存储两个表之间的链接,只包含它们的id(author_id,book_id)

这是常见的做法,被称为many-to-many关系.

有关详细信息,请参阅此处:http://en.wikipedia.org/wiki/Many-to-many_(data_model)