KWALIFIKACJA INF3 - STYCZEŃ 2017

PYTANIE NR 24.
Przedstawione polecenie MySQL ma za zadanie
Ilustracja przedstawia fragment kodu SQL, który jest poleceniem modyfikacji tabeli w bazie danych.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna interpretacja polecenia DDL w MySQL polega na rozpoznaniu, czy zmienia ono definicję istniejącej kolumny.
Wskazana odpowiedź jest właściwa, bo opisuje operację modyfikacji typu danych kolumny tytul w tabeli ksiazki, a nie dodanie, usunięcie ani zmianę nazwy.

Pełne wyjaśnienie:

W MySQL polecenia z grupy DDL (Data Definition Language) służą do zmiany struktury obiektów bazy danych, np. tabel i ich kolumn. Kluczowe jest odróżnienie czterech często mylonych działań: dodania kolumny, usunięcia kolumny, zmiany nazwy kolumny oraz zmiany jej definicji (np. typu danych).

Odpowiedź "zmienić typ kolumny tytul w tabeli ksiazki." pasuje do sytuacji, w której polecenie dotyczy już istniejącej kolumny i modyfikuje jej parametry definicji (najczęściej typ danych, długość, atrybuty typu NOT NULL itp.). Taka operacja jest typowa podczas rozwoju aplikacji internetowej, gdy zmieniają się wymagania co do przechowywanych danych.

Dlaczego pozostałe odpowiedzi nie pasują do takiego polecenia:

  • "dodać do tabeli ksiazki kolumnę tytul." opisuje tworzenie nowej kolumny, co odpowiada poleceniom typu dodawania kolumny. To inny cel niż modyfikacja istniejącej definicji.
  • "zmienić nazwę kolumny w tabeli ksiazki," dotyczy zmiany identyfikatora (nazwy) kolumny. Zmiana nazwy nie jest tym samym co zmiana typu; można zmienić nazwę bez zmiany typu i odwrotnie.
  • "usunąć kolumnę tytul z tabeli ksiazki." oznacza trwałe usunięcie kolumny ze schematu tabeli, co jest operacją destrukcyjną (zwykle powoduje utratę danych w tej kolumnie) i nie jest równoznaczne ze zmianą typu.

Wskazówka egzaminacyjna: przy poleceniach modyfikujących kolumnę zwracaj uwagę, czy polecenie odnosi się do istniejącej kolumny i czy opis dotyczy definicji (typu/parametrów), czy raczej istnienia kolumny (dodanie/usunięcie) albo jej nazwy.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
DDL (Data Definition Language) to grupa poleceń SQL służących do tworzenia i zmiany struktury bazy danych, np. tabel i kolumn. Obejmuje m.in. tworzenie tabel, usuwanie ich oraz modyfikacje schematu (np. zmiana typu kolumny), a nie operacje na rekordach.
Wskazuje na to składnia odnosząca się do istniejącej kolumny i jej definicji, np. zmiana typu danych, długości lub atrybutów. W praktyce szukasz fragmentu, który nie dodaje nowej kolumny ani jej nie usuwa, tylko modyfikuje parametry już zdefiniowanego pola.
Dodanie kolumny tworzy nowe pole w tabeli, którego wcześniej nie było (zwykle trzeba też ustalić wartość domyślną lub dopuścić puste wartości). Zmiana typu dotyczy już istniejącej kolumny i modyfikuje sposób przechowywania danych, bez tworzenia nowego atrybutu.
Zmiana typu może wymagać konwersji istniejących danych. Jeśli dane nie mieszczą się w nowym typie (np. za krótki tekst, niepoprawny format), mogą wystąpić błędy, obcięcie wartości lub niezgodności. Dlatego przed zmianą typu warto sprawdzić dane i wykonać kopię zapasową.
Nie. Zmiana nazwy modyfikuje identyfikator kolumny, czyli jak aplikacja i zapytania się do niej odwołują. Zmiana typu modyfikuje definicję danych (format i ograniczenia przechowywania). Można zmienić nazwę bez zmiany typu i odwrotnie, to niezależne operacje.
Najczęściej przy rozwoju aplikacji: gdy tytuły okazują się dłuższe niż zakładano, gdy trzeba przejść na inny zestaw znaków, albo gdy pole początkowo tekstowe powinno mieć inny typ. To typowa "migracja schematu" wykonywana przez administratora lub programistę.
Często mylą modyfikację z dodaniem/usunięciem kolumny, bo wszystkie te operacje wykonuje się na tabeli. Inny błąd to ignorowanie szczegółów składni i wybór odpowiedzi na podstawie słowa "kolumna". Warto porównywać: czy kolumna ma powstać, zniknąć, zmienić nazwę czy definicję.
W typowym przypadku tak: usunięcie kolumny ze schematu powoduje, że wartości przechowywane w tej kolumnie przestają istnieć w tabeli. To operacja destrukcyjna, więc przed jej wykonaniem stosuje się kopie zapasowe lub migracje danych do innej kolumny.
Można to zrobić, odczytując definicję tabeli w narzędziu administracyjnym albo poleceniem pokazującym strukturę tabeli (np. widok kolumn w systemowych metadanych). Dzięki temu wiesz, jaki jest obecny typ, długość i atrybuty, zanim wprowadzisz modyfikację.
Ćwicz na realnej bazie: twórz tabelę, dodawaj kolumny, usuwaj je, zmieniaj typ i nazwę, a potem sprawdzaj strukturę tabeli. Ucz się rozpoznawać cel polecenia po składni. Na egzaminie kluczowe jest rozróżnienie działań na schemacie od działań na danych.
info

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

Źródła:

  • MySQL 8.0 Reference Manual: "ALTER TABLE Statement" (sekcja modyfikacji kolumn), https://dev.mysql.com/doc/refman/8.0/en/alter-table.html - accessed 2026-02-27
  • MySQL 8.0 Reference Manual: "Data Types" (przegląd typów danych i konsekwencje zmian), https://dev.mysql.com/doc/refman/8.0/en/data-types.html - accessed 2026-02-27
  • MySQL 8.0 Reference Manual: "SQL Statements" (podział i znaczenie poleceń SQL/DDL), https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html - accessed 2026-02-27

Materiały:

  • Dokumentacja MySQL dotycząca ALTER TABLE i modyfikacji kolumn
  • Materiały dydaktyczne INF.3 z zakresu SQL/DDL i projektowania schematów
  • Ćwiczenia praktyczne: tworzenie tabel i modyfikacje kolumn w lokalnym środowisku MySQL/MariaDB

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego