問題タブ [relational]

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

database-design - 複数のテーブル間で共有されるリレーションシップのベスト プラクティス

私はこの設計上の問題に直面し続けており、これまでの解決策には満足していません。問題はこれです:

People や Dogs などの 2 つ以上のエンティティがあり、それらは両方とも、メッセージ フィールドと作成者などのメッセージに関するメタ データを格納する Notes テーブルと関係があります。

1) 最初のオプションは、外部キーを強制しないことです。そうすれば、fkId などの同じ汎用 FK フィールドに peopleId や dogId などの FK を (それが何であれ) 格納できます。次に、tableId を別の列に保存します。RDMS メタデータからテーブル ID を取得することを期待できますが、手動で更新する必要があるテーブルでいっぱいのテーブルを明示的に作成することもできます。 . これは本当にずさんで、完全を期すために言及しています。

2) PeopleNotes、DogNotes、CatNotes など、必要な各テーブルの Notes テーブルを複製します。これにより、正規化に関する非常に大きな問題が発生します。

このような状況で他の人々は何をしましたか?

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

sql-server - 他のテーブルにリンクしているSQLServerの「オブジェクト」/「プロパティ」リレーショナルテーブル

悪いタイトルすみません、私は正しい用語を考えることができません。

オブジェクトを表すデータベース構造があり、オブジェクトにはタイプとプロパティがあります。

特定のタイプで使用できるのは特定のプロパティのみです。

すなわち

タイプ-家、車

プロパティ-色、速度、住所

車タイプのオブジェクトは色と速度の両方のプロパティを持つことができますが、家タイプのオブジェクトは色と住所しか持つことができません。オブジェクト、タイプ、プロパティの組み合わせの値は、値テーブルに格納されます。

これはすべて機能し、関係は上記をうまく強制します。

私のジレンマは、別のテーブル、つまりアドレスがあることです。このテーブルにはAddressIDがあります。

どういうわけか私のアドレステーブルを私のオブジェクト値テーブルに結合したい..これを達成するためのきちんとした方法はありますか?

[更新] -詳細

私はすでに5つのテーブルを持っています。すなわち

物体

プロパティ

ObjectTypes

ObjectPropertyValues

ObjectTypeProperties

これらのテーブルには、各タイプのオブジェクトに割り当てることができるプロパティ値をロックする関係があります。

オブジェクトの名前は「Ferrari」で、タイプは「car」になります。タイプはcarなので、colorプロパティの値を設定できます。

ただし、値は数値であり、IDと一致するようにカラーコードテーブルに結合できるようにしたいと思います。

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

mysql - mysql - 3 つのテーブルをクエリする

3 つのテーブルを持つリレーショナル データベースがあります。最初の内容は、2 番目に関連する ID です。2 番目には、3 番目に関連する ID が含まれます。3番目には、私が求めている結果が含まれています。

それに関連する3番目のテーブルからのすべての結果を与える最初のテーブルのIDをクエリする単一のクエリで可能ですか?

申し訳ありませんが、私はmySQLが初めてです。

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

php - MySQL: 外部キーでリンクされたテーブルにレコードを挿入する

MySQL では、外部キーによってリンクされた 2 つのテーブルを持つことは可能ですか?レコードが親テーブルに挿入されて子テーブルに対応するレコードが作成される場合は?

会員登録を扱うウェブサイトを持っています。1 つのテーブルには、名前や電子メール アドレスなどのメンバーの詳細が含まれており、メンバー ID を介して設定テーブルにリンクされています。私が望むのは、新しいメンバーを作成するときに、対応するレコードが設定テーブルに自動的に入力されるようにすることです。これは可能ですか?それとも、ストアド プロシージャを使用しますか?

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

ruby-on-rails - 正規化された方法でリレーショナルデータベースに単語構成を保存する方法は?

次の形式の単語構成を保存するための優れた方法を見つけようとしています。

組み合わせは、ケースごとにデフォルトで指定されます。コンポジション内のすべての単語は、テーブル'labels'に一意の行として格納されます。

'compositions'という新しいテーブルについて考えました。

ただし、列に複数の分離された値を格納することは、正規化された設計ではありません。そのためのアイデアはありますか?

ところで:私はMySQLとActiveRecord/Railsを使用しています。

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

sqlite - SQL スクリプト内で最後に挿入された行 ID にアクセスするにはどうすればよいですか?

私は SQLite を使用しており、プロパティ用のテーブルとサブプロパティ用のテーブルがあります。各サブプロパティは、fkPropertyId 列を使用してその親を指します。現在、初期データベースを作成するために、次のようなスクリプトを用意しています。

ここで、ハードコーディングされたrowIdを取り除きたいので、次のようになります:

x は、プロパティ テーブルに最後に挿入された rowId を参照します。今のところ、それは

このスクリプトを作成するためのより良い (そして技術的により正確な) 方法はありますか?

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

php - PHP / CIでの単純な関連クエリにORMが必要ですか?

私はCodeigniterのドキュメントビデオに従って非常に簡単にアプリを起動しました。

私は次のテーブルを持っています:

関係は次のとおりです。1多くの注文に対するアカウント1多くの連絡先に対するアカウント1多くの注文に対する連絡先1多くのアイテムに対する注文

注文テーブルからのクエリのみが渡されたビューからアカウント名を取得しようとすると、クエリが少し面倒になる可能性があります。

つまり、アプリは非常にシンプルで、これらのクエリはそれほど多くありません。

ORMについてのあなたの意見を知りたいだけです-このような単純なアプリには1つ必要だと思いますか?

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

sql - マジックテーブルによる関係

興味深い SQL テーブル (列名がリストされています) に遭遇しました
。From_Id | To_TableName | To_Id

私が理解したことから、このテーブルはデータベース内のすべてのテーブル関係に使用されます。データベースには多くのデータ (前述の表では 10000 行以上) がないため、パフォーマンスはそれほど重要ではなかったと思います。私は SQL の専門家ではないので、ここで質問することにしました。

私の考え: このアプローチには利点がありません。確かに、すべてのリレーションシップに対して 1 つのテーブルしか必要ありませんが、それはプラスにはなりません。また、新しいテーブルを作成するときの作業が本当に少ないかどうかはわかりません。ユーザーに何かをさせたくない場合を除き、何らかの検証ロジック (有効な関係の種類) がどこかにある必要があり、それを更新する必要があります。

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

php - リレーショナル テーブルでの INSERT のより良い方法は何ですか?

私は最初の mysql INSERTテストを経験しており、これらのテーブルを使用しています:

table_employeetable_areas、およびtable_agencyにデータを保存しますが、すべてのデータを同時に保存する必要はないので、従業員を作成し、続いて代理店または住所を作成できます。

特異なデータ挿入の場合、このようなものを使用する必要がありますか、それともテーブルnode_employeesを直接使用する必要がありますか? はいの場合、どうすればよいですか?

行を相互にリンクするために、リレーショナル テーブルnode_employeesを作成しました。従業員を地域や代理店に関連付けるために使用していますが、このリレーショナル テーブルにデータを関連付けるにはどうすればよいでしょうか。

また、別の疑問があります。従業員をエリアに関連付ける必要がある場合はどうすればよいですか? 別のクエリを使用する必要があるため、あらゆる可能性に対するクエリを使用する必要がありますか?