1

私はそのデータベース図(MySQL)を持っています。それぞれBookにが割り当てられていBookLanguageます。それぞれBookLanguageに2つの異なるものがありますLanguageNames(グローバリゼーションの目的)。また、それぞれBookに追加を含めることができますBookLanguage (ただし必須ではありません)

そして、ここに問題があります-それを検索するためのSQLクエリを構築している間、私はここで立ち往生していBooksますBookLanguageNamesBookLanguageとを結合してクエリを作成するのは簡単ですBookLanguageNamesが、どのように対処するのAdditionalBookLanguagesですか?

ここに画像の説明を入力してください

4

1 に答える 1

1

データベース設計を簡素化するのはどうですか?3つのテーブル(どちらもあなたのテーブルと同様の構造)を持ち、代わりにBook「ルックアップテーブル」を持ちます- :BookLanguageNameAdditionalBookLanguageBookLanguageBookLanguage

  1. Book-ここでは、本に関するすべての情報を保持します。
  2. BookLanguage--BookID、BookLanguageID(またはCode)、ブールis_additionalの3つの列のみ。BookIDとBookLanguageIDは複合主キーになります。
  3. Language-ここでは、特定の言語に関連するすべての情報を保持します。

このような場合、クエリの記述が簡単になります。

于 2012-11-07T14:03:05.390 に答える