Databases Reference
In-Depth Information
Die Klammerung
(Artikel Join*[artikel_nr] Position)
Join[bestell_nr] Bestellung
Join[kunden_nr] Kunde
würde für den Fall, dass irgendeine Position nicht zu einer Bestellung gehört
(ungültige Bestellung in der Relation
Position
) oder dass eine ungültige Kunden-
nummer in der Relation
Bestellung
enthalten ist, die entsprechenden Artikel nicht
mit aufführen, da für Artikel ohne Positionen das Verbindungsattribut NULL ist.
Hinweis:
Wie wir eben gesehen haben, ist die Verwendung von mehreren verschiedenen
(inneren und äußeren) Verbunden in einem relationalen Ausdruck problematisch.
Voraussetzung dafür ist eine sehr genaue Analyse, und es sind dann Klammern zu
setzen.
2.4.9 Mengenoperationen
Seien
R1
und
R2
Relationen vom gleichen Typ (d.h. die Attribut-Bezeichner und
ihre entsprechenden Domänen sind gleich, vgl. Kap. 2.1). Dann sind durch
für die Vereinigungsmenge der Tupel von
R1
und
R2
, d.h. die Menge der
Tu p e l , d i e i n
R1
oder in
R2
oder in beiden Mengen enthalten sind,
R1
∪
R2
R1
∩
R2
für die Durchschnittsmenge, d.h. die Menge der Tupel, die sowohl in
R1
und
R2
enthalten sind, und
für die Differenzmenge, d.h. die Menge der Tupel von
R1
, die nicht in
R2
enthalten sind,
R1 \ R2
rein mengentheoretisch weitere Relationen definiert.
11
Beispiele
Sel[lagerplatz=5](Artikel)
∪
Sel[lagerplatz=7](Artikel)
Sel[verpackung='Karton'](Artikel)
∩
Sel[lagerplatz=7](Artikel)
Sel[lagerplatz=7](Artikel) \ Sel[verpackung='Karton'](Artikel)
11 Wir können die Bedingung der Homogenität der Relationen bei der Vereinigungsbildung fal-
len lassen. Wir bekommen dann eine Relation, die als Attribute die Vereinigungsmenge der At-
tribute der zu vereinigenden Relationen enthält und die die Vereinigungsmenge der Tupel ent-
hält - die jeweils nicht definierten Attribute enthalten dann Nullmarken. Dieses ist als OUTER
UNION in SQL definiert.
Für den Durchschnitt macht diese Erweiterung wenig Sinn, da dann immer eine leere Relation
herauskommt - eben so wenig macht sie bei der Differenz Sinn, da dann nichts abzuziehen ist.