問題タブ [cartesian-product]
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.
sql - リレーショナル代数における「シータ結合」の明確な説明?
リレーショナル代数におけるシータ結合の概念の明確で基本的な説明と、その使用法を説明するための例 (おそらく SQL を使用) を探しています。
私が正しく理解している場合、シータ結合は条件が追加された自然結合です。したがって、自然結合は同じ名前の属性間で同等性を強制しますが (重複を削除しますか?)、シータ結合は同じことを行いますが、追加します状態で。私はこれの権利を持っていますか?簡単な言葉で(非数学者にとって)明確な説明をいただければ幸いです。
また(最後にこれを入れて申し訳ありませんが、関連するものです)、誰かがデカルト積の重要性または考え方を説明できますか?基本的な概念に関して何かが欠けていると思います。なぜなら、それは基本的な事実、つまり 13 のセット X 4 のセット = 52 を言い換えているように思えるからです...
cartesian-product - デカルト積がリレーショナル代数でどのように機能するかを誰か説明してもらえますか
ここで言う
選択と外積
クロス積は、評価するのに最もコストのかかる演算子です。入力リレーションに N 行と M 行がある場合、結果には NM 行が含まれます。したがって、外積演算子を適用する前に、両方のオペランドのサイズを減らすために最善を尽くすことが非常に重要です。
2 つの関係があるとします。
最初のリレーションは Student と呼ばれ、3 つの属性を持つため、
2番目の関係は大学で、3つの属性があります
リレーションごとに 3 つの行があるため、外積演算を適用すると、3*3 = 9 行のリレーションが得られます。
よくわかりませんが、なぜ 3 ではなく 9 なのですか?
最終的な関係はありません
これまた3列じゃない?
ありがとう
java - Javaでデカルト積を生成するにはどうすればよいですか?
私はいくつかのオブジェクトを持っており、それぞれが異なる長さを持つことができますArrayList
。ArrayList
次の例のように順列を生成する必要があります。
私が2つ持っているとしましょうArrayList
:
ArrayList
A
にはオブジェクトa
、オブジェクトがb
あり、オブジェクトc
ArrayListB
にはオブジェクトd
、オブジェクトがありますe
次に、出力はArrayList
次の組み合わせで6つの新しいものになります。
コンビネーション
1
オブジェクトa
とオブジェクトd
、
コンビネーション2
オブジェクトa
とオブジェクトe
、
コンビネーション3
オブジェクトb
とオブジェクトd
、
コンビネーション4
オブジェクトb
とオブジェクトe
、
コンビネーション5
オブジェクトc
とオブジェクトd
、
コンビネーション6
オブジェクトc
とオブジェクトe
、
誰か助けてもらえますか?
oracle - Oracle CBO が「マージ結合デカルト」操作の実行を選択するのはいつですか?
ときどき、オラクルはMERGE JOIN CARTESIAN
通常の よりも操作を好むようMERGE JOIN
です。データを把握し、具体的な実行計画を見ると、結合されたエンティティの 1 つが手元のクエリで正確に 1 つのレコードのみを返すことができるため、通常、この操作は問題にならないことがわかります。
ただし、歴史的な理由から、DBA はデカルト積を一般的に嫌っています。
したがって、私はこれらのケースをよりよく分析し、私の議論で文書化してバックアップしたいと考えています. MERGE JOIN CARTESIAN
Oracle が(または同様の) 操作を好むケースを理解できる、クエリ変換と CBO に関する公式の Oracle ドキュメントはありますか?
この場合、Oracle 11g (11.2.0.2.0) を使用しています。
更新:
これらは同様の質問ですが、オラクルが通常よりも好む理由や時期を説明していません。MJC
MERGE JOIN
racket - DrRacket結合リスト
私は誰かが私を正しい方向に導いてくれることを望んでいました:私は2つのリストのアイテムのすべての可能な組み合わせを生成することを探しています:
例:
リスト'(symbol1 symbol2)と'(1 2)が与えられた場合、私は生成しようとしています
:( list(list'symbol1 1)(list' symbol1 2)(list'symbol2 1)(list symbol2 2))
これまでの私のコードは次のとおりです。
これは明らかに機能しておらず、私が試した他のいくつかの方法でもありません。2つのリストで暗黙の再帰を処理するのに問題があります-何かアイデアはありますか?
python - 2つのリスト要素のすべての可能なペアをpythonし、そのペアのインデックスを取得する
2 つのリストがあるとします。
したがって、これらのリスト メンバーのペアを 9 つ持つことができます。
さて、上記のような 2 つのリスト メンバーが与えられた場合、ペアのインデックスを見つけることができますか? 上記の (1,4) のように、最初のペアになります。
php - デカルト積関数のこのObjective-C実装を完了するにはどうすればよいですか?
ここでの私の質問のフォローアップとして、次のPHP関数をObjective-Cに実装しようとしています。これにより、デカルト積が生成されます。
これが私がこれまでに持っているものです:
配列への内部ポインタを参照する方法がわからないため、PHPや関数にnext
相当current
するものをコーディングしようとすると迷子になります。reset
コードの最後のブロックを実装して同等の関数を取得するにはどうすればよいですか?
javascript - JavaScriptで組み合わせを作成する
Javascriptにいくつかのオプションのセットがあるとしましょう
このような配列でこれらのオプションのすべての組み合わせを取得するための効率的なアルゴリズムは何ですか
ただし、ここに注意点があります
この関数は、任意の数のオプションのセットを取得できる必要があります
これを行う適切な方法は、ある種のツリートラバーサルを使用することだと感じていますが、これを完全に検討するには時期尚早であり、まだコーヒーを飲んでいません。
list - Prologのリストのリストの操作
この問題を解決するのを手伝ってください:私はリストのリストを持っています
[[1,2]、[3,4]]
どうすれば入手できますか:
[1,3]
[1,4]
[2,3]
[2,4]
または、リストのリストがある場合
[[1,2]、[3,4]、[6,7]]
どうすれば入手できますか:
[1,3,6]
[1,3,7]
[1,4,6]
[1,4,7]
[2,3,6]
[2,3,7]
[2,4,6]
[2,4,7]
mysql - where句のMysqlデカルト積
私が必要としているのは、WHERE句のデカルト積です。
たとえば、ある変数にロンドン、バルセロナ、ミラノ、パリ、他の変数にベルリンの都市があります。where句にすべての組み合わせが必要です(ロンドン-ベルリン、バルセロナ-ベルリン、ミラノ-ベルリン、パリ-ベルリン)。