問題タブ [linktable]

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.

0 投票する
1 に答える
47 参照

database - ドメイン駆動設計と nHibernate を使用する場合、リンクテーブルをどのように処理しますか?

Groups、Users、Channels というテーブルがあり、それぞれの間にリンクテーブルがある場合、Domain Driven Design と nHibernate でどのように整理しますか? グループには UserCollection と ChannelCollection、User には GroupCollection と ChannelCollection、Channel には GroupCollection と UserCollection がありますか?

また、グループをチャネルに追加する場合、そのチャネルをすべてのグループとともに保存する必要がありますか? さらに悪いことに、チャンネルにユーザーを追加する... チャンネルのすべてのユーザーを保存するには、最初にすべてのユーザーをロードし、次に新しいユーザーを追加してからチャンネルを保存する必要があります (OK、おそらく追加されたユーザーのみが保存されますが、それらをすべてロードする必要があります...)。それとも、リポジトリ AddUserToChannel(User user, Channel channel) または AddUserToChannel(User user, int channelId) にメソッドを作成しますか?

0 投票する
1 に答える
206 参照

domain-driven-design - ドメイン駆動設計のリンク テーブルはどうですか?

Tim McCarthy の著書 .NET Domain-Driven Design with C# には、ドメインで独自のクラスを取得するリンク テーブル (2 つの外部キー + 1 つのブール列) の例があります。これは一般的ですか?

例は Contact テーブルと Project テーブルです。リンク テーブルは ProjectContact です。Project クラスに List of Contacts プロパティを持ち、Contact クラスに List of Projects プロパティを持つ代わりに、クラス ProjectContact を使用することの長所と短所は何ですか?

ProjectContact クラスを使用すると、プロジェクトと連絡先の間の新しいリンクを簡単に永続化できると言わざるを得ませんが、私にはやり過ぎのように思えます。

0 投票する
3 に答える
2520 参照

sql-server - リンクされた SQL Server テーブルを含む MDB をロードすると、ms アクセスがクラッシュする

リンクされたテーブルの束を含んでいた mdb があります。これらのリンクは、別の Access mdb 内のテーブルを指しています。

制御された移行の一環として、すべてのリンク テーブルを反復処理し、接続文字列を ODBC に更新してから、テーブル定義で RefreshLink を呼び出すことにより、これらのリンク テーブルを代わりに SQL サーバー インスタンスを指すように変更しています。

しかし、ODBC リンクを含む新しいデータベースを開くと、Access がクラッシュします。さらに興味深いことに、特定のリンク テーブルを 1 つ (ADO 経由で) 削除すると、データベースを開くことができます。さらに興味深いことに、Access GUI を使用してそのリンク テーブルを追加し直してもクラッシュしないため、SQL Server のテーブル自体には問題がないことがわかります。

そこで、この特定のリンク テーブルが原因で Access がクラッシュする原因を突き止める必要があります。クラッシュに関する情報を得ることができますか? どこから調査を開始できますか?

編集: リンクを更新するか、DSN を使用してまたは DSN を使用せずにテーブルを削除して再作成するなど、リンク テーブルを更新するさまざまな方法を試しました。開くときに mdb がクラッシュするのは同じテーブルであるたびに。

編集 2: 悲しいことに、クラッシュは実際には何らかの形でソース管理にかかっているようです。SCCAPI プロバイダーを無効にすると、クラッシュは発生しません。これを調べる方法はまだわかりません。

0 投票する
1 に答える
100 参照

sql - 2 つのテーブルとリンク テーブルを 1 つの大きなテーブルに変える

この質問を探してみましたが、関連するものは何も見つかりませんでした。だからここに行きます...

私は3つのテーブルを持っています。それらの非常に単純化されたバージョンは次のとおりです。

開業医:

  • practitioner_id :: int
  • name :: nvarchar

保険:

  • insurance_id :: int
  • name :: nvarchar

保険リンク:

  • practitioner_id :: int
  • insurance_id :: int

したがって、開業医テーブルには開業医のリストが含まれ、保険テーブルには保険のリストが含まれ、リンク テーブルはどの開業医がどの保険をサポートしているかを表します。

ここで、次のような情報を表示できるビューを作成する必要があります。

ビューテーブル:

  • practitioner_id :: int
  • practitioner_name :: nvarchar
  • insurance_1 :: bit
  • insurance_2 :: bit .....
  • insurance_100 :: bit

つまり、ビューの列は、開業医の ID と名前、および保険に存在するすべての保険です(列名として保険名を使用します (保険名が一意であるという強制条件があります))。保険の列のセルは、その開業医がその保険をサポートしているかどうかを示します。

これを行う方法はありますか?

それとも、VB.NET フォームの DataSet で Excel スタイルのピボット テーブルを使用できますか? それはまた、私の問題の多くを解決するでしょう.

0 投票する
2 に答える
828 参照

entity-framework - EF でリンク テーブルを使用するときに不要な結合を取り除く

私はこのデータベーススキーマを持っています:

Role テーブルにはいくつかの列がありますが、主キーにのみ関心があり、UserRole の外部キーからそれを取得できるため、Role テーブルに参加する必要はまったくありませんが、方法がわかりませんEFでそのテーブルに参加しないようにします。

私はこのコードを試しました:

これにより、2 つのクエリが生成されます。user テーブルに 1 つ、UserRole と Role の結合に 1 つ。もちろん、.Include("Roles") または SelectMany() を使用して 1 つのクエリに減らすこともできますが、そのクエリでは 3 つのテーブルが結合されます。余分な結合を取り除く方法はありますか? SQL を次のようにしたい:

実際にはオートマッパーを使用していますが、この例は同じ問題を示していると思います。Roles は小さなテーブルなので、今回はパフ​​ォーマンスの低下に耐えることができますが、手書きの SQL ほど効率的ではないことに悩まされています。私の前に他の誰かがこれに遭遇し、解決策を見つけましたか?

0 投票する
1 に答える
108 参照

sql - あなたの意見?-LinkTypeIdによるテーブルのリンク

ファイルとメモを顧客、ユーザー、プロジェクトなどにリンクするWebアプリがあります。最初は、customerNote、userNote、projectNote...などのテーブルがありました。

設計上の考慮事項:
1:N個の2乗テーブル(100を超えるcustomerNote、userNote、projectNote、... customerFile、projectFile ... etcテーブル)を管理
したくない2:動的SQL(TableName from LinkType)
3:リンクテーブルを使用するクリーンな方法がわかりません(100以上のNの2乗リンクテーブルなし)

これで、LinkIdとLinkTypeIdを持つNoteテーブルが1つあります。LinkIdはもちろん、client | User | Project|etcテーブルのPKです。LinkTypeIdは、リンクのタイプを指します。

したがって、この:
SELECT * FROM customerNote WHERE Id = 1210
SELECT * FROM userNote WHERE Id = 3281

現在は次のようになっています:
SELECT * FROM Note WHERE LinkId = 1210 AND LinkTypeId = 2(2は顧客)
SELECT * FROM Note WHERE LinkId = 3281 AND LinkTypeId = 3(3はユーザー)

私はこのアプローチの単純さを楽しんでおり、それらを私が至る所で呼び出す関数にラップしています。

私の質問は次のとおりです
。1:参照整合性がないと、どのようなパフォーマンスやその他の問題が発生しますか?
2:これはスケーラビリティの問題を引き起こしますか?
3:エレガントな解決策はありますか?

これは私の最初のSO投稿であり、皆さんの助けに前もって感謝します。

0 投票する
1 に答える
805 参照

mysql - Linux(Ubuntu)でのSQLServer2008のブリッジとしてのMySQL

Windowsでは、SQL Server(またはMS Access)にリンクテーブル機能があります。基本的に、SQL-ServerとMySQLをリンクすると、アプリがSQL-Serverで何かを書き込むときに、MySQLもODBC接続を介して更新されます。

基本的に、フローは次のとおりです。win-apps-> sql-server 2008->(win-odbc経由)mysql(linux)

ここで、Linux環境のプロセスを次のように逆にします。

私が欲しいフローは次のとおりです:nix-apps-> mysql(linux)->(nix-odbc経由?)sql-server 2008 .. ..

これは可能ですか?

0 投票する
0 に答える
506 参照

hibernate - Hibernate - 1 つのリンク テーブル内の複数の関連付け (外部キー)

私の問題:

hibernate を使用して、3 つの異なるテーブルの主キーを 1 つのリンク テーブルにマップしたいと考えています。

それがどのように見えるかの写真:

http://postimage.org/image/uoqv1p7mz/

オブジェクトを保存するために管理しましたが、選択でロードできません。

まず私のクラス:

システムテナント.java:

SysUser.java:

SysRole.java:

SysTenantSysUserSysRoleAssociation:

オブジェクトが保存されているかどうかをテストするには、次の方法を使用します。

実行後、正しいオブジェクト ID がデータベースとリンク テーブルに保存されます。

ここに私の問題があります:

永続化された sysUser を選択し、次のコードで sysTennantSysUserSysRoleAssocion テーブルの ID によって参照されるロールとテナント HashSet を受け取りたい場合:

リストは null のままです。

選択は正しいですか、それともモデルに他の間違いがありますか?

誰かが私を助けてくれれば幸いです。

ありがとう、

ルー

0 投票する
1 に答える
34 参照

php - リンクテーブルを使用して名前を選択するには?

そのため、そのフォルダーを表示できるかどうかを確認しています(現在、IPが私のホームIPであるかどうかを確認しています)

あなたのアカウントに権利があるかどうかを確認するように、このチェックを更新してください。したがって、user_id = :user_id の gallery_folders からすべての名前を取得したい (はい、pdo ですが、これは問題ではありません)

これは私が行き詰まった場所です。これに追加user_idする方法がわからないので、すべてを取得するだけです(p.folder_id where user_id=:user_id)

必要に応じてデータベース構造:

フォルダ

  • gallery_folders
    • ID
    • 名前

ユーザー

  • gallery_users
    • ID
    • ユーザー名
    • パスワード
    • トークン

リンクテーブル

  • gallery_link
    • ID
    • ユーザーID
    • ギャラリー