問題タブ [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.
php - nodereference + ビューを使用して結合ビューを作成する
リレーショナル ビューをセットアップしようとしていますが、その方法がわかりません。
ノード タイプ Artist と Song を使用する例を次に示します。
Song へのノード参照 (無制限に設定) を持つ Artist ノード タイプと、長さの追加フィールドを持つ Song データ タイプがあると仮定すると、このビューを出力するようにビューを構成するにはどうすればよいでしょうか?
ありがとう!イアン
sql-server-2005 - それ自体の問題に関連するテーブル
このスキーマでテーブルを定義しました:
そして、次のようなデータを入力してください:
親であるレコード (Id = 1 または 4 など) を削除すると、すべての子が自動的に削除されます (ParentId = 1 または 4 を持つすべてのレコード)。
Id と Parent Id の関係 (および削除ルールのカスケードを設定) でできると思っていましたが、MMS でそれを行うと、[プロパティ] の [削除ルール] または [更新ルール] が無効になります。
私の質問は、これを達成するために何ができるでしょうか?
ありがとうございました
編集:
私が書いたとき (Id = 1 または 4 のように)、子ではなく親であるレコードを意味し、Id = 1 または 4 のようなクエリを意味するものではありません
一部の友人は、削除トリガーを介して実行できるとほのめかしましたが、リレーションを介して実行できると思いました
database - リレーショナルデータベースをモデル化する正しい方法
私の問題を説明するために、簡単な例を示します。
私のデータベースには3つのテーブルがあります。
問題は、会社でのポジションが「ドライバー」である1人の従業員に1台の車両を関連付ける必要があるということです。その場合のみです。
継承を使用して、1人の従業員(1-1の関係)に関連付けられたForeignKeyを持つ「Driver」という別のテーブルを作成しようとしましたが、プログラミング段階で選択されているかどうかを手動で確認する必要があるため、機能させることができませんでした位置ID(HTML select要素内)は「ドライバー」のIDです。それは良いプログラミング手法ではないと思います。
結論として、リレーショナルデータベースやプログラミングを損なうことなくこれを行う他の方法があるかどうかを知りたいと思います。
前もって感謝します!そして、悪い英語で申し訳ありませんが、それは私の第一言語ではありません。ご理解いただければ幸いです。
oop - オブジェクト指向プログラミング言語のリレーショナル機能
Linq以外に、ライブラリだけでなく、リレーショナル機能をオブジェクト指向言語自体に統合しようとする試みは他にありますか?
更新 最も明白な例の1つは、1対1、1対多、または多対多の関係です。次に、プロパティ自体を持つ関係を検討することもできます。
ruby-on-rails - Railsで2つの異なる関係を持つ2つのリソース
私はレールに不慣れで、頭を動かすことができない状況にあります。
ユーザーとウィジェットの2つのリソースがあるとしましょう。
ユーザーはウィジェットを使用できますが、ウィジェットもユーザーが作成するものであり、ウィジェットを作成したユーザーが所有する必要があります。ユーザーがウィジェットを使用し、ユーザーがウィジェットを所有している必要があります。次は私が探しているものですか?
mysql - リレーションを使用した MySQL フィルター クエリ
リレーションを持つ 2 つの MySQL テーブルで次の問題が発生しています。完全なリストが必要なときにテーブル 1 (アドレス) を簡単にクエリしたり、名前や電子メールなどで結果をフィルタリングしたりできます。しかし、今度はテーブル 1 にクエリを実行し、テーブル 2 のリレーショナル コンテンツ (興味) に基づいてフィルター処理する必要があります。したがって、テーブル 2 で 1 つ (またはそれ以上) の条件が満たされた場合にのみ、テーブル 1 で行 (通常は多くの行) を見つける必要があります。
ここにテーブルがあります:
たとえば、対象として cat=aa および subcat=xx を持つアドレスを検索する必要があります。または、別の例として、cat=aa と subcat=xx AND cat=aa と subcat=yy の両方を含むアドレスが必要です。特に後者は重要であり、アドレス テーブルと対象テーブルの両方が長いリストになり、cat/subcat の組み合わせの量が変化することに留意する必要があります。現時点では、Zend_Db_Table (findDependentRowset) を介して参照クエリを使用していますが、その解決策は、数百、さらには数千のヒット数のアドレス リストでは遅くなります。
ご協力ありがとうございました。
java - 任意のデータベース テーブルを格納するためのデータ構造
任意のリレーショナル データベース テーブルの内容を表現および格納するために使用できる JVM データ構造 (Java/Scala) を設計したいと考えています。データ構造は高速で (gc を多用しすぎず、キャッシュに適していない)、メモリ効率が高い必要があるため、より大きなテーブルを RAM に収めることができます。
メモリ効率の良い解決策の 1 つは、各列をプリミティブ配列に個別に格納することですが、同じ行のアイテムが一緒に格納されないため、キャッシュの使いやすさが心配です。N 列の行では、列の幅に関係なく、N キャッシュ ミスが発生します。
もう 1 つの解決策は、各要素がフィールドを表し、取得時に正しい型にキャストされるオブジェクト配列に各行を格納することですが、これには数値型をボックス化された形式で格納する必要があるため、メモリ効率があまり良くありません。また、おそらくキャッシュ効率も良くありません。
もう 1 つの解決策は、実際のデータベースが行をシリアル化するのと同じ方法で、各行のデータをバイト配列にレイアウトし、必要なバイト数だけを使用することです。これはキャッシュにやさしくメモリ効率が良いですが、アクセスごとのシリアライゼーション/デシリアライゼーションのコストが気になります。
最善の方法は何ですか?
tsql - 複数のテーブルを指す外部キーを使用したデータベーススキーマのジレンマ(排他的アーク)
うまくいけば、私の説明はタイトルよりも少し良くなりますが、基本的には新しいアプリケーションスキーマの一部に問題があり、テーブル構造で最も管理しやすくエレガントなソリューションに固執しています。
関連するフィールドのみが表示されているベアボーンテーブル構造は次のようになります。
航空会社(id、name、...)
ホテル(id、name、...)
サプライヤー(id、name、...)
event(id、name、...)
eventComponent(id、name){eg Food Catering 、Room Hire、Audio / Visual ...}
eventFlight(id、eventid、airlineid、...)
eventHotel(id、eventid、hotelid、...)
eventSupplier(id、eventid、supplierid、hotelid、eventcomponentid、.. .. )。
したがって、航空会社、ホテル、サプライヤーはすべて参照テーブルであり、イベントはこれらの参照テーブル間の1対多の関係で作成されます。たとえば、イベントには2つのフライトエントリ、3つのその他のコンポーネントエントリ、および2つのホテルエントリが含まれる場合があります。ただし、問題は、EventSupplierテーブルでは、サプライヤーがサプライヤーまたは既存のホテルのいずれかである可能性があることです。したがって、ユーザーがフロントエンドで新しいイベントを作成した後、後でこのデータを返すのが悪夢にならないように、これを保存する必要があります。
私はポリモーフィックな関係と排他的なアークについて多くのことを読んでいます、そして私のシナリオは間違いなく線に沿っているか、排他的なアークの関係だと思います。
私が考えていた:
CREATE TABLE eventSupplier(
id SERIAL PRIMARY KEY、
eventid INT NOT NULL、
hotelid INT、
supplierid INT、
CONSTRAINT UNIQUE(eventid、hotelid、supplierid)、-UNIQUEはNULLを許可し
ますCONSTRAINT CHECK(hotelid ISNOTNULLまたはsupplieridISNOT NULL)、
FOREIGN KEY(hotelid)REFERENCES hotel(id)、
FOREIGN KEY(supplierid)REFERENCESsupplier(id)
);
次に、このデータを取得するには、両方のテーブルへの外部結合を使用して、どちらがリンクされているかを判断します。
イベントIDとしてe.idを選択し、 eventSupplier
からの サプライヤーとしてcoalesce(h.name、s.name)を選択
し ます 。 .idがnullでない、またはs.idがnullではない
私の他のオプションは、eventSupplierテーブルに単一の外部キーと「タイプ」の別のフィールドを含めることでした。これはデータを取得するのが難しいソリューションのようですが、これを拡張せずにトラックを拡張したい場合は非常に柔軟に見えます。スキーマを変更する。または、hotelidをSupplierテーブルに直接保存し、一部のサプライヤーを「ホテル」として宣言することもできますが、不要な冗長データがあります。
これについての考えは大歓迎です!
乾杯フィル
sql - SQLite のテーブルへのポインタ
リンゴ (apple_id) のテーブルがあるとします。そして、リンゴごとに、時間の経過に伴うその重量の履歴があります。リンゴが追加されるたびに、関連付けられたテーブルがその重量履歴で作成されるように構造化する方法は?
すべてのリンゴ (apple_id,age,weight) の重量履歴のテーブルが 1 つしかないと、他のすべてのリンゴの重量履歴を調べる必要があるため、リンゴの重量履歴を表示するときにパフォーマンスが低下するように見えます。したがって、新しいリンゴごとに新しいテーブルを作成する必要があるようです (そして、リンゴが削除されるたびにテーブルを削除します)。これを行う方法?
私の考えは、apple_id を使用して文字列に変換することです。こうすることで、テーブルの名前が一意になり、簡単に生成できます。
sql - 関係代数で「存在しない」を表す方法は?
リレーショナル代数でSQLの「存在しない」句をどのように表現しますか?