0

我的数据库中有三个表:Book、Series、Author。

这些都具有彼此之间的多对多关系。

Book - Series: many-to-many
Book - Author: many-to-many
Author - Series: many-to-many

所以,这意味着我必须在我的数据库中再添加三个表:

1. tableBookSeries, which will have id, idBook, idSeries
2. tableBookAuthor, which will have id, idBook, idAuthor
3. tableAuthorSeries, which will have id, idAuthor, idSeries

这意味着我的数据库中将有 6 个表。

有没有办法优化这个数据库或者现在很好?我可以减少桌子的数量吗?这对我有什么好处吗?

4

1 回答 1

0

在我看来,作者 - 系列没有直接关系。作者只写书籍,而这些书籍恰好属于或不属于 Serie。

在数据库中会是这样的(使用 5 个表而不是 6 个):

  1. 书 - 系列:多对多 - 正确
  2. 书 - 作者:多对多 - 正确
  3. 作者 - 系列:多对多 - 不正确(不要这样做)

额外表:

  1. tableBookSeries,它将具有 id、idBook、idSeries - 正确
  2. tableBookAuthor,它将具有 id、idBook、idAuthor - 正确
  3. tableAuthorSeries,它将具有 id、idAuthor、idSeries - 不正确(不要这样做)

避免作者和系列之间的联系。如果您需要知道与作者相关的系列,您仍然可以通过搜索他的书籍来知道。同样,要知道谁写了 Serie,您可以使用关联的 Books 获取作者列表。

希望我有帮助

于 2013-03-22T11:15:50.960 回答