W SQL (np. w MySQL) polecenie tworzenia tabeli może zawierać klauzulę IF NOT EXISTS. Jej sens jest praktyczny: jeśli tabela o danej nazwie już istnieje, serwer nie przerywa wykonania polecenia błędem "table exists", tylko pomija utworzenie. Dzięki temu skrypty instalacyjne, migracje i wdrożenia mogą być bardziej odporne na ponowne uruchomienie (tzw. idempotencja).
Dlaczego pozostałe odpowiedzi są nieprawdziwe?
- "Klauzula CHARACTER SET utf8 jest obowiązkowa."
W definicji tabeli ustawienie zestawu znaków jest opcjonalne: jeśli go nie podasz, tabela/kolumny dziedziczą domyślne ustawienia bazy danych lub serwera. Obowiązkowość zależy od wymagań projektu, a nie od składni. - "Do tabeli nie można wprowadzać ulic zawierających w nazwie polskie znaki."
Możliwość zapisu polskich znaków zależy od użytego zestawu znaków i kolacji (oraz typu danych), a nie od samego faktu istnienia tabeli. Przy poprawnej konfiguracji kodowania (np. UTF) takie dane są możliwe. - "Rekordem tabeli nie może być 3 MAJA."
Rekord to wiersz (zestaw wartości w kolumnach). "3 MAJA" może być wartością pola tekstowego (np. nazwa ulicy), o ile kolumna ma odpowiedni typ i dopuszcza taką wartość. Tego typu zdanie nie jest logiczną konsekwencją typowego polecenia CREATE TABLE.
Wskazówka egzaminacyjna: w pytaniach o składnię SQL szukaj odpowiedzi opisujących działanie klauzuli (co robi z błędem/wykonaniem), a ostrożnie traktuj zdania absolutne ("zawsze", "obowiązkowe", "nie można"), bo często są fałszywe bez dodatkowych warunków.