KWALIFIKACJA INF3 - CZERWIEC 2019

PYTANIE NR 25.
W języku zapytań SQL, aby dodać do tabeli Towar kolumnę rozmiar typu znakowego o maksymalnej długości 20 znaków, należy wykonać polecenie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
ALTER TABLE ... ADD służy do dodawania nowej kolumny do istniejącej tabeli. Dlatego poprawne jest polecenie "ALTER TABLE Towar ADD rozmiar varchar(20);", które tworzy kolumnę rozmiar typu znakowego o długości maks. 20. Pozostałe opcje dotyczą usuwania kolumny, zmiany istniejącej lub używają niepoprawnego słowa kluczowego.

Pełne wyjaśnienie:

Pytanie dotyczy operacji DDL (Data Definition Language), czyli zmiany struktury tabeli w bazie danych. Gdy chcemy dodać nową kolumnę do istniejącej tabeli, w typowych systemach zarządzania bazą danych stosuje się polecenie:

ALTER TABLE nazwa_tabeli ADD nazwa_kolumny typ(długość);

Dlatego odpowiedź "ALTER TABLE Towar ADD rozmiar varchar(20);" jest właściwa: wskazuje tabelę Towar, dodaje kolumnę rozmiar i nadaje jej typ znakowy varchar z limitem 20 znaków.

Dlaczego pozostałe propozycje są błędne?

  • "ALTER TABLE Towar DROP COLUMN rozmiar varchar(20);" – czasownik DROP COLUMN oznacza usunięcie kolumny, a nie jej dodanie. Dodatkowo w wielu dialektach po DROP COLUMN nie podaje się ponownie typu.
  • "ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20);" – ta konstrukcja służy do modyfikacji istniejącej kolumny (np. zmiany typu lub własności), a nie do tworzenia nowej. Jeżeli kolumna nie istnieje, polecenie nie spełnia celu pytania.
  • "ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20);" – fraza CREATE COLUMN nie jest standardowym elementem składni ALTER TABLE w popularnych SZBD; "CREATE" dotyczy zwykle tworzenia obiektów (np. CREATE TABLE), a nie dodawania kolumn w ALTER TABLE.

W praktyce warto pamiętać zasadę: ADD = dodaj nowy element, ALTER (kolumny) = zmień istniejący, DROP = usuń. Na egzaminie zwracaj uwagę na czasownik operacji, bo to on przesądza o tym, czy modyfikujesz schemat zgodnie z poleceniem.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
ALTER TABLE służy do zmiany struktury istniejącej tabeli, czyli operuje na schemacie (DDL). Pozwala m.in. dodawać i usuwać kolumny, zmieniać typ danych kolumny oraz modyfikować ograniczenia. Nie służy do wstawiania rekordów (to rola INSERT).
Najczęściej używa się składni ALTER TABLE nazwa ADD nazwa_kolumny typ. Przykład: ALTER TABLE Towar ADD rozmiar VARCHAR(20);. Kluczowe jest słowo ADD, które oznacza dodanie nowego elementu do istniejącej tabeli.
VARCHAR to typ znakowy o zmiennej długości, a liczba w nawiasie określa maksymalną liczbę znaków dopuszczalną w polu. Zapis VARCHAR(20) ogranicza wartości do 20 znaków, co pomaga kontrolować dane i rozmiar przechowywania w kolumnie tekstowej.
ADD (COLUMN) dodaje nową kolumnę do tabeli. ALTER COLUMN (w zależności od dialektu) służy do zmiany właściwości kolumny, która już istnieje, np. typu danych, długości lub NULL/NOT NULL. Pomylenie tych operacji to częsty błąd na testach.
Zależy od dialektu SQL. W wielu systemach można użyć krótszej formy "ADD nazwa typ", a w innych spotyka się "ADD COLUMN nazwa typ". Na egzaminie zwykle akceptowana jest forma zgodna z popularnymi SZBD; najważniejsze jest poprawne użycie ALTER TABLE i ADD.
DROP COLUMN usuwa istniejącą kolumnę z tabeli. To operacja DDL, która zmienia schemat i zwykle powoduje utratę danych zapisanych w tej kolumnie. Dlatego nie pasuje do zadań, w których trzeba kolumnę dodać, a nie usuwać.
Najczęstsze pomyłki to: użycie DROP zamiast ADD, próba "CREATE COLUMN" w ALTER TABLE, mylenie ALTER COLUMN z dodaniem kolumny, oraz błędna kolejność elementów (np. typ przed nazwą kolumny). Pomaga czytanie polecenia pod kątem czasownika: dodać/zmienić/usunąć.
Gdy aplikacja wymaga nowego atrybutu produktu, np. rozmiaru, koloru, wagi czy producenta. W projektach webowych robi się to często w ramach migracji bazy danych podczas wdrożenia nowej wersji systemu, aby nie usuwać istniejących rekordów, tylko rozszerzyć model danych.
Może wpływać. Dodanie kolumny zwykle nie usuwa danych, ale nowa kolumna dla istniejących wierszy otrzyma wartość domyślną lub NULL (zależnie od definicji). Z kolei usunięcie kolumny (DROP COLUMN) usuwa dane bezpowrotnie, a zmiana typu może wymagać konwersji.
Możesz użyć narzędzi administracyjnych (np. podgląd struktury tabeli w GUI) lub zapytań systemowych zależnych od SZBD. Najprościej: wykonaj ponownie opis tabeli w danym środowisku (np. komenda typu DESCRIBE/\d w zależności od systemu) i zweryfikuj, czy kolumna widnieje z właściwym typem.
info

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

Specjaliści zwracają uwagę: "ALTER TABLE ... ADD służy do dodawania nowej kolumny do istniejącej tabeli."

Źródła:

  • PostgreSQL Documentation: ALTER TABLE — ADD COLUMN, https://www.postgresql.org/docs/current/sql-altertable.html (dostęp: 2026-03-05)
  • MySQL 8.0 Reference Manual: ALTER TABLE Statement (ADD COLUMN), https://dev.mysql.com/doc/refman/8.0/en/alter-table.html (dostęp: 2026-03-05)
  • Microsoft Learn: ALTER TABLE (Transact-SQL) — ADD, https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-table-transact-sql (dostęp: 2026-03-05)

Materiały:

  • Dokumentacja wybranego SZBD (PostgreSQL/MySQL/SQL Server) dotycząca ALTER TABLE
  • Ćwiczenia z DDL: tworzenie tabel i modyfikowanie schematu (ADD/DROP/ALTER COLUMN)
  • Materiały kursowe z podstaw SQL w zakresie definicji danych (DDL)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego