問題タブ [foreign-key-relationship]

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 投票する
4 に答える
66356 参照

sql - 複数のテーブル間のSQLマッピング

これはSQL設計の質問です。まず、セットアップ。私は3つのテーブルを持っています:

  1. リンクされたサーバーに対するクエリに基づいて自動的に入力されるA。このテーブルのデータは変更できません。
  2. Bは、Asのコレクションの名前を含む、わずか12行程度です。
  3. AtoBは、Asが名前付きコレクションに編成され、両方の列に外部キーがあるマッピングテーブルです。

SQLマッピングテーブル

たとえば、Aには次のものが含まれます。

  1. キリン
  2. フクロウ

そしてBには以下が含まれます:

  1. シアトル動物園
  2. サンノゼ動物園

また、AtoBには次のものが含まれています。

1,1(シアトルのキリン)
2,1(シアトルのフクロウ)
3,1(シアトルのタイガー)
2,2(サンノゼのフクロウ)

さて、問題:

これらのコレクションの一部に、Aにないアイテムを含めるように依頼されました。そこで、Aと同じID列とName列を持つテーブルCを作成し、データを入力します。前の例に従って、Cに次のものが含まれているとします。

  1. ドラゴン

問題は、CのアイテムをAtoBに含めるにはどうすればよいですか?シアトル動物園にドラゴンを含める必要がある場合はどうなりますか?

私の最初の本能は、素朴で、AとCの和集合を含むビューVを作成し、AtoBをVtoBに変更することでした。それが私の素朴さが報われたところです。ビューへの外部キーを作成することはできません。

1つまたは複数のAまたはCをBに関連付けるための標準的で正しい手段があると思います。

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

ruby-on-rails - HABTM、または複数のbelongs_to?

私は自分自身にRailsを教えており、テストプロジェクトとして、stackoverflowに似た簡単な質問/回答アプリをモックアップしています。

私の簡略化されたバージョンでは、次のようになります。

  • 質問
  • 答え
  • ユーザー(質問と回答の作成者)
答えは質問に属すると思います。

  • ユーザーと質問の間の適切な関係は何ですか?
  • ユーザーと回答の間の適切な関係は何ですか?

質問と回答は実際には「belong_to」ユーザーではなく、代わりに「has_oneuser」(作成者)の質問と回答であるように思われます。しかし、それも正しくないようです。なぜなら、ユーザーは「belong_toquestion」と「belong_toanswer」になるからです。

HABTMは3つのクラス間の答えですか?

多くの人がこの関係にとらわれていますね。:)

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

php - 外部キー、関係に関する質問

私は今日MySQLをいじって、彼らのドキュメントを読んで、最適化のいくつかの便利な情報と私が知らなかった多くのことを手に入れました。これで、制約が追加され、非常に役立つことがわかったため、Webアプリケーションに外部キーを追加しています。

私の疑問は、現在、RolesテーブルとUsersテーブルがあり、ユーザーのRoleIDにリレーションを設定して、ロールIDが(Rolesテーブルから、親から)削除されたときにユーザーが削除されるようにすることです。

今、私はちょっと答えがありますが、誰かに確認してもらいたいのですが、IDは一致する必要がありますか?または、外部キーは、一致するかどうかに関係なくアクションを実行しますか?

0 投票する
5 に答える
461 参照

database - Natural ID で関係を作成したり、内部 ID を使用して Natural ID 関係をエミュレートしたりすることはありますか?

重複の可能性:
サロゲート対。自然/ビジネスキー

2 つのテーブルが与えられた場合、レベル 1 [ID、タイトル、番号] レベル 2 [ID、FKID???、タイトル、番号]

システムのユーザーは、レベル 2 がレベル 1 の番号に基づいてレベル 1 に関連付けられていることを理解しています。私の質問は、内部 ID に基づいて関係を作成し、「番号」との関係を「エミュレート」しますか、それとも単に「数字」フィールドとそれで終わりですか?

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

sql-server-2005 - テーブル リレーションシップを作成できません - SQL Server 2005

Sql Server 2005 で 2 つのテーブル内にリレーションシップを作成しようとすると、エラーが発生します。データベース ダイアグラム機能を使用してリレーションシップを作成しようとしています。Player テーブルと Message テーブルがあります。Message テーブルから Player テーブルへの 2 つのリレーションシップを作成したいと考えています。Message.From から Player.PlayerId への最初の関係を正常に作成できます。Message.To から Player.PlayerId への 2 番目の関係を作成しようとすると、次のようなエラーが表示されます...

'Player' テーブルは正常に保存されました 'Message' テーブル - リレーションシップ 'FK_Message_Player_To' を作成できません。ALTER TABLE ステートメントが FOREIGN KEY 制約 "FK_Message_Player_To" と競合しました。データベース「TPF」、テーブル「dbo.Player」、列「PlayerId」で競合が発生しました。

この問題を解決する最適な方法を知りたいです。どんな説明でも大歓迎です。

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

mysql - 関係についてのMySQLBasic

私の疑問は、次のことをどのように扱うかについてです。

私はユーザーが会社に所属し、このユーザーがクライアントを持っているシステムを持っています。

すべての会社のクライアントのリストとフォローしているユーザー名を取得する正しい方法はどのようになっていますか?

この関係のいずれかを持つフィールドがあるクライアントテーブルでは、次のようになります。

  • company_idおよびuser_idフィールド
  • company_idフィールドだけ
  • user_idフィールドだけがuserテーブルにcompany_idを持っている原因になりますか?
  • 他の何か...

Tkzロベルト

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

doctrine - Doctrine Sluggable Behavior for Foreign Relations

I have a database design case which I am curios whether Doctrine ORM supports it out-of-box.


Product:
  columns:
    id: {type: integer, primary: true, autoincrement: true }
    type_id: { type: integer, notnull: true }
    brand_id: { type: integer, notnull: true }
  relations:
    ProductType:
      class: ProductType
      local: type_id
      foreign: id
    Brand:
      class: Brand
      local: brand_id
      foreign: id

ProductType:
  actAs:
    I18n:
    fields: { name }
  columns:
    id: {type: integer, primary: true, autoincrement: true }
    name: { type: string(255), notnull: true }

Brand:
  actAs:
    I18n:
      fields: { name }
  columns:
    id: {type: integer, primary: true, autoincrement: true }
    name: { type: string(255), notnull: true }


I want to slugify Products table, ie. products will be reached via their slugs. However, as you see both brand and productype tables has i18n behaviour. And moreover, product doesnt have a name. A product's slug will be: "Brand.name - ProductType.name", and vary with the language served.

For this scenario, is there anyway I can use Sluggable behaviour of Doctrine to sluggify my products automatically. Or do I have to manage it manually?

By the way my environment configuration is:
Doctrine Version: 1.2
Symfony: 1.4.1

Thanks

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

asp.net-mvc - Linq2Sqlのリンクテーブルで外部キーが機能しない

3つのテーブルSubcontract、Company、およびリンクテーブルCompanyToSubcontractがあります。リンクテーブルには、Subcontract_idとCompany_idが含まれています。外部キーはSQLで設定されており、それらをdbmlにドラッグすると、1対多の関係矢印が表示され、すべてが正常に見えました。ただし、コーディングするときは、関係が存在しないかのようになります。

Selectステートメントを作成するときは、それを機能させるために結合を使用する必要があります。コードでCompanyToSubcontractを参照すると、正しいメンバーが利用できません。CompanyToSubcontract.company_idとCompanyToSubcontract.subcontract_idがありますが、CompanyToSubcontract.companyまたはCompanyToSubcontract.subcontractはありません。

下請けと1対多の関係にある別のテーブルグループがあります。私は同じ方法で外部キーを設定しましたが、それはうまく機能しています。Subcontract.group_idとSubcontract.groupにアクセスできます。

リンクテーブルはすべて正しく設定されているようですが、動作させることができません。複数の外部キーに何らかのトリックはありますか?私は何が欠けていますか?

編集:私のCompanyToSubcontractには主キーがありません。それが問題を引き起こしている可能性がありますか?今それを試してみてください。

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

sql - 主キーと外部キーで助けが必要

外部キー テーブルにデータを挿入する際に、外部キー テーブルに主キー値を自動入力する際に​​助けが必要です。例: テーブルを作成しました:

このPatientテーブルに 5 行あるとします。最初の行の値は次のとおりです。1, Priya, Kumari, Female

私はGuardiansテーブルを作成しました:

この表では、挿入操作は次のようになります。

値を表示する Guardians テーブルの PatientId を選択している間: 私のクエリは、テーブルNULLに値を挿入しているときに、テーブルから取得される自動入力する必要があります...GuardiansPatientIdPatient

  1. 私の 2 番目の問題は、Identity 列を として作成する方法varcharです。Guardians例:テーブルを 'このようにインクリメントしたいとしますGRD0001', 'GRD0002', 'GRD0003'...

ありがとう、SD

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

perl - DBIx::Class と Catalyst を使用して実行時に関係を追加するにはどうすればよいですか?

私が構築しているアプリケーションでは、ユーザーはテーブル間の関係を指定できます。

これは実行時にのみ決定するため、起動用のスキーマ モジュールで has_many 関係または belongs_to 関係を指定することはできません。

したがって、2 つのテーブルが与えられます。システムと場所、それらの間のレコードを結合する関係を追加したいと思います。

以下のソリューションの一部があります。

したがって、列fk0は場所の主キーへの外部キー マッピングになりますid

関係への将来のアクセスを許可するには、再登録が必要であることはわかっていますが、それがわかりません。