問題タブ [self-referencing-table]

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 に答える
230 参照

database - トリプルセルフリファレンス?

3 つの自己参照を持つことが正しいのか、それともこのシナリオに立ち向かう方法が他にあるのかはわかりません。

テーブル/エンティティ「動物」(ID、名前、説明などのすべての種類の基本フィールドを含む)があり、特定の動物(犬など)を表現したい:

一部の動物(たとえば、亀や牛)を「愛し」、他の動物(猫、鶏)を「嫌い」、他の動物(豚や馬)に対して「中立」です。

このスキーマをモデル化する唯一の可能な方法は、写真のようなものです。3 つの関係は多対多 (NM) であるため、動物間の関係を格納するためにさらに 3 つのテーブルを作成することになります

ここに画像の説明を入力

シナリオを表現するためのより良い方法はありますか? 私は何かを見逃していますか、何か間違っていますか?

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

java - 休止状態でのSQL実行の順序を変更する方法

順序付けされた子を使用して、双方向の親子設計をモデル化しようとしています。

親から子 (例: 3 つの子のうちの子 #2) を削除すると、「削除」(ターゲット) の前に「更新」(兄弟) が実行されるため、休止状態で生成された SQL で一意制約違反が発生しました。

私が使用している RDBMS (H2) は、遅延制約をサポートしていません。次のオプション以外にどのようなオプションがありますか?

  • スキーマから一意の制約を削除します
  • 休止状態に依存するのではなく、自分でソートを明示的に管理します

'update' の前に 'delete' を指定して休止状態で SQL を生成する方法はありますか?


フォーラムで見つかったいくつかの古い議論:

コレクション内での DELETE と INSERT - 実行された SQL の順序


DB スキーマ:

クラス:

HBM マッピング:

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

sql - 単一のSQLクエリとLinqクエリで複数の親のすべての子を見つける

次のようにSELECTクエリを実行する必要があります。LINQSQL

そして私Tableは:

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

mysql - Laravel - 自己参照テーブルのクエリ

私は、ニュースとそれぞれの翻訳を子として自己参照するテーブルを持っています。私が探しているのは、インデックス ニュース ページに表示する各親ニュースの翻訳言語をクエリすることです。インデックスニュースページには、すべての親ニュースを表示するテーブルがあります:

  • 題名
  • 親のニュース言語
  • 子供のニュース言語 (翻訳) (これは私の問題です!)
  • 編集
  • 消去

これにより、ニュースが書かれた元の言語を自動的に表示し、翻訳済みかどうかを確認したいと考えています。

私のコードは次のようなものです:

テーブル

言語
- ID
- コード


ニュース- id
- 親 ID -
lang_id -
タイトル
- 本文

モデル

言語.php

News.php

このようなクエリを実行する方法を知っている人はいますか? これは翻訳をチェックするための最良の解決策ではないかもしれないと思うので、このアイデアを単純化するための提案があれば、ぜひお知らせください.

ありがとう、

0 投票する
4 に答える
71 参照

mysql - Mysql は自己参照関係の最新の行を取得します

コメントテーブルがあり、人々がコメントを編集できるようにしています。コメントを上書きする代わりに、新しいコメントを作成し、それを「親」に関連付けます。さらに、子の情報を親に追加します。

SQLフィドルはこちら

今私の問題は、特定のユーザーのすべてのコメントを取得したいが、コメントの最新の更新のみを取得したいということです。

これはしばらくの間私に大きな頭痛の種を与えています。

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

entity-framework - EF 6コードファースト多対多ペイロードと自己参照多対多

多対多の関係があり、テーブルの1つに多対多の自己参照があるという問題があります。

したがって、基本的に学校にはゼロまたは多数のグループがあり、多くのグループはゼロまたは多数の学校を持つことができます。グループ テーブルには、グループが別のグループの子になることも、子を持たないこともあり、その子が子を持つことも、1 つの子が複数の親を持つことも、エンティティがまったく持たないこともできるため、それ自体と多対多の親と子が含まれます。両親。

最初の多対多の問題を解決するために、ペイロードを使用してマッピング テーブルを作成しました。コードスニペット

i次に、自己参照多対多のために次の方法でコードを変更しようとしました

has many と auto マッピング テーブルを使用してコンテキストを変更しました (今日は非常に多くのことを試していて、正確なコードを持っていないことを許してください)。クラスのプロパティが一致する必要があるというエラーを受け取りました。

誰でも助けてください。

多対多の自己参照でナビゲーション プロパティを作成したいと考えています。また、シードの例をいただければ幸いです

よろしく

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

sql-server - 挿入された行が互いに参照している場合、自己参照テーブルに複数の行を同時に挿入できますか?

同じテーブル内の別の行の PK を参照する、NULL 可能で一意の FK 列を持つ自己参照テーブルがあります。これにより、リンクされたリスト構造が形成されます。

挿入を含むさまざまな対話がすべて機能しています。挿入された最初のアイテムがリンクされたリストの最後のアイテムであり、その後の各挿入が前の行番号を参照するように戻ります。

ただし、これを処理するために複数の挿入を行う必要があるのは好きではありません。挿入される各行が前の行の を使用する複数行の挿入を行う方法はあります@@IDENTITYか?

私はこのようなことについて疑問に思いましたが、次のすべての値を@@IDENTITY返します。null

MSDN のドキュメントを読むと、返されるまで値が設定されないため、これが機能しないことは理にかなっていINSERTますが、問題は、別の方法で同じ目標を達成するための巧妙な方法があるかどうかです。