Selektion

Die Selektion ist eine Grundoperation der relationalen Algebra und damit lässt sie sich nicht durch andere Operationen simulieren. Sie ist eine unäre Operation, die nur über einer Eingangsmenge (Relation) ausgeführt wird.

Mit der Selektion werden bestimmte Tupel, sprich Zeilen, aus einer bestehenden Relation ausgewählt. Das Ergebnis der Selektion ist wieder eine Relation nämlich die Ergebnismenge von Tupeln, die die Selektionsbedingung erfüllen. Zu beachten ist, dass es sich aufgrund des möglichen Auftretens von leeren Attributen (NULL) um eine dreiwertige Logik handelt bei der Auswertung des Selektionsprädikats.

Definition:

Auf einer Relation R(A1,...,An) mit den Attributwerten a1,...,an wird das Selektionsprädikat B als Abbildung

  B: R →{ wahr, falsch, unknown }, also B(a1,...,an)∈{ wahr, falsch, unknown }

erklärt.

Dann ist die Selektion die Menge aller Tupel aus R, auf denen das Selektionsprädikat den Wert wahr (TRUE) hat:

  Selektion (R,B) := { (a1,...,an) ∈ R  |  B(a1,...,an) = wahr }

Somit besteht die Ergebnismenge nur aus den Tupeln, für die das Selektionsprädikat B zu wahr ausgewertet wurde und ist damit eine (ggf. echte) Teilmenge von R. Die Attributstruktur der Ergebnistupel ist die gleiche wie in R, also A1,...,An. Doppelte Tupel können bei dieser Operation nicht entstehen, da ja die Ausgangsrelation R auch eine Menge ist, in der doppelte Elemente nicht zugelassen sind.

Beispiele:

Es sei folgende Mitarbeiter-Relation gegeben:

Mita_IDNameVornameOrtAbt_IDGehalt
4711MüllerAgatheGummersbach103000,00
4713MeierHugoKöln203400,00
4897SchmittErwinGummersbach202500,00
4944SchmitdElseGummersbach20 
  Selektion(Mitarbeiter, (Gehalt < 3000,00))

Ergebnis:

Mita_IDNameVornameOrtAbt_IDGehalt
4897SchmittErwinGummersbach202500,00
  Selektion(Mitarbeiter, (Gehalt > 1000,00 AND Ort = 'Gummersbach'))

Ergebnis:

Mita_IDNameVornameOrtAbt_IDGehalt
4711MüllerAgatheGummersbach103000,00
4897SchmittErwinGummersbach202500,00

siehe auch: 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, S