- Selektion (Informatik)
-
Als Selektion bezeichnet man in der Informatik die Auswahl von Datenobjekten aus einer Datenmenge. Selektion ist ein wichtiger Teil von Datenbanken. In der Relationalen Algebra ist die Selektion daher einer von fünf Operatoren, der in Relationalen Datenbanken als Datenbankoperator implementiert wird.
Aufgabe
Dabei werden Datenobjekte nach ihren Eigenschaften ausgewählt, um sie anzuzeigen, zu exportieren, zu verändern (Update) oder als Referenz für einen Vergleich zu verwenden. Hierbei kann man zwischen eindeutigen Anfragen unterscheiden, die nur ein einziges Tupel als Resultat zurückgeben und solchen, die eine Liste mit Tupeln liefern.
Implementierung
Die jeweilige Implementierung hängt stark von der verwendeten Datenbank ab. Da solche Systeme von ihrer Konzeption auf das Auffinden von Datensätzen ausgelegt sind, wird keine lineare Suche verwendet. Eine solche Suche über große Datenmengen ist ineffizient und häufig technisch nicht realisierbar. Hier kommen stattdessen Indizes zum Einsatz, die es erlauben, mit einem Schlüssel Daten schnell in einer Datenmenge zu finden. Solche Indizes verwenden sogenannte Indexstrukturen. Ein Schwerpunkt liegt bei der Realisierung vor allem auch auf der Skalierbarkeit und Parallelisierung über verschiedene Computer sowie der Minimierung von Festplattenzugriffen.
Beispiele
Heute hat sich SQL auf dem Markt als Standard-Anfragesprache für relationale Datenbanksysteme durchgesetzt. Eine Selektion erfolgt hier über die sog. "WHERE"-Klausel, in der die Selektionskriterien angegeben werden. Das einleitende Schlüsselwort "SELECT" einer SQL-Anfrage realisiert dagegen die Projektion, d.h. die Einschränkung der Ergebnis-Tupel auf einzelne Attribute:
- "
SELECT * FROM Tabelle
" liefert alle Zeilen (= Tupel) der Tabelle mit allen Attributen. - "
SELECT * FROM Tabelle WHERE a=25
" gibt nur die Tupel zurück, deren Attribut 'a' den Wert 25 hat. - "
SELECT Name FROM Tabelle WHERE a=25
" wie oben, die Tupel enthalten aber nur das Attribut 'Name'.
- "
Wikimedia Foundation.