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: Programowanie webowe Bazy danych

Słowa kluczowe: CRUD DML w SQL UPDATE w SQL

UPDATE katalog SET katalog.cena = [cena]*1.1; Przedstawiona instrukcja zapisana w języku SQL jest przykładem kwerendy

UPDATE katalog SET katalog.cena = [cena]*1.1;
Przedstawiona instrukcja zapisana w języku SQL jest przykładem kwerendy
A. krzyżowej.
B. dołączającej.
C. aktualizującej.
D. usuwającej.

Pytanie z egzaminu CKE, czerwiec 2021 (arkusz E.14-SG-21.06).

Instrukcja UPDATE katalog SET katalog.cena = [cena]*1.1; jest przykładem kwerendy aktualizującej, ponieważ używa polecenia UPDATE oraz klauzuli SET do zmiany wartości w istniejących rekordach tabeli. W tym przypadku modyfikowana jest tabela katalog, a konkretnie pole cena. Wyrażenie [cena]*1.1 oznacza podniesienie aktualnej ceny o 10%, czyli np. cena 100 zostanie zamieniona na 110. Nawiasy kwadratowe wokół nazwy pola są często spotykane np. w Microsoft Access, szczególnie gdy chcemy jednoznacznie wskazać nazwę kolumny albo gdy nazwa mogłaby kolidować ze słowami zastrzeżonymi. W praktyce taka kwerenda przydaje się np. przy masowej zmianie cen produktów, aktualizacji stanów magazynowych albo korekcie danych po imporcie. Warto zauważyć ważną rzecz: w zapytaniu nie ma klauzuli WHERE, więc zmiana obejmie wszystkie rekordy w tabeli. Moim zdaniem to jeden z tych szczegółów, które trzeba sobie mocno zapamiętać, bo w prawdziwej bazie można przez to niechcący zmienić setki albo tysiące wierszy. Dobra praktyka branżowa to najpierw sprawdzić zakres zmian zapytaniem SELECT, wykonać kopię zapasową albo użyć transakcji, jeśli system bazy danych to obsługuje.
W tej instrukcji najważniejszym sygnałem jest słowo UPDATE, które w SQL oznacza modyfikowanie istniejących danych w tabeli. Łatwo pomylić rodzaje kwerend, zwłaszcza gdy patrzy się tylko na to, że zapytanie coś robi z danymi, ale w bazach danych konkretne słowa kluczowe mają bardzo precyzyjne znaczenie. Kwerenda krzyżowa służy do zestawień i przekształcania danych w formie tabeli przestawnej, zwykle z agregacją, na przykład zliczaniem sprzedaży według miesięcy i kategorii. Nie zmienia ona bezpośrednio wartości w rekordach, tylko prezentuje dane w innym układzie. Kwerenda usuwająca opiera się na poleceniu DELETE i jej celem jest kasowanie rekordów z tabeli, a tutaj żadne rekordy nie są usuwane. Zmieniana jest tylko zawartość pola cena. Kwerenda dołączająca, często kojarzona z INSERT INTO, dopisuje nowe rekordy do tabeli, czyli zwiększa liczbę wierszy. W pokazanym zapytaniu nie pojawia się tworzenie nowego rekordu, tylko przeliczenie wartości już istniejącej kolumny. Typowy błąd myślowy polega na tym, że każdą operację zmieniającą dane traktuje się ogólnie jako dołączanie albo usuwanie, bez sprawdzenia składni. W praktyce warto czytać zapytanie od pierwszego słowa: UPDATE wskazuje aktualizację, DELETE usuwanie, INSERT dodawanie, a SELECT pobieranie danych. Tutaj dodatkowo klauzula SET mówi dokładnie, które pole ma dostać nową wartość. Brak WHERE oznacza, że aktualizacja obejmie całą tabelę, co jest bardzo ważne przy pracy na rzeczywistych bazach.

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.