KWALIFIKACJA INF3 - STYCZEŃ 2019

PYTANIE NR 26.
W jaki sposób wykonanie podanej kwerendy SQL wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);

A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Polecenie
ALTER TABLE pracownicy MODIFY plec char(9);
modyfikuje istniejącą kolumnę plec, zmieniając jej definicję typu danych. Typ CHAR(9) oznacza pole znakowe o stałej długości 9 znaków, więc nie dodaje nowej kolumny i nie ustawia długości zmiennej.

Pełne wyjaśnienie:

Polecenia z grupy DDL (Data Definition Language) służą do zmiany struktury bazy danych. W tym zadaniu użyto składni:

ALTER TABLE pracownicy MODIFY plec char(9);

Kluczowe są tu dwa elementy:

  • ALTER TABLE pracownicy – oznacza, że modyfikowana jest definicja tabeli pracownicy, a nie jej dane w wierszach.
  • MODIFY plec char(9) – wskazuje na zmianę definicji istniejącej kolumny o nazwie plec na nowy typ.

Odpowiedź "Zmieni typ danych kolumny plec na znakowy o stałej długości 9" jest poprawna, ponieważ typ CHAR(9) przechowuje tekst w polu o stałej długości (wartość jest dopasowywana do 9 znaków, zwykle przez dopełnienie spacjami zgodnie z zasadami danego systemu).

Pozostałe odpowiedzi są błędne z następujących powodów:

  • Stwierdzenia o "dodaniu kolumny plec ..." są niepoprawne, bo dodawanie kolumn realizuje się inną składnią (zwykle z użyciem słowa ADD). Samo MODIFY nie tworzy nowej kolumny, tylko zmienia definicję już istniejącej.
  • Stwierdzenia o "zmiennej długości 9" nie pasują do typu CHAR. Zmienna długość jest typowa dla rodzin typu VARCHAR, natomiast CHAR(n) oznacza długość stałą.

Wskazówka egzaminacyjna: gdy w odpowiedziach pojawia się wybór między "stałą" i "zmienną" długością, patrz najpierw na nazwę typu: CHAR → stała, a typy z członem VAR → zmienna.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
ALTER TABLE służy do zmiany definicji (schematu) istniejącej tabeli, np. dodania/usunięcia kolumny, zmiany typu danych, ustawienia ograniczeń. Nie służy do edycji pojedynczych rekordów—do tego używa się zwykle poleceń DML, np. UPDATE.
W dialektach SQL takich jak MySQL/MariaDB słowo MODIFY oznacza modyfikację definicji istniejącej kolumny, np. zmianę jej typu danych lub właściwości. Nie jest to dodawanie nowej kolumny. Przykład: MODIFY nazwa CHAR(20) zmienia typ kolumny nazwa.
CHAR(9) to typ znakowy o stałej długości 9 znaków. Baza przechowuje wartość w polu o długości 9, a krótsze dane mogą być dopełniane (np. spacjami) zgodnie z regułami systemu. Stosuje się go dla danych o stałej długości.
CHAR ma stałą długość, a VARCHAR ma długość zmienną do podanego limitu. CHAR bywa korzystny przy danych o stałej długości (np. kody), a VARCHAR zwykle oszczędza miejsce przy tekstach o różnej długości. W pytaniach egzaminacyjnych to częsta pułapka.
Dodawanie kolumny w SQL jest zwykle sygnalizowane słowem ADD (np. ADD COLUMN ...). MODIFY dotyczy kolumny już istniejącej—zmienia jej parametry, ale nie tworzy nowej. Warto patrzeć na czasownik w poleceniu DDL, bo on określa operację.
Typ danych zmienia się np. gdy aplikacja zaczyna wymagać dłuższego pola tekstowego, gdy ujednolica się format zapisu danych albo gdy wcześniejszy typ był dobrany błędnie. W projektach webowych często robi się to w ramach migracji bazy (zmian wersji schematu).
Ryzyko zależy od danych: przy przejściu na stałą długość może dojść do obcięcia wartości dłuższych niż 9 znaków lub do zmiany sposobu porównań/wyświetlania (np. dopełnianie spacjami). Przed zmianą schematu warto sprawdzić dane i wykonać kopię zapasową.
Nie zawsze. Składnia ALTER TABLE ... MODIFY jest typowa dla niektórych dialektów (np. MySQL/MariaDB). Inne systemy mogą wymagać innej formy (np. z użyciem ALTER COLUMN). Na egzaminie kluczowe jest rozpoznanie, jaki wariant składni jest testowany.
DDL zmienia strukturę (CREATE, ALTER, DROP), a DML zmienia dane (SELECT, INSERT, UPDATE, DELETE). Jeśli w treści jest ALTER TABLE, to prawie na pewno pytanie dotyczy schematu tabeli (kolumn, typów, ograniczeń), a nie rekordów.
Najczęstsze pomyłki to: mylenie MODIFY z dodaniem kolumny, nieuwzględnianie różnicy CHAR vs VARCHAR, oraz ignorowanie skutków zmiany typu (obcięcie danych, niezgodność z istniejącymi wartościami). Pomaga analiza słów kluczowych i typu danych.
info

Statystycznie 62% uczniów zna prawidłową odpowiedź. średnie

Według specjalistów z branży: "Polecenie ALTER TABLE pracownicy MODIFY plec char(9); modyfikuje istniejącą kolumnę plec, zmieniając jej definicję typu danych."

Źródła:

  • MySQL 8.0 Reference Manual: ALTER TABLE Statement (sekcja o MODIFY/MODIFY COLUMN) — https://dev.mysql.com/doc/refman/8.0/en/alter-table.html (dostęp: 2026-03-01)
  • MariaDB Documentation: ALTER TABLE (opis MODIFY COLUMN) — https://mariadb.com/kb/en/alter-table/ (dostęp: 2026-03-01)
  • MySQL 8.0 Reference Manual: Data Types, CHAR and VARCHAR Type — https://dev.mysql.com/doc/refman/8.0/en/char.html (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja SQL DDL dla używanego DBMS (ALTER TABLE)
  • Materiały o typach danych znakowych (CHAR vs VARCHAR)
  • Ćwiczenia z projektowania schematu relacyjnej bazy danych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego