問題タブ [database-relations]

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

mysql - 関係のあるMySQLから選択

IDが更新されたとき、または誰かがカテゴリを削除しようとしたときに、MySQLでリレーションを使用すると便利です。しかし、JOINを使用せずにSELECTクエリを実行する簡単な方法はありますか?

JOINは使いやすいですが、SELECTを実行するときにリレーションを使用できませんか?関係なく参加できます!

IDフィールドのアクションを制御できるように、リレーションのみが使用されますか?

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

foxpro - テーブル A のフィールド = テーブル B のフィールドであるテーブル フィールドの更新

ヘルプ!これが私の問題です。何がうまくいかないのかわからない 2 つのテーブルがあります。1 つは販売のテーブルで、もう1 つはトランザクションのテーブルです。トランザクション テーブルは販売テーブルと同じですが、非常に詳細です。販売テーブルの売上は 0 です。両方のテーブルが 0 になるように、取引の詳細な売上を更新したいです。更新コマンドは次のとおりです。

UPDATE transaction SET total_sale=0 WHERE transaction.idrecipt = sales.idreceipt

問題は、トランザクション ヘルプから 5 つのフィールドしか更新されないことです!! 私は何を間違っていますか!!

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

ios - Core Data エンティティのオブジェクトの関係を設定する方法

3 つの異なるエンティティ entity1、entity2、および entity3 に対する 3 つの一対多の関係を持つエンティティ mainEntity があります (関係は、参照しているオブジェクトにちなんで名付けられています)。

これら 3 つのエンティティは、この mainEntity と 1 対多の逆の関係にあります (すべて同じです。最初の例を次に示します)。

つまり、全体として、1 つの mainEntity からの 3 つの多対多の関係です。

ここで、mainEntity の 3 つの関係を、entity1、entity2、および entity3 のインスタンスである object1、object2、および object3 に設定する必要があります。

私はこれを行うことはできません:

コンソールには次のように表示されます: 対多関係の許容できないタイプの値: プロパティ = "entity1"; 必要なタイプ = NSSet;

それらを適切に設定する方法は?

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

performance - 一貫性を維持するためのデータベース関係とソフトウェアソリューション(パフォーマンス)

私の観点からは、データベースは常にボトルネックです。CPUパワーを必要な値にスケーリングできるため。クラスタリングまたはレプリケーションを使用しても、db リソースは制限されます。ここで間違っているかもしれませんが、これらはクラウド ソフトウェアに関するこれまでの私の経験です。

だから私は、リレーションをデータベースから切り離すことで、データベースのリソースを節約できると思いませんか?

たとえば、users テーブルと user_friends テーブルがあるとします。user_friends の外部キーは、users テーブルの主キーです。したがって、users テーブルに ON DELETE のような関係がある場合 -> DELETE FROM user_friends... データベースは魔法のように一貫性を保ち、必要なすべてのクエリを実行します。私のソフトウェアが DELETE FROM users WHERE user_id... と DELETE FROM user_friends WHERE friend_id... の 2 つの単純なクエリを実行する場合、より高速ではありませんか?

もちろん、ダウンフォールは矛盾する可能性がありますが、これはDBの負荷をまったく軽減しませんか?

0 投票する
10 に答える
288176 参照

django - Djangoで1対多の関係を表現するには?

OneToManyField現在、Django モデルを定義していますが、モデル フィールド タイプに がないことに気付きました。これを行う方法があると確信しているので、何が欠けているのかわかりません。私は本質的に次のようなものを持っています:

この場合、それぞれDudeが複数の を持つことができますが、関係は一方向でなければなりません。つまり、 forなどのインスタンスを所有する多くの異なるオブジェクトがある可能性があるため、それを所有するもの自体PhoneNumberから知る必要はありません。例:PhoneNumberDudePhoneNumberBusiness

OneToManyFieldこの種の関係を表すために、モデル内の (存在しない) を何に置き換えますか? 私は、1対多の関係を宣言するのが次のように簡単だったHibernate / JPAから来ています。

これをDjangoでどのように表現できますか?

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

ruby-on-rails - Rails has_many ajax

has_many の材料を含むレシピがあるとします。レシピ作成ページに各材料のフォームを用意したいとします。ユーザーがボタンをクリックして新しい成分を追加し、すべての成分を保存してレシピに属するようにするにはどうすればよいですか?

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

nosql - ドキュメント ストアでリレーションを処理する方法

ドキュメント ストアではリレーションが実際には必要ないことは理解していますが、いくつかの場合にはリレーションが役立つ場合があります。それとも私は間違っていますか(RDBMSに雪が降った)?

例えば:

たくさんのファイルとそのリビジョン履歴があるとしましょう:

CreatedByファイルとすべてのリビジョンにUser オブジェクトを追加する必要がありますか?それとも、ユーザー ドキュメントを参照する ID にする必要がありますか? 一般的な慣行は何ですか?

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

mysql - 履歴データを保存するために、既存の Web サイトのテーブルを再構築しますか?

既存の質問で自分の問題に一致するものを見つけようとしています。リンクを回答として受け入れ、リンクがある場合は質問を閉じます。

私が見つけようとしているのは、既存のテーブルを再構築する方法です。私はウェブサイトを持っていて、かなり長い時間を費やしました。これで、すべてのテーブルと選択が配置されました。残念ながら、ユーザーが自分の情報を更新すると、「名」「姓」テーブルは大きく変化しています。これらのフィールドの履歴データを保存したいので、ユーザーが名前を変更した後、実名でユーザーを見つけることができます。名前は一意ではありませんが、ID 番号より覚えやすいです。そのため、フィールド (ユーザー名、電子メール、ファーストネーム、ミドルネーム、ファミリーネーム、DOB、パスワード、国) を含むメンバーのテーブルがあります。変更を保存できるように、firstname と familyname の新しいテーブルを作成する必要がありますか?

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

mysql - SELECTによる支援

hosting_pack、hosting_attr、hosting_attr_valueの3つのテーブルがあります。

1つのhosting_categoryには、多くのhosting_packsと多くのhosting_attributesを含めることができます。

hosting_valueを知るには、hosting_packとhosting_attributeを知る必要があります。したがって、hosting_packにはパック情報が含まれ、hosting_attrには属性が含まれ、hosting_attr_valueには1つのパック内のすべての属性の値が含まれます。

次のように説明されています:

ここに画像の説明を入力してください

次のようなテーブルを表示したい:

注:hosting_categとhosting_attrの関係は存在しません。無視してください。

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

asp.net-mvc-3 - Entity Framework/db 関係の問題

私はクラスの記事を持っています:

そしてタイトル:

を記述する前に、リストからArticle選択する必要がTitleあるため、 StringLength をArticle.Text決定できます。つまり、この記事には、ライターの「タイトル」に応じて、特定の量の文字しか含めることができません。例: 「タイトル 1」は 1000 文字 ( )Title.Nameの記事しか作成できず、 「タイトル 2」は 3000 文字の記事を作成できます。そう。つまり、 の文字列の長さは から取得する必要があります。MaxCharTitle.NameArticle.TextTitle.MaxChar

Titleエンティティは、データベースに格納されるプレフィックス付きのデータです。

これまでに行ったことは次のとおりです。データベースのタイトルがビューにリストされ、「タイトル」クエリ文字列を使用して ArticleController のアクションを作成するためのリンクが表示されます。

フォームに記入して投稿します。HttpPost 作成アクション:

これが問題です。Titleコントローラーは、新しいエンティティも追加します。そのため、次にタイトルを選択する必要があるビューに移動すると、記事を書くために最後に使用したエンティティの複製が表示されます。

まったく新しい方法でこれを行う必要がありますか、それとも小さな調整がありますか。私が考えることができる唯一のことは、をMaxCharクエリ文字列として送信することであり、モデル間に関係はまったくありません。少しばかげているようです/ウェブフォームのようなものです。

乾杯

更新#1:多分私はこれを間違った方法でやっていますか?作成アクションを取得

それとも、モデルの中にあるのでしょうか? 同様に、外部キーを設定する必要がありますか? 何かのようなもの:

しかし、EFがそれを処理する必要がない場所を読んだことは間違いありません。