Kombinációs műveletek

Descartes - szorzat

A Descartes-szorzat operátor használatával lehetőségünk van bármely két reláció összekapcsolására. Két reláció, R és S Descartes-szorzata, amire egyszerűen csak a szorzat kifejezést is használják, azon párok halmaza, amelyeknek első eleme R tetszőleges sora, a második pedig az S egy sora.
R minden sorát párosítjuk S minden sorával.

A szorzat jelölése: R×S

Mivel R és S relációk, ezért a szorzat – lényegéből adódóan – szintén reláció. A műveletben szereplő R és S reláció elemei sorok, mégpedig ezek általában nem egy, hanem több komponensből állnak. Ezért az R egy sorának párosítása az S egy sorával egy olyan hosszabb sort eredményez, amelyben az alkotó sorok mindegyik attribútuma megjelenik. Az R komponensei sorrendben megelőzik az S komponenseit. A szorzat eredményeképpen kapott reláció tehát az R és S sémájának egyesítése. Ha az R relációnk „n” db sorból és az S relációnk „m” db sorból áll, akkor az eredményrelációnk „n×m” db sorból fog állni.
Előfordulhat az is, hogy az R és S relációknak vannak azonos nevű, közös attribútumai. Ekkor minden ilyen azonos nevű attribútumot tartalmazó pár esetén legalább az egyiknek új nevet kell adni. Vagyis tegyük fel, hogy létezik egy A attribútum, amelyik szerepel az R és S reláció sémájában is. Ekkor az A attribútum egyértelművé tételéhez, a nevek megkülönböztetésére az R.A és az S.A jelöléseket használjuk. Az első esetben az R reláció A attribútumáról , míg a második esetben az S reláció A attribútumáról beszélhetünk.
Ha R és S sorainak száma rs illetve ss, oszlopainak száma ro és so, akkor az eredménytáblában rs*ss sor és ro+so oszlop lesz.
Ha R(r1,r2,...) és S(s1,s2,...) és a két tábla Descartes-szorzatát képezzük, akkor projekcióval -icons-back.kaphatók az eredeti táblák:
R=σr1,r2,...(RXS) és S=σs1,s2,...(RXS)


Példa:

R:
A B
1 4
2 5
S:
B C D
4 3 5
5 10 2
8 4 9

R×S:
A R.B S.B C D
1 4 4 3 5
1 4 5 10 2
1 4 8 4 9
2 5 4 3 5
2 5 5 10 2
2 5 8 4 9