KWALIFIKACJA INF3 - CZERWIEC 2015

PYTANIE NR 25.
Które z poleceń naprawi uszkodzoną tabelę w języku SQL?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Polecenie REPAIR TABLE służy do naprawy uszkodzonej tabeli (w praktyce w określonych systemach/typach tabel).
OPTIMIZE TABLE wykonuje porządkowanie danych i indeksów, ANALYZE TABLE aktualizuje statystyki dla optymalizatora, a REGENERATE TABLE nie jest typowym poleceniem SQL.

Pełne wyjaśnienie:

Pytanie dotyczy polecenia służącego do naprawy uszkodzonej tabeli. W praktyce takie komendy są zwykle charakterystyczne dla konkretnych systemów baz danych (dialektów SQL), a nie dla "czystego" standardu SQL.

REPAIR TABLE to polecenie, którego przeznaczeniem jest próba naprawienia problemów z tabelą (np. niespójności lub uszkodzeń struktury przechowywania). Dlatego najlepiej odpowiada na sformułowanie "naprawi uszkodzoną tabelę".

Dlaczego pozostałe odpowiedzi są niepoprawne:

  • OPTIMIZE TABLE – kojarzy się z "poprawą", ale dotyczy głównie porządkowania/odświeżenia sposobu przechowywania danych i indeksów oraz odzyskania niewykorzystanego miejsca. To jest działanie optymalizacyjne, a nie naprawa uszkodzeń.
  • ANALYZE TABLE – aktualizuje statystyki wykorzystywane przez optymalizator zapytań, co może poprawić dobór planu wykonania. Nie służy jednak do naprawiania uszkodzeń tabeli.
  • REGENERATE TABLE – nie jest standardowym, typowym poleceniem SQL do konserwacji tabel w popularnych systemach; brzmi wiarygodnie, ale w tym zestawie pełni rolę dystraktora.

Wskazówka egzaminacyjna: gdy w odpowiedziach pojawiają się komendy z obszaru utrzymania tabel, warto rozdzielić ich funkcje na trzy grupy: naprawa (naprawianie uszkodzeń), optymalizacja (porządkowanie/defragmentacja/odzysk miejsca) oraz analiza (statystyki dla optymalizatora). To pomaga szybko wyeliminować odpowiedzi, które "brzmią podobnie", ale robią coś innego.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
REPAIR TABLE to polecenie konserwacyjne służące do próby naprawy uszkodzonej tabeli w systemach, które je obsługują. Typowo uruchamia mechanizmy sprawdzania i odtwarzania spójności danych/indeksów. Warto pamiętać, że dostępność i działanie zależą od konkretnego DBMS i typu tabeli.
OPTIMIZE TABLE jest kojarzone z "poprawianiem", ale dotyczy głównie uporządkowania sposobu przechowywania danych i indeksów oraz odzyskania miejsca. To zabieg wydajnościowo-porządkowy. Nie jest to typowa operacja naprawy po uszkodzeniu struktury lub danych tabeli.
ANALYZE TABLE aktualizuje statystyki wykorzystywane przez optymalizator zapytań, aby lepiej dobierał plany wykonania. Wykonuje się je np. po dużych zmianach danych lub przy problemach z wydajnością zapytań. Nie służy jednak do naprawy uszkodzeń tabeli.
Nie. To przykład polecenia charakterystycznego dla określonych systemów baz danych (dialektów SQL). Na egzaminie warto rozróżniać: standard SQL (portable) oraz polecenia administracyjne specyficzne dla danego DBMS, które w praktyce spotyka się w pracy administratora.
Sygnałem są słowa typu "naprawi", "optymalizuje", "analizuje", "konserwuje" oraz odpowiedzi w formie komend typu REPAIR/OPTIMIZE/ANALYZE. To nie są typowe zapytania SELECT/INSERT, tylko polecenia utrzymaniowe. Wtedy porównuj, czy chodzi o naprawę, statystyki czy porządkowanie.
To przykładowe identyfikatory tabel. W SQL nazwa tabeli jest zwykle dowolnym identyfikatorem zgodnym z regułami danego DBMS. Różnice typu podkreślenie w nazwie nie zmieniają sensu polecenia w pytaniu testowym; istotne jest samo polecenie (REPAIR/OPTIMIZE/ANALYZE).
To klasyczna pułapka: oba polecenia brzmią "serwisowo", ale dotyczą różnych problemów. ANALYZE wpływa na statystyki i planowanie zapytań, więc pasuje do wydajności. REPAIR dotyczy naprawy uszkodzeń. Jeśli w treści jest "uszkodzona tabela", wybór ANALYZE to efekt mylenia konserwacji ze statystyką.
"Uszkodzona tabela" zwykle oznacza problem ze spójnością danych lub indeksów albo z plikami/strukturą przechowywania, np. po awarii zasilania czy błędzie nośnika. Objawia się błędami przy odczycie/zapisie lub niespójnymi wynikami. Rozwiązania zależą od DBMS, kopii zapasowych i narzędzi naprawczych.
W typowych zestawach poleceń SQL używanych na poziomie podstawowym administracji baz danych nie jest to standardowa komenda konserwacyjna. W testach często występuje jako dystraktor, bo brzmi wiarygodnie. Na egzaminie skup się na rozpoznawalnych poleceniach utrzymaniowych spotykanych w dokumentacji DBMS.
Ułóż listę poleceń w trzech grupach: naprawa, optymalizacja i statystyki. Następnie w laboratorium wykonaj je na przykładowych tabelach i obserwuj efekt (komunikaty, czas działania, zmiany w indeksach/statystykach). Na egzaminie łatwiej wtedy skojarzysz słowo kluczowe z właściwą funkcją.
info

Około 45% zdających odpowiada poprawnie na to pytanie. trudne

Źródła:

  • MySQL 8.0 Reference Manual: "REPAIR TABLE Statement" (dokumentacja polecenia) - https://dev.mysql.com/doc/refman/8.0/en/repair-table.html - dostęp 2026-02-24
  • MySQL 8.0 Reference Manual: "OPTIMIZE TABLE Statement" - https://dev.mysql.com/doc/refman/8.0/en/optimize-table.html - dostęp 2026-02-24
  • MySQL 8.0 Reference Manual: "ANALYZE TABLE Statement" - https://dev.mysql.com/doc/refman/8.0/en/analyze-table.html - dostęp 2026-02-24

Materiały:

  • Dokumentacja poleceń konserwacyjnych w wybranym DBMS (sekcje: REPAIR/OPTIMIZE/ANALYZE)
  • Materiały kursowe z administracji baz danych (podstawy utrzymania i optymalizacji)
  • Laboratoria: wykonywanie poleceń konserwacyjnych na przykładowych tabelach i obserwacja efektów

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego