aus "Datenbanken Online Lexikon"

Datenbanken: Union

Union
Union


Der Union (Vereinigung) gehört neben der Differenz und dem Durchschnitt zu den Mengenoperationen der relationalen Algebra. Er ist einer der Grundoperatoren, der sich nicht durch andere Operatoren simulieren läßt.

Definition

Seien R1(A1,...,An) und R2(A1,...,An) zwei vereinigungskonforme Relationen mit den Attributwerten a1,...,an.

Die Union-Operation ist definiert durch:

    Union(R1,R2) := { (a1,...,an) | (a1,...,an)∈R1 oder (a1,...,an)∈R2  } 

Zu beachten ist, dass sich die Ausführung des Vereinigungsoperators auf die gesamte Attributstruktur beider Eingangsmengen bezieht und nicht nur über irgendwelche Primärschlüssel-Attribute oder namensgleiche Attribute ausgeführt wird. Dies bedingt die bereits oben erwähnte Vereinigungskonformität. Der Operator ist kommutativ anwendbar, d.h. es spielt keine Rolle, in welcher Reihenfolge die rechte und linke Anfrage als Eingangsmengen verwendet werden.

Bei der Vereinigung von zwei duplikatfreien Mengen können naturgemäß Duplikate (wertgleiche Datensätze) in der Ergebnismenge auftreten. Implizit wird bei der Vereinigung automatisch eine Duplikatelimination durchgeführt, so dass die Mengeneigenschaft der Ergebnismenge dieses Operators gewahrt bleibt. (siehe Definition)

Beispiele:

  -- Welche Kunden haben vorbestellt oder Aufträge erteilt?   

  -- so geht's nicht:
  Union (Vorbestellungen, Auftraege) -- Die beiden Eingangsmengen Vorbestellungen und Auftraege sind nicht vereinigungskonform.
                                     -- Sie haben nicht die gleichen Attribute und die Anzahl ist unterschiedlich.
                                     -- Diese Operation ist so also rein syntaktisch nicht ausführbar.

  -- so funktioniert's:
  -- Das für diese Aufgabenstellung semantisch sinnvolle Attribut der Relationen Vorbestellungen und Auftraege ist die K_Nr.
  -- Daher muss auf dieses Attribut projiziert werden, damit die beiden Eingangsmengen auch vereinigungskonform sind.
  Union ( Projektion(Vorbestellungen, K_Nr), Projektion(Auftraege, K_Nr) )

siehe auch: Anfragemengenausdruck in SQL

Quellen:

Kategorie: Relationale Algebra, U

URL: http://wikis.gm.fh-koeln.de/wiki_db/index.php?n=Datenbanken.Union
Zuletzt geändert am 18.11.2012, um 11:17:11