2011-11-08 6 views
4

このデータベースは、モンゴル語、英語、中国語の3通りの相互参照をサポートするとともに、各言語ごとに独自の辞書として立つ必要があります。Cross Referenceble多言語辞典データベースをどのように構築すればよいですか?

英語のためにエンコードされた情報は、のようなもの含まれます:ワード、IPAの発音(s)は、定義(s)は、例文(s)は、複数の綴り、複数の発音、同義語、反意語、単語の種類、研究ノートを(s)は、中国と同等(s)は、モンゴルC.相当(s)は、モンゴルS.相当(S)

中国:従来の文字、簡体字、定義(s)は、ピンインの発音(s)は、例文、同義語、反意語、HSKテスト・レベル、ストローク、ラディカル、ルックアップ・ラディカル、コラボレーション・メジャー・ワード、ワード・タイプ、文字の簡単な説明、文字の深い説明、研究ノート、モンゴル人C.当量(複数可)、モンゴルS.当量(S)

モンゴルキリル:キリル語、キリル定義、キリル文字定義(S)、キリル例、C。同義語、c。アントニム、中国語に相当するもの、内モンゴル語(スクリプト)に相当するもの、モンゴル語の​​スクリプトに相当するもの、Eng。 Equiv。(s)、Chin。式

モンゴル語の​​スクリプト:スクリプト、スクリプト代替終了、スクリプト定義、スクリプト定義、s。同義語、s。アントニム語のタイプ、研究ノート、英文。 Equiv。(s)、Chin。外モンゴル語(キリル文字)相当の意味、モンゴル語キリル文字相当のスペル。

私はデータベースで非常に新しいです。最初は各言語の表を作ることを考えましたが、これは複数の項目すべてに問題を残します。 今私は、必要なすべての情報を含めることができなくなることを防ぐために、各言語の各項目ごとにテーブルが必要かどうかと思います。私は考えていた、各エントリの言語間のリンクは、ID/PKのベースになります。

  1. 私はデータベースについて正しい考えを持っていますか?
  2. このように多くの情報を含める場合は、複数の値を含む可能性のある各アイテムには独自のテーブルが必要ですか?
  3. しかし、これは編集が簡単で、それぞれがPKでリンクされていると、1つのインターフェースから言語(またはクロス言語)のすべての値を編集できます。
  4. 複数のエントリがいくつあるのかわからないという問題はどうでしょうか。例えば、いくつかの単語は、より多くの等価物、または他のものと同じ言語同義語を有することができる。これは問題なのですか、それともテーブルに列を追加するだけですか?問題ありませんか?
+1

回答に投票したり、回答を受け入れることは慣例です –

+0

私はまた、ほぼ同じプロジェクト(モンゴル語、英語、C hinese辞書)。私は他の誰かがすでにそれに取り組んでいたことを知らなかった。あなたはこれで終わりましたか、それ以上のことはありましたか? – Suragch

+0

あなたのプロフィールから、あなたは時々ログオンすることがあります。あなたはこれ以上これを追求しましたか? – Suragch

答えて

4

私はすべての言語の統一構造を持っています。これにより、メンテナンスが容易になり、エディタを書くことができます。

また、私はnormalizeという属性を使用しているため、多数の繰り返しまたは未使用の列がありません。これは、属性が複数の定義や複数の複数の形式のような複数の値を持つことができる場合にも役立ちます。

これは私が始めようとしている方法です。私は常に数値IDを使用するかどうか、外部キー制約が適用されているかどうかなど、多くの設計上の決定を開いたままにしています。テーブル名と主キーs)。

  • 表:word_language(ドメインテーブル)
    • word_id:数、おそらく自動インクリメント。主キー、FKからword_attributes
    • 言語(_id):文字列(例: "英語")、FKから "languages"ドメインテーブル、またはその両方
    • name(オプション、属性でもあります)文字列、単語をword_id
      • word_attributes(多くの1つ)::(例: "ランプ")
    • 表の主キー、FKは(
    • 属性をword_languageする_id | _key ):FKから "属性"へのいずれかメインテーブルは、文字列(例えば、 "複数")、またはその両方
    • ATTRIBUTE_VALUE:文字列、実際の値(例: "ランプ")
  • 表:言語(オプション、ドメインテーブル)
    • 言語(_id):どちらかの自動インクリメント数または文字列(例:英語)主キー
    • 名(オプションは、言語場合は、idである場合に使用):文字列(例:「英語」 )等
    • (他の有用な列は、 )の言語をINGの
  • 表:(オプション、ドメインテーブル属性
    • 属性(_id | _key):数値または文字列、主キー
    • 言語(_id)(オプション):言語に含まれる属性を調べるのを簡単にします。主キーの一部
    • 説明:属性を記述します。おそらく編集ツールに表示される内容です。
  • 表:をsource_word_id
    • (オプション、多くに多く、またあり得る属性):キープライマリワード
    • destination_word_id:同等の単語を別の言語に