KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 16.
Typ stało-znakowy w języku SQL to
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Typ stało-znakowy oznacza typ przechowujący łańcuch znaków o ustalonej długości. W SQL takim typem jest char (często zapisywany jako CHAR(n)). Pozostałe opcje odnoszą się do innych kategorii danych: tekstowych o zmiennej długości, czasu lub wartości logicznych.

Pełne wyjaśnienie:

W SQL typ char służy do przechowywania danych znakowych o stałej długości. W praktyce spotyka się zapis z parametrem długości, np. CHAR(n), co oznacza, że baza przeznacza miejsce na dokładnie n znaków (a krótsze wartości mogą być dopełniane spacjami – zależnie od systemu).

Dlaczego poprawne jest "char"? Ponieważ pytanie dotyczy typu stało-znakowego, czyli takiego, którego długość jest z góry ustalona definicją kolumny. To klasyczna cecha CHAR/CHARACTER w SQL.

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

  • "text" zwykle oznacza typ tekstowy o zmiennej długości (i w wielu DBMS jest przeznaczony dla dłuższych napisów). Nie jest to typ stałej długości i bywa specyficzny dla danego systemu.
  • "time" jest typem czasu (godzina/minuta/sekunda) i należy do grupy typów daty/czasu, a nie znakowych.
  • "bool" (lub BOOLEAN) służy do przechowywania wartości logicznych (prawda/fałsz), więc nie opisuje danych znakowych.

Wskazówka egzaminacyjna: gdy w treści pojawia się "stała długość", najczęściej chodzi o rozróżnienie CHAR (stała) vs typy o zmiennej długości (np. VARCHAR/TEXT). Jeśli zadanie nie podaje dialektu SQL, warto kojarzyć pojęcia z najczęściej spotykanym znaczeniem w systemach bazodanowych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Typ stało-znakowy to typ danych do przechowywania napisów o z góry ustalonej długości. Najczęściej jest to CHAR, zwykle definiowany jako CHAR(n). Używa się go, gdy długość danych jest stała (np. kody, skróty, identyfikatory).
CHAR wybiera się wtedy, gdy dane mają stałą długość i chcesz wymusić jednolity format. TEXT jest zwykle zmiennodługościowy i przeznaczony na dłuższe treści. W zadaniach egzaminacyjnych słowo "stało-znakowy" najczęściej wskazuje właśnie na CHAR.
Zapis CHAR(n) określa maksymalną i jednocześnie docelową długość pola jako n znaków. Kolumna ma stałą długość wynikającą z definicji. Szczegóły dopełniania krótszych wartości mogą zależeć od DBMS, ale idea stałej długości pozostaje ta sama.
W wielu systemach baz danych typ TEXT występuje, ale jego nazwa i zachowanie bywają zależne od dialektu (np. MySQL, PostgreSQL). Na egzaminie, gdy pytanie jest ogólne, TEXT traktuj jako typ tekstowy zmiennej długości, a nie jako stało-znakowy.
TIME służy do przechowywania informacji o czasie (np. godzina, minuta, sekunda) bez części daty. Nie jest typem znakowym. W praktyce używa się go dla godzin otwarcia, godzin zdarzeń lub harmonogramów, a nie dla napisów.
W wielu DBMS spotyka się BOOLEAN jako nazwę typu logicznego, a BOOL bywa jego aliasem. To typ do wartości prawda/fałsz. W kontekście pytania o typ znakowy odpowiedź z BOOL/BOOLEAN jest błędna, bo dotyczy innej kategorii danych.
Zwróć uwagę na słowa kluczowe: "stała długość" zwykle prowadzi do CHAR, a "zmienna długość" do VARCHAR. Typy tekstowe (np. TEXT) są często opisywane jako przeznaczone na dłuższe treści. Dodatkowo typy czasu i logiki łatwo wykluczyć po kategorii danych.
CHAR stosuje się, gdy wartości mają stałą długość: kody krajów, skróty, numery o stałej liczbie znaków, stałe identyfikatory. Ułatwia to walidację i utrzymanie spójnego formatu danych. Gdy długość jest różna, częściej wybiera się VARCHAR.
Częsty błąd to wybór TEXT, bo "to też napis", bez zauważenia wymogu stałej długości. Inny błąd to sugerowanie się tym, co znają z jednego DBMS i przenoszenie tego na "SQL ogólnie". Pomaga nauka par: CHAR (stałe) vs VARCHAR (zmienne).
Wypisz grupy typów: liczbowe, znakowe, data/czas, logiczne i ćwicz przyporządkowanie. Rób krótkie przykłady CREATE TABLE z doborem typów do danych. Na egzaminie szukaj w treści słów: "stała", "zmienna", "data", "czas", "prawda/fałsz".
info

Około 81% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Eksperci podkreślają: "Typ stało-znakowy oznacza typ przechowujący łańcuch znaków o ustalonej długości."

Źródła:

  • PostgreSQL Documentation: Character Types (sekcja o CHARACTER(n)/CHAR(n)), https://www.postgresql.org/docs/current/datatype-character.html - accessed 2026-03-02
  • MySQL 8.0 Reference Manual: The CHAR and VARCHAR Types, https://dev.mysql.com/doc/refman/8.0/en/char.html - accessed 2026-03-02
  • Microsoft Learn: char and varchar (Transact-SQL), https://learn.microsoft.com/en-us/sql/t-sql/data-types/char-and-varchar-transact-sql - accessed 2026-03-02

Materiały:

  • Dokumentacja wybranego systemu DBMS (np. PostgreSQL/MySQL/SQL Server) – rozdział o typach znakowych
  • Ćwiczenia z poleceniami CREATE TABLE i doborem typów kolumn
  • Zestawy zadań egzaminacyjnych z projektowania baz danych i SQL

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego