問題タブ [junction-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 に答える
207 参照

entity-framework-5 - エンティティを使用しない EF コードの最初の多対多の関係

EF Code First と流暢な構成を使用して、多対多の関係を構成する方法について多くのことを読みました。しかし、ジャンクション テーブル用に追加のエンティティを作成する必要がある理由がわかりませんでした。次のエンティティがあると仮定します。

これからは、部門ごとに資料の記録をつけたいと思います。だから私は必要です

これまで読んだことには、Department、Material、DepartmentMaterial の 3 つのエンティティが必要です。したがって、実際には、各テーブルを対応するエンティティにマッピングしていますが、これは、DDD について学び始めたときに行うつもりはありませんでした。EF はそのジャンクション テーブルを自動的にマップし、材料の数量に関するクエリも Department に対して実行できると想定しました。

したがって、EF Code First で、追加のエンティティなしでそのような関係を流暢に構成することは可能ですか?

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

mysql - 別のテーブルの主キーを使用してデータを選択しますか?

users」テーブル、「offers」テーブル、および userID と offerID を含むジャンクション「*users_offers*」があります。

特定のユーザーに属するオファーからすべてのオファーを選択する方法は?

実際にジャンクション テーブルから選択データを開始し、単純にオファー列を結合するソリューション (以下) を実現できますが、結果にはジャンクション列も含まれます。

オファーから選択を開始するソリューションはありますか?

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

mysql - レコードの DELETE と共にジャンクション データを自動的に削除しますか?

ユーザー、オファー、ジャンクション テーブル users_offers があります。

ユーザーまたはオファーを削除したときにジャンクション データが自動的に削除されるように、外部キー リレーションを使用して実行できるセットアップはありますか?

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

forms - ジャンクション テーブルとルックアップ テーブルを基本的な Access データベースと統合する

顧客の名前、都市、州を格納する単純なデータベースがあります。この 2 つの新しいテーブルに追加しました。1 つは車のモデルを記述するためのルックアップ テーブルで、2 つ目は顧客レコードを使用して 1 つ以上の車のモデルを設定するためのジャンクション テーブルです。

現在の関係のレイアウトは次のとおりです。

ここに画像の説明を入力

そして、各テーブルのデータシート。 cust_idmodel_idは自動インクリメント列です。

人口統計

ここに画像の説明を入力

ルックアップモデル

ここに画像の説明を入力

junction_model

ここに画像の説明を入力

スクリプト言語、MySQL、および HTML を使用して、完全なフォームを数分で作り上げることができました。Access 2007 でこれがどのように行われるかを理解するのに少し苦労しています。

私が必要とする2つの機能は

  1. ルックアップ テーブルにアイテムを編集/追加する機能
  2. 主キーの関係を維持しながら、ルックアップ テーブルで見つかった車から選択するなど、新しい顧客レコードを追加する機能。

元:

"Mary Jane" は Ford Pinto と Datson 510 を所有しています。作成するフォームに彼女の情報を追加すると、彼女の cust_id は 5 になり、2 つの新しいエントリが cust_id: 2 (ford ) と 5 (ダットサン)。

Access 2007 でこのフォームを設定する比較的簡単な方法はありますか?

編集:これは私がこれまでに何とか取り組んできたことです。このサブフォームには正しいモデル/顧客の関連付けがリストされていますが、モデル ID ではなく、model_desc のみが表示されたコンボ ボックスを表示したいと考えています。

ここに画像の説明を入力

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

ms-access-2007 - フォーム経由で Access ジャンクション テーブルから行を削除する

ジャンクションとルックアップ テーブルから格納された値を一覧表示するサブフォームをセットアップしました。この部分はうまく機能しています (保存されているすべてのエントリを表示したり、新しいエントリを追加したりできます)。

ここに私の関係があります:

ここに画像の説明を入力

以前に保存した関連付けを削除しようとした場所を示すフォームのレイアウトを次に示します。フォームの行の内容を単純に削除すると、レコードを保存しようとすると、Access は次のように返します。index or primary key cannot contain null value

ここに画像の説明を入力

コンソールから行を削除する SQL は単純です。

フォームから行を削除することは、それほど簡単ではないことがわかっています。

フォーム自体からこれを行う比較的簡単な方法はありますか?

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

c# - ASP / C# Web ページで MS Access データベースからジャンクション テーブルを照会する

私はASPページを書いています:学生がログインする->学生がウェルカムページに到達し、登録されたコースを表示するためのリンクが表示されます->リンクされたページにコース情報、説明などが表示されます.

3 つのテーブルを持つ MS Access データベースがあります:学生および学生がサインアップしたコースを表すコース)。

登録されているコースとコース情報を表示する必要があるため、登録済みコースを示す EnrolledCourses からのデータと、コースの詳細を示す Courses からのデータを表示する必要があります。その情報を引き出すためのクエリが何であるかを理解するのに苦労しています。これは私がこれまでに思いついたものです:

これが正しい軌道に乗っているかどうか疑問に思っていますか?次のコンパイル エラーが発生し続けます: Compiler Error Message: CS1002: ; 期待される

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

database - 多対多の関係を実装するためにジャンクション テーブルが必要なのはなぜですか?

これは私を悩ませてきました。誰かが明確にするのを手伝ってくれるかもしれません。

私が本と著者を持っているとしましょう。1 本の本は多くの著者によって書かれ、著者は多くの本を書くことができます。

次のスキーマでこれをキャプチャできなかったのはなぜですか? なぜジャンクションテーブルが必要なのですか?

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

asp.net - 割り当て Web サイトのデータベース スキーマ - これは多対多の関係ですか?

Sql Server 2008 で作成されたデータベースを使用して、(Expression Web 4 および Visual Web Developer 2010 Express を使用して) asp.net Web サイトを作成しています。

作成中の Web サイトは、訴訟事例を作成し、訴訟の種類を記録し、弁護士および/または支持者および/またはサポート スタッフが訴訟に取り組んでいると記録できるようにするためのものです。

したがって、「クレイマー対クレイマー」と呼ばれるケースは、2 人の弁護士、1 人の弁護士、4 人のサポート スタッフ全員がこのケースに取り組む離婚訴訟になります。しかし、別のケース「The People v Larry Flynt」は、弁護士 4 人、弁護士なし、サポート スタッフ 10 人の起訴事件である可能性があります。

これまでに行ったことは、次の列を含む「 Case Table 」というテーブルがあることです。

Case_ID (テーブルの主キー); Case_Type_ID; 弁護士_ID; Advocate_ID、および Support_Staff_ID。ケース テーブルの最後の 4 列は外部キーです。

Case_Type テーブルには、「Case_Type_ID」(PK) と「Area_of_law」の 2 つの列しかありません。Case_Type_ID は単純な数字 (001,002...) で、'Area_of_law' は char(30) です (訴訟、離婚、財産、犯罪者など)。ここまでは順調ですね。

問題は (これは支持者とサポート スタッフにも当てはまります)、単純に 3 つの列を持つ弁護士テーブルを作成した場合です。

列 = Lawyer_ID (主キーとして) | 名 | 苗字

レコード 1 = 001 | トム | トム | ハンクス

レコード 2 = 002 | トム | トム | クルーズ

レコード 3 = 003 | ダニエル | クレイグ

レコード 4 = 004 | ニコル | キッドマン

複数の弁護士をケースに割り当てるにはどうすればよいですか?

Case Table内で、正規化ルールに準拠するために、おそらく、上記のようにCase Tableに列を追加して Lawyer_ID_1 (FK)| を記録する必要があります。Lawyer_ID_2 (FK)| Lawyer_ID_3 (FK) | Lawyer_ID_4 (FK)。

だからそれは004かもしれません| 002 | ヌル | ニコール・キッドマンとトム・クルーズがこの事件に取り組んでいることを示すヌル. Lawyer_ID 列が 1 つしかない場合、Nicole Kidman と Tom Cruise がこの事件に取り組んでいることを示すには、'004,002' にする必要があります。

すべての弁護士を別のテーブルに記録することで、リストに弁護士の名前が入力されるため、Visual Web Developer 2010 Express で( Lawyer Tableにバインドされた)データバインドされたチェックボックス リストを作成できます。ですから、私はこのアプローチに満足しています。

しかし、次にLawyer Table内に 50 人の弁護士がいる場合、 Case テーブルに 50 列を弁護士だけに割り当てる必要があります (ケースが最終的に 50 人の弁護士で作業することになった場合)。Lawyer 列の数が影響を受けるため、弁護士が削除または追加されるとCase Tableが歪む可能性があるため、このアプローチには問題があります。明らかにこれは悪いアプローチなので、誰でも助けることができますか?

多数の列を使用せずに、1 つの「ケース」レコードを複数の「弁護士」レコードに関連付けることができるデータベース スキーマはありますか? (願わくば、このスキーマをSupport Staff TableAdvocate Tableにも適用できます)。

あなたの助けは大歓迎です。私は Web 開発と sql データベースの作業が初めてで、解決策を調べようとしましたが、問題のキーワードがわからない可能性があります。