KWALIFIKACJA INF3 - WRZESIEŃ 2014

PYTANIE NR 16.
Które ze stwierdzeń prawidłowo charakteryzuje zdefiniowaną tabelę?
CREATE TABLE dane (kolumna INTEGER(3));
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
CREATE TABLE dane (kolumna INTEGER(3)); tworzy tabelę o nazwie dane z jedną zdefiniowaną kolumną kolumna typu całkowitego. Zapis (3) w MySQL/MariaDB nie oznacza trzech kolumn ani tablicy — to jedynie parametr związany z formatowaniem/wyświetlaniem, a nie ze strukturą tabeli.

Pełne wyjaśnienie:

Polecenie CREATE TABLE służy do utworzenia nowej tabeli i określenia jej struktury, czyli listy kolumn. W zapisie:

CREATE TABLE dane (kolumna INTEGER(3));

  • dane to nazwa tabeli,
  • kolumna to nazwa (jednej) kolumny,
  • INTEGER to typ danych przeznaczony na liczby całkowite.

Kluczowe jest to, że w nawiasie po nazwie tabeli znajduje się tylko jedna definicja kolumny (jedno wystąpienie "nazwa_kolumny typ"). To oznacza, że tabela ma dokładnie jedną kolumnę, niezależnie od tego, czy typ ma dodatkowy parametr.

Odpowiedź "Tabela o nazwie dane posiada jedną kolumnę liczb całkowitych." jest poprawna, bo opisuje właśnie tę pojedynczą definicję kolumny oraz jej typ.

Pozostałe propozycje są błędne z typowych powodów:

  • Stwierdzenie o "trzech kolumnach" wynika z pomylenia parametru (3) z liczbą kolumn. Liczbę kolumn wyznacza liczba definicji oddzielonych przecinkami, a przecinka tu nie ma.
  • Wzmianka o "trzyelementowych tablicach" to nieporozumienie: w tej składni nie jest definiowana tablica, tylko pojedyncza kolumna o typie liczbowym. W klasycznym SQL nie zapisuje się w ten sposób typów tablicowych.
  • Nazwy "kolumna 1, kolumna2, kolumna3" nie pojawiają się w definicji. SQL nie tworzy tu automatycznie trzech kolumn; jedyna nazwa kolumny podana jawnie to kolumna.

Warto też pamiętać o różnicach między systemami baz danych: w MySQL/MariaDB zapis INTEGER(3) bywa akceptowany jako parametr związany z szerokością wyświetlania, natomiast w innych DBMS (np. PostgreSQL) taki zapis może zostać odrzucony. Niezależnie od tego, sama liczba kolumn w tej definicji pozostaje równa 1.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
CREATE TABLE tworzy nową tabelę i definiuje jej strukturę, czyli listę kolumn wraz z typami danych i ewentualnymi ograniczeniami. To podstawowe polecenie DDL używane przy projektowaniu bazy danych w aplikacjach webowych.
Liczbę kolumn rozpoznasz po liczbie definicji w nawiasie po nazwie tabeli. Każda definicja ma zwykle postać nazwa_kolumny typ i jest oddzielona przecinkiem. Brak przecinków i jedna definicja oznaczają jedną kolumnę.
INTEGER (INT) oznacza kolumnę przeznaczoną na liczby całkowite. W typowych DBMS to wartości bez części ułamkowej. Typ wybiera się zależnie od zakresu potrzebnych danych i wydajności zapytań.
Nie. Zapis INTEGER(3) nie tworzy trzech kolumn. Liczba kolumn wynika z liczby definicji w CREATE TABLE, a nie z parametru w typie. W MySQL/MariaDB nawias bywa kojarzony z szerokością wyświetlania, a nie z liczbą pól.
Różne silniki SQL mają różne rozszerzenia składni. MySQL/MariaDB akceptują pewne niestandardowe warianty zapisu typów, a PostgreSQL trzyma się własnych reguł i może odrzucić składnię niezgodną z tym, co obsługuje. Dlatego warto znać docelowy DBMS projektu.
Najczęściej myli się: (1) parametr typu z liczbą kolumn, (2) szerokość wyświetlania z zakresem wartości, (3) pojedynczą kolumnę z tablicą/strukturą złożoną. Pomaga zasada: kolumny liczymy po przecinkach, a nazwy bierzemy wprost z definicji.
Po utworzeniu tabeli możesz użyć poleceń typu DESCRIBE nazwa_tabeli lub SHOW COLUMNS FROM nazwa_tabeli. Zobaczysz wtedy listę kolumn, ich typy oraz dodatkowe atrybuty. To szybka kontrola poprawności skryptu.
W MySQL/MariaDB parametr w zapisie typu nie służy do ograniczania zakresu wartości typu INTEGER. Zakres wynika z samego typu (np. INT) i ewentualnie z cechy signed/unsigned. Ograniczenia wartości robi się innymi mechanizmami, np. CHECK lub logiką aplikacji.
Trzy kolumny zapisuje się jako trzy definicje oddzielone przecinkami, np. CREATE TABLE t (a INT, b INT, c INT). Kluczowe są przecinki i trzy pary "nazwa + typ". Sam parametr w typie nie zwiększa liczby kolumn.
Ćwicz czytanie i pisanie krótkich poleceń DDL/DML: CREATE TABLE, INSERT, SELECT, WHERE, JOIN. Rób zadania, w których rozpoznajesz liczbę kolumn, typy danych i klucze. Sprawdzaj wyniki w wybranym DBMS (często MySQL/MariaDB).
info

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

Eksperci podkreślają: "CREATE TABLE dane (kolumna INTEGER(3)); tworzy tabelę o nazwie dane z jedną zdefiniowaną kolumną kolumna typu całkowitego."

Źródła:

  • MySQL 8.0 Reference Manual: Numeric Type Syntax (Integer Types) – https://dev.mysql.com/doc/refman/8.0/en/integer-types.html (dostęp: 2026-02-28)
  • MySQL 8.0 Reference Manual: CREATE TABLE Statement – https://dev.mysql.com/doc/refman/8.0/en/create-table.html (dostęp: 2026-02-28)
  • MariaDB Knowledge Base: INT – https://mariadb.com/kb/en/int/ (dostęp: 2026-02-28)

Materiały:

  • Dokumentacja MySQL: rozdziały o typach liczbowych i składni CREATE TABLE
  • Dokumentacja MariaDB: opis INTEGER i atrybutów typu (m.in. display width)
  • Dokumentacja PostgreSQL: definicje typów liczbowych oraz składnia CREATE TABLE

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego