Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Słowa kluczowe: ALTER TABLE w SQL CREATE TABLE w SQL INSERT INTO w SQL Typ integer UPDATE w SQL

Wskaż polecenie SQL dodające pole miesiacSiewu do istniejącej tabeli rosliny

A.
UPDATE rosliny ADD miesiacSiewu int;
B.
ALTER TABLE rosliny ADD miesiacSiewu int;
C.
INSERT INTO rosliny VALUES (miesiacSiewu int);
D.
CREATE TABLE rosliny {miesiacSiewu int};

Pytanie z egzaminu CKE, czerwiec 2016 (arkusz E.14-X-16.05).

Polecenie ALTER TABLE rosliny ADD miesiacSiewu int; jest właściwe, bo służy do modyfikowania struktury już istniejącej tabeli. W SQL takie operacje zaliczamy do DDL, czyli Data Definition Language, bo zmieniamy definicję obiektu w bazie danych, a nie same dane w wierszach. ALTER TABLE wskazuje tabelę, którą chcemy zmienić, ADD oznacza dodanie nowej kolumny, miesiacSiewu to nazwa pola, a int określa typ danych przechowujący liczby całkowite, np. wartości od 1 do 12. W praktyce takie pole można wykorzystać do zapisywania miesiąca siewu roślin, żeby później filtrować rekordy, np. wyszukać rośliny wysiewane w marcu. Z mojego doświadczenia warto od razu pomyśleć też o ograniczeniach, np. CHECK miesiacSiewu BETWEEN 1 AND 12, jeśli dany system bazodanowy to obsługuje. W większych projektach dobrą praktyką jest wykonywanie takich zmian przez migracje bazy danych, a nie ręczne klikanie w panelu, bo wtedy łatwiej kontrolować historię zmian i wdrożenia na serwerze.
W tym pytaniu kluczowe jest rozróżnienie między zmianą struktury tabeli a operacjami na danych. Jeśli chcemy dodać nowe pole, czyli nową kolumnę do istniejącej tabeli, nie używamy poleceń przeznaczonych do edycji rekordów ani tworzenia nowych obiektów od zera. UPDATE służy do zmiany wartości w już istniejących wierszach, na przykład można nim ustawić miesiacSiewu = 3 dla konkretnych roślin, ale dopiero wtedy, gdy taka kolumna już istnieje. Samo UPDATE nie dodaje kolumny do schematu tabeli, więc mieszanie go z ADD jest typowym błędem wynikającym z kojarzenia słowa update z ogólną aktualizacją bazy. CREATE TABLE ma inne zadanie: tworzy nową tabelę. Gdy tabela rosliny już istnieje, ponowne użycie CREATE TABLE najczęściej spowoduje błąd, chyba że wcześniej tabela została usunięta albo użyto specjalnych konstrukcji typu IF NOT EXISTS. Dodatkowo w standardowym SQL definicje kolumn zapisuje się w nawiasach okrągłych, a nie w klamrach, więc składnia z { } też jest podejrzana. INSERT INTO VALUES służy do dodawania nowych rekordów, czyli wierszy z danymi, a nie do dodawania kolumn. To częste nieporozumienie: kolumna opisuje strukturę tabeli, a wiersz to konkretna porcja danych. Moim zdaniem najprostsza zasada do zapamiętania jest taka: CREATE tworzy obiekt, INSERT dodaje wiersze, UPDATE zmienia wartości w wierszach, a ALTER TABLE zmienia budowę tabeli.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.