Databases Reference
In-Depth Information
Für i = 1..n sind die Domänen von ai in R und in S jeweils widerspruchsfrei,
d.h. sie sind identisch oder es ist zumindest möglich, Werte dieser entsprechen-
den Domänen auf Gleichheit zu überprüfen;
Die übrigen Attribut-Bezeichner von R und S sind jeweils verschieden.
Die Bedingungen 2 und 4 sind gegebenenfalls durch Umbenennungen von Attri-
buten zu erzwingen. An dieser Stelle ist die Operation der Umbenennung essenzi-
ell. 7
Es ist dann
R Join[a1,…an] S
eine neue Relation, die wie folgt definiert ist:
1) Die Attribute von R Join[a 1 ,… a n ] S sind genau die Attribute von R und S .
2) Die Verbindungsattribute a 1 ,… a n werden also genau einmal gezählt.
3) R Join[a 1 ,… a n ]S enthält für alle Paare von Tupeln von r R und s S , die für alle
Attribute von a 1 ,… a n definiert sind und jeweils identische Werte besitzen,
jeweils das Tupel r+s .
4) Da nach der Voraussetzung für zu verknüpfende r und s alle Attribute von a 1 ,…
a n identische Werte besitzen, sind r und s widerspruchsfrei 8 , und somit ist r+s
definiert.
Ein Tupel r R kann mit einem Tupel s S, mit mehreren Tupeln s S oder mit kei-
nem Tupel s S verbunden werden.
Beispiel
Bestellung Join[kunden_nr] Kunde
Bestell_
Nr
Bestell-
datum
Liefer-
datum
Rechnungs-
betrag
Kunden_
Nr
Status
Name
Straße …
151
28.04.2000
02.05.2000
196,75
101
S
Stein, Peter
152
30.04.2000
02.05.2000
2270,86
103
S
Randers, Nis
153
12.05.2000
105
S
Stuff,
Werner
154
15.05.2000
103
S
Randers, Nis
7
In XBase fehlt diese Operation. Die JOIN-Anweisung enthält zwar die Möglichkeit, entspre-
chend Punkt 2 die Verbindungsbedingung zu formulieren, aber gleichnamige Feld-Bezeichner
können nicht umbenannt werden. Somit sind die Operationen der Relationenalgebra in XBase
nicht vollständig formulierbar (außer durch explizite Programmierung mit verschachtelten
Programmschleifen - das können wir aber auch in jeder »normalen« Programmiersprache).
8
Vgl. Abschnitt 2.1.3.
 
Search WWH ::




Custom Search