Durchschnitt

Durchschnitt
Durchschnitt


Der Durchschnitt gehört neben der Vereinigung und dem Differenz zu den Mengenoperationen der relationalen Algebra. Er ist für zwei vereinigungskonforme Relationen simulierbar durch eine Umbenennung und eine Natural-Join-Operation.

Definition:

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

Die Durchschnitt-Operation ist definiert durch:

    Durchschnitt (R1,R2) := { (a1,...,an) | (a1,...,an) ∈ R1 und (a1,...,an) ∈ R2 }. 

Zu beachten ist, dass sich die Ausführung des Durchschnittsoperators 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.

Beispiel: Welche Kunden sind auch Angestellte?

  -- so funktioniert's: 
  -- Gemeinsame Attribute der Relationen Kunden und Angestellte sind Nachname, Vorname.
  -- Daher muss auf diese Attribute projiziert werden, damit die beiden Eingangsmengen auch vereinigungskonform sind.
  Durchschnitt ( Projektion(Kunden, Nachname, Vorname), Projektion(Angestellte, Nachname, Vorname) )

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

siehe auch: Anfragemengenausdruck in SQL , Rechengesetze-der-relationalen-Algebra

Quellen:

  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
  • Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Kemper, Alfons/Eickler, André: "Datenbanksysteme", Oldenbourg, München, 2009, 978-3-486-59018-0
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
  • Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, München, 2008, ISBN 978-3-486-27574-2

Kategorie: Relationale Algebra, D