KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 18.
Polecenie w języku SQL ALTER TABLE USA ... ma za zadanie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
ALTER TABLE to polecenie DDL służące do modyfikowania istniejącej tabeli, czyli zmiany jej definicji (np. dodania/usunięcia kolumny, zmiany typu danych, dodania ograniczeń). Nie usuwa tabeli i nie tworzy nowej — do tego służą inne polecenia SQL.

Pełne wyjaśnienie:

Polecenie ALTER TABLE należy do grupy poleceń DDL (Data Definition Language), czyli takich, które zmieniają strukturę obiektów bazy danych. Gdy w zapytaniu pojawia się fragment "ALTER TABLE USA ...", oznacza to, że baza ma wykonać zmianę w już istniejącej tabeli o nazwie USA.

Typowe zastosowania ALTER TABLE to m.in.:

  • dodanie lub usunięcie kolumny,
  • zmiana typu danych kolumny lub jej właściwości (np. dopuszczalności wartości NULL),
  • dodanie lub usunięcie ograniczeń (np. klucza obcego, unikalności),
  • zmiany związane z indeksami lub domyślnymi wartościami (zależnie od systemu bazodanowego).

Dlatego poprawna jest odpowiedź: "modyfikację tabeli USA" — bo ALTER TABLE nie tworzy obiektu od zera, tylko zmienia definicję istniejącego.

Pozostałe odpowiedzi są niepoprawne, bo opisują inne operacje:

  • "usunięcie tabeli USA" odpowiada semantyce polecenia DROP TABLE, które kasuje tabelę (często wraz z danymi).
  • "utworzenie nowej tabeli USA" odpowiada poleceniu CREATE TABLE, czyli tworzeniu obiektu od podstaw.
  • "nadpisanie starej tabeli USA" to typowe pojęcie z pracy na plikach; w SQL standardowo nie jest to podstawowa funkcja ALTER TABLE. W praktyce "zastąpienie" tabeli realizuje się przez sekwencję operacji (np. utworzenie nowej tabeli, migracja danych, zamiana nazw), a nie przez samo ALTER TABLE.

Wskazówka egzaminacyjna: jeśli pytanie dotyczy "co robi polecenie", najpierw rozpoznaj klasę polecenia (DDL/DML). CREATE/ALTER/DROP dotyczą struktury, a SELECT/INSERT/UPDATE/DELETE dotyczą danych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
ALTER TABLE służy do zmiany definicji istniejącej tabeli w bazie danych. Najczęściej używa się go do dodania/usunięcia kolumny, zmiany typu danych, ustawienia wartości domyślnej lub dodania/usunięcia ograniczeń (np. NOT NULL, UNIQUE).
CREATE TABLE tworzy tabelę od zera (nowy obiekt w bazie). ALTER TABLE modyfikuje tabelę, która już istnieje, czyli zmienia jej strukturę lub reguły. W praktyce CREATE to "utwórz", a ALTER to "zmień".
ALTER TABLE jest poleceniem do modyfikacji schematu, a usuwanie tabeli realizuje się innym poleceniem (DROP TABLE). Usunięcie to operacja destrukcyjna, dlatego w SQL jest wyraźnie oddzielona od zmiany struktury.
Ogólna idea to użycie składni typu: ALTER TABLE + nazwa tabeli + operacja dodania. Konkretna postać zależy od systemu (PostgreSQL, MySQL, SQL Server), ale zawsze celem jest dopisanie nowej kolumny do istniejącej tabeli.
Tak, w wielu systemach bazodanowych ALTER TABLE pozwala zmieniać typ danych kolumny (np. długość tekstu lub typ liczbowy). Trzeba jednak uważać na zgodność danych już zapisanych w tabeli, bo nie każda konwersja jest możliwa bez błędów.
Najczęściej podczas rozwoju aplikacji, gdy zmieniają się wymagania i trzeba dostosować schemat bazy (np. dodać pole w tabeli użytkowników, wprowadzić relację przez klucz obcy, zmienić ograniczenia). Często dzieje się to w ramach migracji bazy danych.
DDL (Data Definition Language) to grupa poleceń do definiowania i zmiany struktury bazy danych. ALTER TABLE jako DDL wpływa na schemat (kolumny, typy, ograniczenia), a nie na pojedyncze rekordy. Dla danych (rekordów) używa się zwykle DML.
Najczęstsze pomyłki to mylenie ALTER TABLE z DROP TABLE (usuwanie) oraz z CREATE TABLE (tworzenie). Uczniowie czasem przenoszą też pojęcie "nadpisania" z plików na SQL, choć w bazach to zwykle inny proces niż prosta komenda ALTER.
ALTER TABLE służy do modyfikacji struktury, a nie do zastąpienia tabeli nową. Jeśli celem jest "zastąpienie", w praktyce wykonuje się ciąg kroków (np. utworzenie nowej tabeli, przeniesienie danych, podmiana nazw), a nie pojedynczy ALTER TABLE.
Zwróć uwagę na czasownik polecenia: CREATE/ALTER/DROP dotyczą struktury (schematu), a SELECT/INSERT/UPDATE/DELETE dotyczą danych w wierszach. Jeśli w pytaniu pojawia się ALTER TABLE, to prawie zawsze chodzi o zmianę definicji tabeli.
info

To pytanie poprawnie rozwiązuje 83% zdających egzamin. średnio łatwe

W praktyce zawodowej kluczowe jest to, że aLTER TABLE to polecenie DDL służące do modyfikowania istniejącej tabeli, czyli zmiany jej definicji (np. dodania/usunięcia kolumny, zmiany typu danych, dodania ograniczeń).

Źródła:

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

Materiały:

  • Dokumentacja wybranego DBMS (np. PostgreSQL/MySQL/SQL Server) dla polecenia ALTER TABLE
  • Materiały o SQL DDL vs DML (różnice i przykłady)
  • Ćwiczenia z migracji bazy danych (schema migrations) w projektach webowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego