Cartesian Product
কার্তেসীয় গুণফল
`A × B` = সব ordered pair `(a,b)`। `|A × B| = |A|·|B|`। Relation, tuple type আর SQL cross join — সবার ভিত্তি।
also: cross product
A × B = { (a, b) : a ∈ A, b ∈ B }
Ordered pair — ক্রম গুরুত্বপূর্ণ। (1,2) ≠ (2,1), যদিও
{1,2} = {2,1}।
কোথায় লাগে:
| ক্ষেত্র | রূপ |
|---|---|
| [[relation]] | R ⊆ A × B |
| Type theory | tuple type (A, B) |
| SQL | SELECT * FROM a, b — cross join |
| State space | দুইটা স্বাধীন state variable-এর মিলিত space |
বিস্ফোরণের সতর্কতা:
SELECT * FROM a, b; -- WHERE নেই
a-তে ১ লক্ষ row, b-তে ১ লক্ষ → ১০ বিলিয়ন row। Join
condition লিখতে ভুলে যাওয়া production database বসিয়ে দেওয়ার
সবচেয়ে সাধারণ উপায়।
অন্য সব join আসলে Cartesian product-এর filtered রূপ — planner অবশ্যই কখনো পুরোটা materialise করে না, কিন্তু semantics সেটাই।