だから私は3つのテーブルを持っているとしましょう。
ラングテーブル
[id] [Eng] [Jap]
0 "Fire" "ほのお"
...
12 "Water" "みず"
13 "Math" "Whatever"
...
このテーブルは、ゲームのユーザー インターフェースを読みやすくするためのデータの翻訳のみを保持するため、多数の他のテーブルによって共有されます。
一部のデータ
[id] [data]
0 0
1 12
...
一部のデータは次のように表示されます: (現在の作業)
[id] [data]
0 "Fire"
1 "Water"
...
このデータベースでは、火は0です。しかし、私はそれを直接リストしません。
水は id 1 として設定されていますが、その名前はプログラムにとって直接重要ではないため、別のテーブルに格納されています。
SomeDataRelationship
[id] [Somedata1] [Somedata2] [effectiveness]
0 0 0 1
1 0 1 0
...
SomeDataRelationship は次のように表示されます: (動作していません)
[id] [Somedata1] [Somedata2] [effectiveness]
0 "Fire" "Fire" 1
1 "Fire" "Water" 0
...
私の「SomeData」間の関係を示すこの最後の表では、0 は、発射を意味する SomeData.0 が通常有効なエージェントの発射であることを示しています。そして、行 1 は、火を意味する somedata.0 が、somedata.1 である役に立たないエージェントの水であることを示しています。
しかし、私の質問に関しては、このデータ戦略はうまく機能し、ゲームはうまく動作しますが、... 新しい関係を示すためにデータを入力する場合、直接読み取るのは本当に難しいです。
アクセスでは、このようなクエリを使用して名前を表示する、似たようなものを見ました。ルックアップで、IDを非表示にします。
SELECT [LangTable].[ID], [LangTable].[Eng] FROM LangTable ORDER BY [ID], [Eng];
これにより、アクセス テーブルのドロップ ダウン メニューから [Fire] を選択できるようになりますが、保存されるデータは実際の数値です。
簡単に言えば、関係テーブルのドロップダウンメニューに「火」を表示しようとしています。ルックアップを使用して ID を非表示にできることはわかっていますが、別のテーブルでは機能しないようです。
最終的な結果として、Langtable には、他のテーブルの dossens によって使用される単語ペアリングへの ID が必要になるはずです。
Somedata テーブルは数値で構成されている必要がありますが、単語として表示されます (既に機能しています)。
また、関係テーブルも数値で構成する必要がありますが、数値は somedata テーブルの ID ですが、lang テーブルの単語として表示されます。