問題タブ [associative-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 投票する
2 に答える
190 参照

sql - この連想テーブルはどのスキーマに属していますか?

私は AdventureWorks2008 データベースを調べていて、製品を販売員に関連付ける新しいテーブルを作成したいと考えていました。

これらのテーブル間には多対多の関係があります。

代替テキスト

質問は、 2 つのスキーマのうち、SalesテーブルProductionはどちらProductSalesPersonに属しているか? ProductSalesPerson必ずしもどちらのスキーマにも属していません。

この連想テーブルに新しいスキーマを作成する必要がありますか?

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

sql - SQL連想エンティティの質問

SQLの質問があります。次の一連のテーブルを使用しています。

http://imgur.com/eg19r.png

Recipe テーブルには 5 つのレシピが含まれ、Ingredient には多くの材料 (52) が含まれ、IngredientList は連想エンティティであり、Recipe と Ingredient の間の多対多の関係の実装です。RecipeID と IngredientID は、基本的に自動インクリメント ID 番号です。

すべてのベジタリアン レシピを表示するクエリを作成しようとしています (つまり、ベジタリアン レシピを含まないレシピ)

関連付けられている Ingredient.Name のいずれかで)。私が直面している問題は、結果セットにレシピごとに 1 行ではなく、材料ごとに 1 行が含まれていることです。

この結果セットを生成するクエリは次のとおりです (ここでは Ingredient テーブルの名前が components であることに注意してください)。

そのクエリは 50 の結果を生成します (私の WHERE 句によって除外された部分文字列を含む成分名に基づいて 2 つの成分が除外されるため、52 ではありません)。

私の目標は、レシピ テーブル内の 5 つのレシピ名のうち 3 つを返すことです (関連する materials.name に肉が含まれているものを差し引きます)。

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

database-design - 「マスター」連想テーブル?

クライアントとサービスを一致させるためのモデルを検討してください。クライアントは、さまざまな時点でサービスのプロバイダーとコンシューマーの両方である可能性があります。クライアントは個人またはグループ(企業)であり、後者は複数の連絡先を持っています。連絡先には、複数のアドレス、電話、電子メールが含まれる場合があります。これらの関係の一部は1対1(たとえば、プロバイダーへのサービス)になりますが、ほとんどは1対多または多対多になります(会社の複数の連絡先は同じアドレスを持ちます)。

このモデルでは、通常、client_contact、contract_addr、contact_phone、contact_email、service_provider、service_consumerなどの複数の関連付けテーブルが存在します。

特定のサービスの消費者の連絡先情報に対して簡単なクエリを発行するとします。データを含む6つのエンティティテーブルに加えて、結合は5つの関連テーブルを参照します。もちろん、この種のクエリについて特に興味深いことは何もありません。私たちは毎日それを行っています。

しかし、それは私に思い浮かびました。すべての関連付けを保持する単一の「マスター」連想テーブルを持っていないのはなぜですか?このマスターテーブルには、2つのPKに加えて「関連付けタイプ」が必要であり、すべてのPKが同じタイプ(int、GUIDなど)である必要があります。

一方では、各結合でタイプとPKを指定する必要があるため、クエリはより複雑になります。一方、すべての結合は同じテーブルにアクセスし、適切なインデックス作成とキャッシュのパフォーマンスが劇的に向上する可能性があります。

このアプローチを説明するパターン(またはアンチパターン)があるかもしれないと思いましたが、オンラインでは何も見つかりませんでした。誰かがそれを試しましたか?もしそうなら、それはスケーリングしますか?

あなたが提供できるどんな参考文献もいただければ幸いです。

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

mysql - MySQL多対多の関係マッチング

私はカクテルデータベースを作成していますが、現在3つのテーブルがあります。

  • 飲み物にはdrinks_id列とdrinks_name列があります
  • 材料には、components_id列とcomponents_name列があります
  • 3つ目は、drinks_idとcomponents_idを持つレシピと呼ばれる単純な関係テーブルです。

一連のcomponent_idsを使用してデータベースにクエリを実行し、その一連の材料から利用可能な一連の飲み物を取得したいと思います。たとえば、飲み物Aに成分(1,2)が含まれ、飲み物Bに(1,3)が含まれ、飲み物Cに(1,2,3)が含まれる場合、材料1、2、および3を入力すると、飲み物A、B、およびCが返されます。 。私はMySQLを使ってデータベース設計を学び始めたばかりで、どんな助けでも大歓迎です。これが他の場所で答えられた場合は申し訳ありませんが、私は試しましたが、それを検索する方法がよくわかりませんでした。

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

hibernate - JPAとHibernateを使用して連想テーブルの属性を永続化する方法は?

休止状態の連想テーブルに属性を保存したいのですが、方法がわかりません。

私は次の例を思いつきました: テーブル USERS、テーブル MEDIA (映画と本が保存されている場所)、および USER_MEDIA と呼ばれる連想テーブルがあり、ユーザーが MEDIA を「見た」場合に保存し、ユーザーによって与えられた評価を保存します。 .

問題: レートのマッピング。私は XML を使用してマッピングを行いましたが、簡単にするために注釈を使用することもできます。

以下は私のコードスニペットです:

ジャワ

hbm.xml

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

sql - 連想テーブルに条件を入力するための SQL 挿入

2 つのテーブルと、それらの間に連想テーブルがあります (それらTab1Tab2と と呼びましょうATab)。

Tab1まったく同じフィールドがありTab2ます(目的など):

  • Id.
  • Name.

私のでは、アソシエイトとその IDATabにレコードを挿入したいと考えています。Tab1Tab2

そうするために、次のようなSQLスクリプトでクエリを書きたいと思います:

私は次のようなことをすることができます:

しかしFoo、最初のテーブルのレコードのみを選択しています...

「二重」のwhere句を実行するにはどうすればよいですか? 出来ますか ?

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

mysql - 連想エンティティの入力における MySQL と多対多に関するアドバイス

レシピとその材料のリストを含むデータベースを設計しており、現在、個々の材料をそれぞれのレシピにリンクする処理を行っています。しかし、連想エンティティ テーブルを作成する方法について、最善の方法を決定するのに苦労しています。

私は3つのテーブルを持っています、

Ingredient テーブルは、200 以上の個々の成分を含む XML ファイルから入力され、各成分には 1 から始まる異なる ID が自動的に割り当てられます。

Recipe テーブルには、レシピのタイトル、調理方法、料理の種類を含む別の XML ファイルが入力されます。

レシピテーブルは私が問題を抱えているものです。手動で入力する必要があると思います。つまり、すべての材料を手動でレシピに合わせます。このような:

「1」は最初のレシピの ID で、「1」、「2」などは個々の材料 ID です。

ただし、これがテーブルを作成するための最良のアプローチであるかどうかはわかりません。アドバイスがあれば役立ちます。

注:このクエリを入力する使用中の方法と組み合わせると、正常に機能します。

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

ruby-on-rails - has_many の追加属性の操作:連想モデルによる

次のモデル関係があります。

今私が興味を持っているのはtrack_number、プレイリストを介して変更することです。この返信playlist.songs[1].track_numberのおかげで、ようやく ie 経由でトラック番号にアクセスできました。ただし、コンソールでそのように値を変更しようとすると、実際のオブジェクトに書き戻されませんでした。これがどのように達成できるか知っていますか?song_in_playlist

さらに、正しい更新パラメーターはどのようになりますか? その場合、次のようになりますか。

編集:これは私がコンソールで試したものです

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

mysql - mysql で連想エンティティを作成する

連想エンティティ LINEITEM を使用して 2 つのテーブルを結合しようとしていますが、コードで主キーと外部キーを設定しようとするとエラーが発生し続けます。どんな助けでも大歓迎です。ありがとう!

mysql>

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

entity-framework - 追加の列をジャンクション テーブルに追加した後に edmx を更新する

私は.Net 4.5、エンティティフレームワーク5、データベースを最初に使用しています。データベースにジャンクション (多対多) テーブルがあります。この例では、テーブルが「StudentsCourses」であるとしましょう:

これは今のところうまく機能します。「データベースからモデルを生成」は、Course エンティティへのナビゲーション プロパティを持つ Student エンティティを作成します。しかし、ここで問題が発生します。

StudentsCourses テーブルに別の列を追加する必要があります。この列を「CourseYear」と呼びましょう。したがって、ジャンクション テーブルは次のようになります。

そのため、この列をデータベースに追加し、edmx で「データベースからモデルを更新」を実行しました。StudentCourses 用に作成されたエンティティが、Students と Courses の両方へのナビゲーション プロパティを持つことを期待しています。しかし、そのようなエンティティは作成されません。以前と同じナビゲーション プロパティを持つ同じ 2 つのテーブル (Students & Courses) が表示されます。

私は多くの読書と研究を行ってきましたが、明確な答えに出くわしていません. 私のシナリオには当てはまらないコード ファーストに関する情報が豊富にあります。私が求めているものを手に入れる方法はありますか?StudentCourses テーブルに PkId を追加するのと同じくらい簡単ですか? SQL レプリケーションが原因で、これを行うことができません。コンポジットで十分だと思いますが、EFには魔法を行うためにPKが必要なのでしょうか? 関係を手動で設定する方法について少し読みましたが、私の特定の状況に当てはまるものは見つかりませんでした。データベースから edmx を更新するプロセスで、単純な手順を見逃している可能性があります。新しいテーブルの追加、列の追加、列の削除など、これを何度も行ってきました。いつもと同じ手順に従っています。

助けてくれてありがとう。大変感謝しております。さらに情報が役立つかどうか教えてください。