KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 39.
Wykonanie przedstawionego polecenia PHP umożliwi
Ilustracja przedstawia fragment kodu PHP, który jest używany do wykonania zapytania SQL.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest odpowiedź "modyfikację danych w bazie", ponieważ polecenie aktualizuje istniejące rekordy (zmienia wartości pól), a nie tworzy/usuwa tabel ani nie zmienia ich definicji.
Odczyt dotyczy zapytań typu SELECT, zapis nowych danych to INSERT, a zmiana struktury bazy wynika z poleceń DDL (np. ALTER/CREATE/DROP).

Pełne wyjaśnienie:

W bazach danych warto rozróżniać modyfikację danych od modyfikacji struktury. Dane to zawartość tabel (wiersze/rekordy i wartości w kolumnach), natomiast struktura to definicja tabel i relacji (np. nazwy i typy kolumn, klucze, indeksy).

Odpowiedź "modyfikację danych w bazie" oznacza, że wykonane polecenie zmienia już istniejące informacje zapisane w tabeli, np. aktualizuje wartość pola w wybranych rekordach. Typowo odpowiada to operacjom DML (Data Manipulation Language), takim jak aktualizacja rekordów. W kontekście PHP jest to zwykle wykonanie zapytania SQL wysłanego do serwera bazy (np. przez mysqli lub PDO), którego skutkiem jest zmiana wartości w tabeli.

Dlaczego pozostałe odpowiedzi nie pasują:

  • "modyfikację struktury bazy" dotyczy poleceń DDL (Data Definition Language), np. zmiany schematu tabeli, dodania kolumny, utworzenia tabeli lub indeksu. Tego typu operacje nie polegają na zmianie wartości w istniejących rekordach.
  • "odczyt danych z bazy" to typowy skutek zapytania SELECT, które zwraca wynik do aplikacji, ale nie zmienia zawartości tabel.
  • "zapis nowych danych do bazy" odpowiada głównie operacji INSERT, czyli dodawaniu nowych rekordów. To inny przypadek niż zmiana już istniejących wierszy.

Wskazówka egzaminacyjna: gdy widzisz polecenie, zadaj sobie pytanie: czy powstają nowe rekordy, czy zmieniają się istniejące, czy tylko odczytuję, czy zmieniam schemat?. Takie rozróżnienie pozwala szybko przypisać działanie do jednej z kategorii CRUD (Create/Read/Update/Delete) i odróżnić DML od DDL.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Modyfikacja danych oznacza zmianę zawartości tabel: aktualizację wartości w istniejących rekordach, dodanie nowych rekordów albo usunięcie części z nich. Są to operacje typu DML, np. UPDATE, INSERT, DELETE. Nie zmieniają one definicji tabeli ani typów kolumn.
Modyfikacja danych dotyczy wartości w wierszach (rekordach), np. zmiana ceny produktu. Modyfikacja struktury dotyczy schematu, np. dodanie kolumny, zmiana typu danych lub utworzenie tabeli. Struktura jest zmieniana poleceniami DDL (ALTER/CREATE/DROP), a dane zwykle DML (UPDATE/INSERT/DELETE).
SELECT służy do odczytu i zwraca zestaw wyników do aplikacji. Standardowo nie zmienia żadnych rekordów ani schematu, więc jest operacją typu "Read" w CRUD. Jeśli w zadaniu chodzi o zmianę wartości, to nie będzie to SELECT, tylko np. UPDATE lub INSERT/DELETE.
UPDATE stosuje się, gdy rekord już istnieje i chcesz zmienić jego pola (np. status zamówienia). INSERT stosuje się, gdy tworzysz nowy rekord (np. nowe zamówienie). Na egzaminie warto patrzeć, czy polecenie wskazuje na "aktualizację istniejących" czy "dodanie nowych" danych.
Zmianę struktury zwykle zdradzają polecenia DDL, np. CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX. Taki kod dotyczy tabel, kolumn, kluczy i indeksów, a nie konkretnych wartości w rekordach. Jeśli zadanie mówi o definicji kolumn lub kluczach, to jest to struktura.
Tak. Usuwanie rekordów (DELETE) zmienia zawartość tabeli, więc jest modyfikacją danych (DML). To inna operacja niż modyfikacja struktury, bo schemat tabeli pozostaje taki sam. Na testach często rozróżnia się: odczyt (SELECT), dodanie (INSERT), aktualizacja (UPDATE), usunięcie (DELETE).
Najczęściej spotkasz mysqli lub PDO. PHP wysyła zapytanie SQL do serwera bazy, a wynik zależy od rodzaju zapytania: SELECT zwraca dane, a INSERT/UPDATE/DELETE zwracają informację o powodzeniu i liczbie zmienionych wierszy. Dla bezpieczeństwa zaleca się zapytania parametryzowane.
Bo oba przypadki "zmieniają bazę", ale w inny sposób. "Zapis nowych danych" to dodanie rekordów (INSERT), a "modyfikacja danych" często oznacza zmianę istniejących rekordów (UPDATE) lub ich usunięcie (DELETE). Pomaga myślenie w kategoriach CRUD: Create vs Update.
Błędny lub brakujący warunek WHERE może zmodyfikować zbyt wiele rekordów, nawet całą tabelę. Na egzaminie zwracaj uwagę, czy zapytanie ogranicza zmiany do konkretnego ID lub innego kryterium. W praktyce przed UPDATE/DELETE często wykonuje się SELECT z tym samym WHERE.
Ćwicz mapowanie słów-kluczy do celu operacji: SELECT=odczyt, INSERT=dodanie, UPDATE=zmiana istniejących danych, DELETE=usunięcie, ALTER/CREATE/DROP=struktura. Pomaga też nauka CRUD oraz DDL/DML. Rozwiązuj krótkie zadania z opisem skutku zapytania, a nie tylko z jego składnią.
info

To pytanie poprawnie rozwiązuje 42% zdających egzamin. trudne

Źródła:

  • MySQL 8.0 Reference Manual: UPDATE Statement, https://dev.mysql.com/doc/refman/8.0/en/update.html - dostęp 2026-03-02
  • MySQL 8.0 Reference Manual: ALTER TABLE Statement, https://dev.mysql.com/doc/refman/8.0/en/alter-table.html - dostęp 2026-03-02
  • PHP Manual: PDO::exec, https://www.php.net/manual/en/pdo.exec.php - dostęp 2026-03-02

Materiały:

  • Dokumentacja MySQL: opis instrukcji UPDATE/INSERT/SELECT/ALTER
  • Dokumentacja PHP: mysqli oraz PDO (wykonywanie zapytań, obsługa błędów)
  • Materiały dydaktyczne o CRUD i podziale DDL/DML

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego