214 1 DZIAŁANIA W MODELU RELACYJNYM
Jedynym wspólnym atrybutem obu relacji S i R jest atrybut B. Aby zatem utworzyć właściwe pary krotek, krotki muszą mieć takie same wartości w składowych odpowiadających atrybutowi B. A jeśli tak, to krotki wyniku zawierają składowe dla następujących atrybutów: A (z R), B (albo z R, albo z S), C (z S) oraz D (z S).
W naszym przykładzie pierwszą krotkę z R można połączyć wyłącznie z pierwszą krotką z S, ponieważ mają obie wartość 2 dla wspólnego atrybutu B. Stąd otrzymuje się pierwszą krotkę wyniku: (1, 2, 5. 6). Drugą krotkę z R można z kolei połączyć wyłącznie z drugą krotką z S i w wyniku powstaje krotka (3, 4, 7, 8). Natomiast trzecia krotka z S już nic może być połączona w parę z żadną krotką z relacji R. a więc nie wpływa ona na wynik złączenia R tx3 S. Taka krotka, której nie można połączyć z żadną krotką z drugiej relacji, jest czasami określana mianem krotki wiszącej.
□
PRZYKŁAD 4.7
W poprzednim przykładzie nie dało się przedstawić pełnego spektrum możliwości ukrytych w operacji złączenia naturalnego. Na przykład nie było tam krotek, które dało się łączyć z wieloma krotkami z drugiej relacji, a poza tym wspólny dla obu relacji był tylko jeden atrybut. Na rysunku 4.5 przedstawiono inne relacje: U oraz V, w których występują dwa wspólne atrybuty B i C. Dobrano także takie wartości atrybutów w instancjach, aby jedna krotka łączyła się z kilkoma innymi.
A |
B |
c |
1 |
2 |
3 |
6 |
1 |
8 |
9 |
1 |
8 |
Relacja U
B |
c |
D |
2 |
3 |
4 |
2 |
3 |
5 |
7 |
8 |
10 |
Relacja V
A |
B |
C |
D |
1 |
2 |
3 |
4 |
1 |
2 |
3 |
5 |
6 |
7 |
8 |
10 |
9 |
7 |
8 |
10 |
RYSUNEK 4.5 Złączenie naturalne relacji
Wynik U x V
Aby utworzyć połączenie krotek, muszą one mieć takie same wartości dla obu atrybutów: B oraz C. A zatem pierwsza krotka U łączy się z dwiema pierwszymi krotkami z V, a druga i trzecia krotka z Cr łączy się z trzecią krotką z V. Wynik tego złączenia przedstawiono na rys. 4.5.
□
W operacji złączenia naturalnego korzysta się zawsze z tego samego kryterium wyboru krotek. Mimo że ten sposób, gdy wybiera się krotki o równych wartościach dla wspólnych atrybutów, jest najpowszechniejszy przyłączeniu relacji, to jednak czasami jest konieczne połączenie krotek przy zadaniu innego kryterium łączenia. Dlatego powstała operacja złączenia teta. gdzie teta określa zadany warunek łączenia krotek, który my jednak będziemy oznaczać raczej literą C, a nic literą 6.
Połączenie typu teta relacji R i S oznaczamy symbolem R d*v S. Wynik takiego złączenia definiuje się następująco:
1. Utworzyć iloczyn kartezjański relacji R i S.
2. Z iloczynu kartezjańskiego wybrać tylko te krotki, dla których warunek C jest spełniony.
Tak samo jak to było w przypadku operacji iloczynu, schemat utworzonej w ten sposób relacji jest sumą schematów relacji R oraz. ó', przy czym atrybuty o takiej samej nazwie poprzedza się odpowiednio R. lub S.. aby w ten sposób oznaczyć, z której relacji pochodzą wartości tych atrybutów .
PRZYKŁAD 4.8
Rozważmy operację U Xa<d K gdzie relacje U i V są przedstawione na rys. 4.5. Trzeba rozważyć wszystkie dziewięć txiA<0 par krotek, czyli wszystkie możliwości tworzenia par dla tych relacji, a następnie sprawdzić, czy składowa A krotki U jest mniejsza od składowej D z krotki V. Pierwsza krotka z U, której składowa dla A wynosi 1, łączy się z wszystkimi krotkami z. V. Natomiast krotki z U: druga i trzecia, których składowe dla atry butu A wynoszą odpowiednio 6 i 9, mogą zostać połączone tylko z ostatnią krotką relacji V. Dlatego w wynikowej relacji jest tylko 5 krotek, które powstają z pięciu połączeń. Wynik złączenia przedstawiono na rys. 4.6.
n
Zauważmy, że w schemacie umieszczonym na rys. 4.6 występuje wszystkie 6 atrybutów, przy czym oznaczono atrybuty B i C prefiksami, które wskazują / której relacji U czy V pochodzą ich wartości. To właśnie różni złączenie teta od złączenia naturalnego, w którego wyniku występuje tylko