Théta-összekapcsolás

A természetes összekapcsolás előírja, hogy egyetlen speciális feltétel szerint párosítsuk a sorokat, mégpedig a közös attribútumok azonos értéke alapján. Habár a relációk összekapcsolásának leggyakoribb kiindulási pontja a közös attribútumokban lévő azonos értékek, azért néha szükség lehet két reláció sorainak más szempontból történő párosítására, ezért vezetjük be a természetes összekapcsolást kiterjesztve a théta – összekapcsolás műveletet.

A théta szó egy tetszőleges feltételre utal, amit jellel szokás jelölni.

Az egyszerűség kedvéért jelöljük most a feltételeket C-vel. Ezek a feltételek egyszerű aritmetikai összehasonlítások, melyek C = Ai Bi alakúak, ahol a {>,<,, , =, ≠}.

A théta – összekapcsolás műveletet az RS kifejezéssel jelöljük, amely R és S relációknak C feltételre vonatkozó théta – összekapcsolása.

Ennek a műveletnek az eredményét a következő lépéseket követve kaphatjuk meg:

  1. Kiszámoljuk R és S szorzatát.
  2. Kiválasztjuk a szorzatból azokat a sorokat, amelyek a C feltételnek eleget tesznek.

Az eredmény sémája, csakúgy, mint a Descartes – szorzat műveletnél, itt is az R és S relációk sémájának egyesítése. Ha szükséges megjelölni, hogy melyik sémából származnak az attribútumok, akkor használjuk az attribútumokhoz az „R.” illetve az „S.” előtagokat.
Vagyis ha például adott két relációnk és azok attribútumai, R(A, B, C, D) és S(C, D, E, F), akkor az eredmény, az előtagokat használva, a következő sémájú lesz:
( A, B, R.C, R.D, S.C, S.D, E, F ).


1.Példa

Végezzük el az R A<DS műveletet.
R:
A B C
1 4 6
4 7 9
2 7 9
S:
B C D
4 6 3
4 6 2
7 9 13





R A<DS:
A R.B R.C S.B S.C D
1 4 6 4 6 3
1 4 6 4 6 2
1 4 6 7 9 13
4 7 9 7 9 13
2 7 9 7 9 13

A két relációnak kilenc párosítása lehetséges, amelyeknek mindegyikét meg kell vizsgálni, hogy teljesül-e rá az A<D feltétel. Az R első sora párosítva az S első sorával a következő sort adja: (1, 4, 6, 4, 6, 5). Erre igaz lesz a feltétel, mivel 1<5. Az R első sora az S többi sorával ugyanígy sikeresen párosítható. Az R második és harmadik sora viszont csak az S utolsó sorával párosítva tudja teljesíteni a feltételt, mivel a többi esetben az A<D, vagyis a 4<3, 4<2, 2<3 és 2<2 hamis értéket ad a feltételre.

Ha megfigyeljük a természetes összekapcsolás és a théta – összekapcsolás eredményeit, akkor szembe tűnik, hogy a théta-összekapcsolásnál az attribútumok száma több. Ez annak tudható be, hogy amíg a természetes összekapcsolásban a közös attribútumok csak egyszer szerepelnek az egyenlő értékek miatt, addig a théta – összekapcsolásban a közös attribútumok mindegyikét megjelenítjük, és előtaggal látjuk el, hiszen itt az értékek különbözőek is lehetnek. Ezzel az előtaggal jelezzük, hogy melyik relációból származik az attribútum.


2.Példa

Legyen a feltételünk összetett. Végezzük el az RA<D AND R.C≠S.C S műveletet.
Ekkor az előző példában lévő eredményrelációra az A<D összehasonlításon kívül annak is teljesülnie kell, hogy különbözzön az R és S relációknak a C attribútumban lévő értéke. Ezeket a feltételeket csak egyetlen sor teljesíti, így az eredmény a következő sor lesz:

RA<D AND R.C≠S.C S:
A R.B R.C S.B S.C D
1 4 6 7 9 13


Megjegyzés:

A théta-összekapcsolás kifejezhető más műveletek segítségével, mégpedig ezek a szorzás és kiválasztás:
RCS = σC(R×S)

3.Példa

Végezzük el az 2.példát szorzással és kiválasztással.
R:
A B C
1 4 6
4 7 9
2 7 9
S:
B C D
4 6 3
4 6 2
7 9 13

1.lépés:

Ki kell számolni az R és S Descartes – szorzatát
R×S:
A R.B R.C S.B S.C D
1 4 6 4 6 3
1 4 6 4 6 2
1 4 6 7 9 13
4 7 9 4 6 3
4 7 9 4 6 2
4 7 9 7 9 13
2 7 9 4 6 3
2 7 9 4 6 2
2 7 9 7 9 13

2.lépés:

Alkalmazni kell a kiválasztást az A<D AND R.C≠S.C feltétel szerint.
Végeredmény:
A R.B R.C S.B S.C D
1 4 6 7 9 13

Mint látható, a feltétel csak egyetlen sorra teljesül, a két eredmény pedig megegyezik.