問題タブ [lookup-tables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
many-to-many - ユーザーが入力したデータを使用して多対多のルックアップテーブルを実装するための最良の方法
ユーザーに1つ以上の連絡方法(電子メール、電話、ファックス、その他)を選択してもらいたいとします。また、他を選択した場合は、独自の単一の連絡方法を入力できます。これをデータベースに保存する最良の方法は何ですか?私は3つの可能性を見ます:
- set datatype列に加えて、単一の「other_contact」varchar列を使用して、オプションのユーザー入力値を格納します。
- 多対多、およびユーザーが入力した列を使用します。したがって、userテーブル、contact_methodテーブル、および2つを接続するuser_contact_methodテーブルがあります。さらに、user.other_contact varchar列を使用して、ユーザーが入力したオプションの値を格納します。
- 多対多を使用するだけです。2と同じ設定ですが、ユーザーがcontact_methodテーブルにエントリを追加できるようにします。ただし、これは、「システム」値を追跡するために列を追加する必要があることを意味します(これらはユーザーが変更または削除することはできず、これらのみがドロップダウンに表示されます)。さらに、ユーザーが入力した値を変更できるように、ロジックを追加する必要があります。
上記についてのコメント、またはより良い解決策はありますか?
nhibernate - データベースと O/RM の列挙
テーブルのエントリに都市、国などのタイプを持たせたいとしますRegions
。O/RM (私の場合は NHibernate) を使用すると仮定すると、このタイプを格納する受け入れられた方法は何ですか? 2 つのオプションが表示されます。
- C# bussines レイヤーに型を含む列挙型を持ち、型を a として
tinyint
テーブルに格納します。 RegionTypes
タイプ識別子 (文字列または整数)を含むルックアップ テーブルを用意し、それらをRegions
テーブル内で参照します。
2 番目のアプローチは、データベースの観点からはより合理的と思われます。これは、外部キーの制約があり、さらに、地域の型に関する追加データを持つことができるためです。たとえば、都市は国の子型です (そして SQL Server 2008 を使用しているため)。空間機能、実際には空間操作のためにこの情報が必要です)。ただし、C# の観点から見ると、基本的にエンティティを持っていて、RegionType
それをリージョンに割り当てるたびにデータベースからロードする必要があります (NHibernate では型をルックアップテーブルに格納する場合は列挙型)。これは、リージョン タイプが基本的に固定されており、変更される可能性が低いことを知っているため、このような単純なタスクには少し面倒です。
DayOfWeek
変更される可能性が低い、または追加のプロパティを持つ可能性が低いなど、ルックアップ テーブルとエンティティが必要な他の型についてはどうですか?
c# - C# のロジック ツリーでの混合型
テーブルから生成されたコードに置き換える方法を検討している醜い論理ツリーがあります。いくつかのことに基づいて分岐します。
- の長さ
List<AbstractType>
- リスト内の実際の型
- フラグ
enum
私の基本的なアイデアは、入力テーブルから何らかの決定木を構築することです。リストの長さとフラグについては簡単 (a switch
) ですが、型ビットについてはどうでしょうか?
この質問は、ポリモーフィズムが良い考えであることを示唆していますが、それは私の場合、懸念を混ぜ合わせてコードを4つの風にまき散らします(とにかく生成には向いていません)。他の提案された解決策 ( IDictionary<Type, DelegateType>
) は機能するかもしれませんが、少し見苦しく見えます。
誰にも何か提案はありますか。
c++ - メンバ関数ポインタはコピー コンストラクタを呼び出しますか?
コードでメンバー関数のルックアップ テーブルを作成しようとしていますが、「コピーできない」クラスを拡張してブロックしたコピー コンストラクターを呼び出そうとしているようです。私が持っているのは次のようなものです。
エラーは、'(this->...' 行がコピー コンストラクターを呼び出そうとすることですが、これは表示されません。
ruby-on-rails - 選択ボックスでルックアップ テーブルの値を取得するにはどうすればよいですか?
アジャイルの本と一緒に読むと、脚注に次のように書かれています。
... ルックアップ テーブルで find(:all) を実行した結果を select ヘルパーに渡すだけです。
わかった ...
ソース コントローラ (およびテーブル) は次のようになります。
しかし、私の選択ボックスは混乱しています。すべての値と表示でこのタイプのデータを取得します。
だから私はやってみましたSource.find(:all, :select => 'name,id')
が、それでも奇抜な見た目になります。
私は何を間違っていますか?
iteration - オマハこんにちはハンドエバリュエーター
現在、キースルールのテキサスホールデムハンドエバリュエーターをオマハに移植しようとしています。
アルゴリズムについてもっと考えた後、私は手に適切なパーセンテージを与え、すべてがうまくいく解決策を見つけました。
しかし、それは本当に遅いです。どうすればスピードアップできますか?
私が今しているのは通常の5枚のカードの手を調べることだけなので、LUTは私にぴったりかもしれません。以前に統合した人はいますか?
sql - 別のテーブルを参照せずに列に制約を設定できますか?
3つの可能な文字列のうちの1つだけを持つべきテキスト列があります。制約を課すには、別のテーブルを参照する必要があります。代わりに、別のテーブルを参照せずに、制約の値を列に直接配置できますか?
sql - SQLルックアップテーブルをフラット化/非正規化する最良の方法は?
私はこのようなテーブルをたくさん持っています:
しかし、私はこのようなフラット化されたバージョンが必要です:
これを行う方法がわかりません。考えられる最善の方法は、一時テーブルを作成し、122列すべてを定義してから、>_<If Exists ( SELECT * FROM PatientRisksOnCheckup where RiskID=i and checkupID=j ) INSERT INTO PatientCheckup (1) WHERE CheckupID=j
を繰り返し実行することです。i, j...
1つのテーブルに対してこのクエリを作成するのは最善ではありませんが、同じサイズの別の30のテーブルに対してこのようなデータをフラット化する必要があります。えーと…提案してください?
私がしていることが一般的なことであるかどうかも知りたいです...?
統計ソフトウェアのSQLデータを非正規化/フラット化する必要があります。
python - Python の小さなテーブル?
次のように、異なるプロパティを持つオブジェクトが 1 ダースまたは 2 ダースしかないとします。
UID、名前、値、色、タイプ、場所
Location = "Boston" または Type = "Primary" のすべてのオブジェクトを呼び出せるようにしたいと考えています。古典的なデータベース クエリ タイプのもの。
ほとんどのテーブル ソリューション (pytables、*sql) は、このような小さなデータ セットに対しては実際にはやり過ぎです。すべてのオブジェクトを繰り返し処理し、データ列ごとに個別のディクショナリを作成するだけでよいでしょうか (新しいオブジェクトを追加するときにディクショナリに値を追加します)。
これにより、次のような辞書が作成されます。
{'Boston' : [234, 654, 234], 'Chicago' : [324, 765, 342] } - これらの 3 桁のエントリは、UID などを表します。
ご覧のとおり、これをクエリするのは少し面倒です。
代替案はありますか?
lotus-domino - LotusNotesの@DBColumn
私はLotusDominoDesignerの学習を任されており、前世で何をしたかはわかりませんが、かなり悪かったに違いありません...データベースを検索して選択値を取得する方法を考えていました。この情報は多くのアプリケーションで使用される可能性があるため、1か所にのみ配置することをお勧めします。
@DBColumnを使用できると収集しましたが、そのルックアップのエントリが変更された場合はどうなりますか?ルックアップの一意の値がテキストである場合、関係は壊れますね。リレーショナルルックアップのアイデアを模倣する方法はありますか?
これはルックアップの本当の制限のように思われるので、私はロータスの開発を間違った角度から見ていると思います。
インターウェブ上でまともな学習資料を見つけられなかったので、助けていただければ幸いです。
Ta