KWALIFIKACJA INF3 - CZERWIEC 2022

PYTANIE NR 22.
Tworząc tabelę, do pola które będzie przyjmowało kolejne liczby całkowite nadawane automatycznie, należy dodać własność
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
AUTO_INCREMENT to atrybut kolumny (np. w MySQL/MariaDB), który powoduje automatyczne nadawanie kolejnych wartości całkowitych dla nowych rekordów. PRIMARY KEY i NOT NULL dotyczą identyfikacji/ograniczeń danych, ale same nie generują rosnących liczb, a NULL dopuszcza brak wartości.

Pełne wyjaśnienie:

Kolumna, która ma automatycznie otrzymywać kolejne liczby całkowite przy dodawaniu nowych rekordów, wymaga mechanizmu autoinkrementacji. W MySQL i MariaDB realizuje to atrybut AUTO_INCREMENT. Dzięki niemu, gdy w instrukcji INSERT nie podasz wartości tej kolumny, serwer bazy danych nada ją sam, zwiększając licznik o 1 (z zachowaniem reguł danego silnika).

Dlaczego pozostałe odpowiedzi nie spełniają warunku z pytania?

  • NOT NULL oznacza jedynie, że w kolumnie nie wolno zapisać braku wartości. To ograniczenie spójności danych, ale nie tworzy automatycznie kolejnych liczb. Można mieć kolumnę NOT NULL, która wciąż wymaga ręcznego podawania wartości.
  • PRIMARY KEY definiuje klucz główny, czyli wymusza unikalność i identyfikację rekordu. Bardzo często kolumna AUTO_INCREMENT jest jednocześnie kluczem głównym, ale sam klucz główny nie "produkuje" rosnących wartości — tylko pilnuje, aby wartości nie powtarzały się.
  • NULL to dopuszczenie braku wartości. Jest przeciwieństwem NOT NULL i również nie ma związku z automatycznym nadawaniem kolejnych liczb.

Wskazówka egzaminacyjna: gdy pytanie mówi o "kolejnych liczbach nadawanych automatycznie", szukaj mechanizmu generowania wartości (autoinkrementacji/identity), a nie ograniczeń typu unikalność czy (nie)wymagalność pola.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
AUTO_INCREMENT to atrybut kolumny liczbowej w MySQL/MariaDB, który powoduje automatyczne nadawanie kolejnych wartości (zwykle 1, 2, 3...) przy dodawaniu nowych wierszy. Najczęściej stosuje się go dla kolumny identyfikatora rekordu (ID).
Gdy kolumna ma AUTO_INCREMENT, możesz pominąć ją w instrukcji INSERT. Silnik bazy sam wstawi następną dostępną liczbę. Aplikacja webowa nie musi liczyć ID ręcznie, co zmniejsza ryzyko konfliktów przy wielu zapisach.
PRIMARY KEY wymusza, aby wartości były unikalne i niepuste, ale nie generuje ich automatycznie. Możesz mieć klucz główny tekstowy albo liczbowy wpisywany ręcznie. Autoinkrementacja to osobny mechanizm realizowany przez AUTO_INCREMENT.
W praktyce kolumny z autoinkrementacją są traktowane jako niemogące przyjmować braku wartości, bo baza ma nadawać identyfikator. Jednak NOT NULL to ograniczenie spójności, a AUTO_INCREMENT to mechanizm generowania wartości — pełnią inne role.
Najczęściej używa się typów całkowitych (np. INT), bo autoinkrementacja dotyczy kolejnych liczb. Dobór typu zależy od przewidywanej liczby rekordów (zakresu). Szczegóły i ograniczenia zależą od silnika bazy (MySQL/MariaDB).
Jeśli podasz ID ręcznie, baza spróbuje je wstawić jak zwykłą wartość. Może to się nie udać, gdy złamiesz unikalność (np. konflikt z istniejącym rekordem). W zależności od ustawień silnika licznik kolejnej wartości może się też przesunąć.
Kluczowe sformułowania to: "kolejne liczby", "nadawane automatycznie", "identyfikator rekordu", "numerowanie wierszy". To wskazuje na mechanizm generowania wartości, a nie na ograniczenia typu NOT NULL czy PRIMARY KEY.
Nie. AUTO_INCREMENT jest charakterystyczne dla MySQL/MariaDB. Inne systemy mogą używać innych rozwiązań (np. kolumn typu IDENTITY albo sekwencji). Na egzaminie ważne jest odczytanie, o jaki dialekt/środowisko chodzi w treści zadania.
Częste pomyłki to: wybór PRIMARY KEY zamiast mechanizmu generowania, mylenie NOT NULL z autoinkrementacją oraz ręczne wyliczanie ID w aplikacji (co może powodować konflikty przy równoczesnych zapisach).
Przećwicz definicje tabel: typy danych, ograniczenia (NOT NULL, PRIMARY KEY, UNIQUE) oraz mechanizmy generowania identyfikatorów (np. AUTO_INCREMENT). Najlepiej wykonać kilka własnych tabel i testowych INSERT, obserwując efekty.
info

Około 55% zdających odpowiada poprawnie na to pytanie. średnie

W praktyce zawodowej kluczowe jest to, że aUTO_INCREMENT to atrybut kolumny (np. w MySQL/MariaDB), który powoduje automatyczne nadawanie kolejnych wartości całkowitych dla nowych rekordów.

Źródła:

  • MySQL 8.0 Reference Manual: Using AUTO_INCREMENT — https://dev.mysql.com/doc/refman/8.0/en/example-auto-increment.html (dostęp: 2026-02-27)
  • MySQL 8.0 Reference Manual: Data Type Attributes (AUTO_INCREMENT) — https://dev.mysql.com/doc/refman/8.0/en/data-type-attributes.html (dostęp: 2026-02-27)
  • MariaDB Knowledge Base: AUTO_INCREMENT — https://mariadb.com/kb/en/auto_increment/ (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MySQL: atrybut AUTO_INCREMENT i zasady działania
  • Dokumentacja MariaDB: AUTO_INCREMENT oraz ograniczenia kluczy
  • Ćwiczenia praktyczne: tworzenie tabel i wstawianie rekordów z pominięciem kolumny ID

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego