7

後で別の言語に変換する必要があるデータを格納するテーブルを設計しようとしています。これに関する「ベストプラクティス」またはガイドラインを提供できる人はいますか?

ありがとう

4

4 に答える 4

15

次のような製品テーブルがあるとします。

Products
----------
id
price

Products_Translations
----------------------
product_id
locale
name
description

次に、product_id = product.id と where locale='en-US' に参加するだけです

もちろん、名前と説明を取得するために結合が必要になるため、これはパフォーマンスに影響しますが、後で任意の数のロケールを許可します。

于 2008-09-25T13:34:13.443 に答える
1

「動的データ」の性質を説明できますか?

これを実装する1つの方法は、3つの異なるテーブルを用意することです。

  • 言語表
    • このテーブルには、言語とキーが格納されます。
    [1、英語]、
    [2、スペイン語]
  • データ定義テーブル
    • 動的データが最初に入力されたときに、データの識別子を使用してこのテーブルにレコードを作成します。
      [1、'Data1']、
      [2、'Data2']
  • Data_Languageテーブル
    • この表は、言語、データ定義、および翻訳をリンクします
      つまり、[Data_Language、Data_Definition、Language、Translation]
          [1、1、1、'赤']
          [2、1、2、'ロホ']
          [3、2、1、'緑']
          [4、2、2、'ヴェルデ']

          など..。

動的データが入力されたら、デフォルトの「英語」レコードを作成し、自由に翻訳します。

于 2008-09-25T13:36:44.840 に答える
0

一般に、ローカライズされていない一般的なデータを持つ親と、ローカライズされたデータと言語キーを持つ子テーブルを確認する必要があります。動的とは、頻繁に変更されることを意味する場合、変更が行われた後に変換が必要なものをマークするために、トリガーや「translationRequired」フラグなどの使用を検討することをお勧めします。

于 2008-09-25T13:36:10.147 に答える
0

あなたがしていることについてのより多くの情報が役立つと信じています。データのサンプルをいくつか教えていただけますか? ダイナミックとはどういう意味ですか?時間の経過とともに大量のデータが挿入され、データに多くの変更が加えられること、またはデータが短期間のみ使用可能である必要があること。

于 2008-09-25T13:31:16.180 に答える