W algebrze relacji selekcja (często zapisywana symbolem σ) jest operacją, która wybiera podzbiór krotek z danej relacji na podstawie warunku (predykatu). Wynikiem jest relacja o tym samym schemacie (tych samych atrybutach), ale zawierająca tylko te wiersze, które spełniają kryterium.
Odpowiedź "wybraniu krotek spełniających określone warunki" jest poprawna, bo opisuje dokładnie istotę operatora: filtrowanie rekordów według predykatu (np. "wiek > 18", "status = 'aktywny'"). W praktyce jest to odpowiednik idei klauzuli WHERE w SQL.
Pozostałe odpowiedzi są błędne, bo opisują inne problemy/operacje:
- "wyeliminowaniu pustych wierszy" – w modelu relacyjnym nie ma standardowego pojęcia "pustego wiersza" jako celu selekcji; selekcja nie jest operacją czyszczącą dane, tylko wyborem na podstawie predykatu.
- "wybraniu krotek niezawierających wartości NULL" – to szczególny przypadek filtrowania warunkiem (można zbudować predykat o braku NULL), ale nie stanowi definicji selekcji. Selekcja nie jest ograniczona do NULL i nie musi ich dotyczyć.
- "wyeliminowaniu krotek z powtarzającymi się polami" – eliminacja duplikatów to odrębne zagadnienie (w zależności od formalizmu: własność relacji jako zbioru lub dodatkowe operatory). Nie jest to istota selekcji, bo selekcja nie porównuje wierszy między sobą, tylko sprawdza warunek dla każdego wiersza.
Wskazówka egzaminacyjna: jeśli w treści pojawia się "spełniające warunek", "filtr", "predykat", myśl o selekcji. Jeśli mowa o "wyborze kolumn", to zwykle projekcja, a jeśli o "duplikatach", to nie selekcja.