この問題のデータ構造を判断するのに助けが必要です。データはタイプとサブタイプがあり、主にサブタイプはnullですが、ごく少数のタイプではサブタイプに値があります。別の表で使用できるソース表からデータを読み取る必要があります。この情報をすべて格納するためにアプリケーションで使用できるデータ構造はどれですか?アプリケーションには、Type_idに関する情報はありません。そのデータベースのためだけです。したがって、Type、SubType、Source Tableをデータ構造体に保存する必要があります。 この特定の問題に使用するデータ構造はどれですか?
答えて
なぜ2つのクラスを使用しないのですか?
タイプは、サブタイプインスタンスフィールドを持つメインクラス(nullでもかまいません)です。
class Type
{
public SubTypeClass SubType {get; set;}
public string Id {get;set;}
}
私はそれがconfiguratble作るために しようとしているため、クラスを使用する必要はありません。すなわち 我々はタイプテーブルに新しい列 を追加すると、本当に必要でない限り、アプリケーション がピックアップ新しい列
が、私はこれに反対をお勧めしなければならないことができるはずです。通常、データベーステーブルが本当に正当な理由で変更され、アプリケーションデザインの見直しが必要な場合...列が狂って成長する可能性のあるテーブルがあれば、データベース設計はおそらくあまり良くないとは確かに形式化されていません(標準SQLデータベース)。
sub_typeは本当に素晴らしい定義ではなく、私はそれを分類の例として使用していると仮定します。あなたが見つけ出すように銀色の弾丸データ構造を作成しようとしないでください。それはそれが解決するより多くの問題をもたらします。特定の関連するデータテーブルが変更された場合、あるクラスを変更すると、良い設計では、直接SQLクエリよりもうまく機能するすべてのクラスに良い結果が得られるほど大したことではありません。
編集:どのようにデータを知らなくても
SELECT table1.Type, table1.SubType, table2.Source from table1 JOIN table2 on table1.type_id = table2.type_id;
エンド編集
:
のようなクエリを使用してDBからタイプ/サブタイプ/ソースのタプルを取得します。を使用する場合は、次の操作を行うことができます。
(シングルタイプ/サブタイプ/ソースタプルを表します)columnDataはに挿入、それは次のように行われることになるとき:
columnData.put("Type", type);
columnData.put("SubType", subtype);
columnData.put("Source", source);
この方法は、新しい列が追加されたとき、あなたはクラスの構造を変更する必要はありませんDBに。
そして、あなたが使用することができ、その後、メインアプリケーションでは、:もちろん
List<MyData> list;
を、この答えは、このデータがどのように使用されるかに応じて変更することができます。
Type-Sub-Type-Sourceをマッピングするにはどうすればよいですか?つまり、型とサブタイプに基づいてソースを検索/取得するにはどうすればいいですか?リストへの入力は、タイプとサブタイプです。ソースを取得したいですか? –
質問で、プログラムでType_idが利用できないと言った場合、SQLクエリを使用してType/SubType/Sourceタプルを生成します。SELECT table1.Type、table1.SubType、table2.Source from table1 JOIN table1.type_id = table2.type_idのtable2。次に、これらのタプルをプログラムに供給することができます。また、質問のType/Subtypeに基づいてSourceを検索/取得したいという事実を記入してください。 – Davidann
- 1. ここで使用するデータ構造はどれですか?
- 2. この特定のケースで使用するデータ構造は何ですか?
- 3. このデータ構造には何が問題なのですか?
- 4. ジオコーディングに使用するデータ構造はどれですか?
- 5. データ構造の問題
- 6. 使用するC#データ構造体はどれですか?
- 7. 私のデータ構造に何が問題なのですか?
- 8. どのデータ構造を使用すればいいですか
- 9. ベストプラクティス/構造PHP AJAXはこれがベストプラクティス/構造の問題である
- 10. この問題を解決するために使用できるデータ構造またはデザインパターン
- 11. 構造体データ型のリンクリストの問題
- 12. マトリックスベースの問題を扱うデータ構造
- 13. この問題のベストデータ構造ですか?
- 14. このデータのどのデータ構造ですか?
- 15. このデータを最もよく表すデータ構造はどれですか?
- 16. どのC#データ構造を使用すべきですか?
- 17. 私は特定のデータ構造の名前が必要です
- 18. 特定の決定構造を使用せずにC#で宿題をするにはどうすればよいですか?
- 19. どのデータ構造を使用するか
- 20. このデータ構造の使い方は?
- 21. C#特定の値に対してソートするデータ構造
- 22. グループ化された棒グラフのデータ構造の問題
- 23. この操作のためのどのデータ構造ですか?
- 24. grubから来るこのCのデータ構造をどのように使用するのか、私は
- 25. 構造体に関する問題
- 26. C# - 設定ファイルに使用されるデータ構造
- 27. 構造体でこれを使用することのオーバーヘッド
- 28. dexieで特定のデータ構造体のクエリを構成する方法
- 29. C構造体の問題
- 30. リスト/ Dict構造の問題
あなたはデータ構造またはクラス構造を求めていますか? –
私はそれを構成可能にしようとしているので、クラスを使用したくありません。すなわち、型テーブルに新しい列を追加することができ、アプリケーションは新しい列を取得する必要があります。これらの値はすべてアプリケーションキャッシュに保存する必要があります。したがって、タイプおよびサブタイプIの特定の組み合わせに対するアプリケーション要求ソーステーブルがデータ構造からそれを取り出すことができるときはいつでも。私は2つの辞書を使うことを考えました。私は型と他の型のいずれかの型とその他の値をソーステーブルに与えます。しかし、辞書はここで重複した値を許可していませんtype_id 3広告4タイプはC –
このデータに対して実行する操作は何ですか?このデータはどのように使用されますか? – Davidann