2

私の質問の背景は次のとおりです。

"User" , "User"という名前のデータベース テーブルには "State" 列があり、その値は "0" (無効)、"1" (通常)、"2" (その他) のいずれかです。

国ごとに異なるテキストの「州」を表示する必要があります。つまり、「0」ではなく「無効」または「禁用」(中国語の文字) を表示する必要があります。

ここで、 「Code」、「Value」、「Locale(Country)」、「Type」という列を持つ「Code」という名前の「マッピング」テーブルを設計します。2 つのテーブル (「ユーザー」と「コード」) を結合してロケールの信頼できる値を表示するか、別のクエリを使用してそれを取得する必要があります (クエリキャッシュを使用できると思います)。

注: 「コード」表の「タイプ」列はコードのカテゴリです。たとえば、「ユーザー」には「状態」があり、「メニュー」には「状態」があります。

あなたの選択は何ですか?そして理由。どうも。

4

3 に答える 3

0

みんな、私は正しい方法を見つけました!プロパティファイル。まず、データベースを使ってみませんか?'state'はディクショナリ列ではないため、biz関連の値が制限されているbiz列です。したがって、システム管理者ではなく開発者がそれらを維持する責任を負う必要があります。プロパティファイルは、開発者がそれを行うための適切な方法の1つです。

于 2012-06-11T06:59:57.100 に答える
0

Code、Value、Locale、および Type を含むテーブルは、State のルックアップ テーブルだとおっしゃっていますか? もしそうなら、それはいいですね。ただし、これらの列の意味について言及していないため、それが正しいアプローチであるかどうかを判断するのは困難です。

また、データへのアクセス方法にも大きく依存します。

SQL クエリで完全な出力を取得しようとしている場合、State と StateDescription の 2 つの列のみを含む State 専用のルックアップ テーブルを作成する方法があります。State のルックアップ テーブルに結合し、StateDescription をプルしてユーザーに表示します。

SSRS などでデータを表示している場合は、State の値に基づいてそこに記述をハードコーディングすることをお勧めします。これにより、クエリからの結合のコストが回避されます。

于 2012-05-31T10:43:17.130 に答える
0

「状態」が常に変化しない場合は、ENUM 列を使用します。

于 2012-05-31T13:47:56.760 に答える