Które ograniczenie należy przypisać kolumnie, aby wpisywane do niej wartości nie mogły się powtarzać?
Źle.
SINGLE nie jest ograniczeniem SQL.Źle.
NOT NULL zabrania pustej wartości, ale dopuszcza powtórzenia.Dobrze.
UNIQUE wymusza unikatowość wartości w kolumnie.Źle.
NO REPEAT nie istnieje w SQL.Ograniczenie
UNIQUE wymusza, że wartości w kolumnie nie mogą się powtarzać - baza odrzuci próbę wstawienia duplikatu. Stosuje się je np. do adresów e-mail, numerów PESEL czy loginów, gdzie każda wartość musi być niepowtarzalna, ale (w odróżnieniu od klucza głównego) kolumna może dopuszczać NULL. Definiuje się je przy kolumnie, np. email VARCHAR(100) UNIQUE. Dlatego brak powtórzeń zapewnia UNIQUE.Pozostałe odpowiedzi albo nie istnieją, albo robią co innego.
SINGLE i NO REPEAT brzmią sensownie, ale takich ograniczeń w SQL nie ma - serwer ich nie rozpozna. NOT NULL to prawdziwe ograniczenie, lecz wymusza jedynie, by pole nie było puste; wartości mogą się przy tym powtarzać. Niepowtarzalność wpisów gwarantuje UNIQUE, dlatego ta odpowiedź jest poprawna.