Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych Algorytmy i podstawy informatyki

W algebrze relacji operacja selekcji polega na

A. wybraniu krotek niezawierających wartości NULL.
B. wyeliminowaniu krotek z powtarzającymi się polami.
C. wybraniu krotek spełniających określone warunki.
D. wyeliminowaniu pustych wierszy.

Pytanie z egzaminu CKE, styczeń 2015 (arkusz E.14-X-15.01).

Operacja selekcji w algebrze relacji oznacza wybranie z relacji tylko tych krotek, które spełniają podany warunek logiczny. Mówiąc prościej: filtrujemy wiersze tabeli, ale nie zmieniamy zestawu kolumn. Jeśli mamy relację Uczniowie z polami id, imie, klasa, srednia, to selekcja może zwrócić tylko osoby z klasy 3TP albo tylko tych uczniów, których średnia jest większa niż 4.0. W praktyce bazodanowej najbliższym odpowiednikiem jest klauzula WHERE w SQL, na przykład: SELECT * FROM uczniowie WHERE klasa = '3TP'. Moim zdaniem to jedna z najważniejszych operacji, bo prawie każde sensowne zapytanie do bazy danych zawiera jakieś ograniczenie danych. Dobra praktyka polega na tym, żeby warunki były jednoznaczne, logiczne i oparte na właściwych typach danych, np. liczby porównujemy jak liczby, a daty jak daty. Warto też pamiętać, że selekcja działa na krotkach, czyli całych rekordach, a nie na pojedynczych polach wyświetlanych w wyniku.
W algebrze relacji łatwo pomylić selekcję z innymi operacjami, bo w języku potocznym słowo „wybór” bywa używane do wszystkiego. Jednak technicznie selekcja nie oznacza usuwania rekordów z wartościami NULL. W klasycznej algebrze relacji NULL nawet nie jest podstawowym pojęciem w takim sensie jak w SQL, gdzie oznacza brak znanej wartości. Filtrowanie rekordów bez NULL-i można oczywiście wykonać warunkiem, ale to tylko konkretny przypadek selekcji, a nie definicja tej operacji. Nie chodzi też o eliminowanie powtarzających się pól czy duplikatów. Usuwanie duplikatów wiąże się raczej z własnościami relacji jako zbioru albo z operacją projekcji, gdy wybieramy kolumny i w wyniku mogą powstać identyczne krotki. Selekcja nie zmienia struktury tabeli i nie wybiera kolumn, tylko zostawia lub odrzuca całe wiersze według predykatu. Puste wiersze to też trochę mylące pojęcie, bo poprawnie zaprojektowana relacja składa się z krotek o określonym schemacie, a „pusty wiersz” nie jest typowym elementem modelu relacyjnego. Z mojego doświadczenia uczniowie często kojarzą selekcję z czyszczeniem danych, ale w bazach danych trzeba rozróżniać filtrowanie rekordów, usuwanie wartości brakujących, eliminację duplikatów i wybór kolumn. To są różne operacje i mają różne zastosowania w zapytaniach.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.