1

我有那个数据库图(MySQL)。每个Book人都分配了一个BookLanguage. 每个BookLanguage都有两个不同LanguageNames的(全球化目的)。而且,每个都Book可以有一个额外的BookLanguage (但不是必需的)

这就是问题所在 - 我在构建用于搜索的 SQL 查询时被困在这里Books,其在BookLanguageNames. 通过加入来构建查询很简单,BookLanguage但是BookLanguageNames如何应对AdditionalBookLanguages

在此处输入图像描述

4

1 回答 1

1

如何简化数据库设计?有三个表BookBookLanguageName(它们的结构都与你的相似),而不是AdditionalBookLanguageBookLanguage有一个“查找表” - BookLanguage

  1. Book- 在这里您保留有关书籍的所有信息。
  2. BookLanguage- 只有三列:BookID、BookLanguageID(或代码)和一个布尔值 is_additional。BookID 和 BookLanguageID 将是复合主键。
  3. Language- 在这里您保留与特定语言相关的所有信息。

在这种情况下,编写查询会更容易。

于 2012-11-07T14:03:05.390 回答