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:
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
|