UNIQUE w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Co to jest UNIQUE w SQL?
UNIQUE to ograniczenie integralności danych, które wymusza, aby wartości w danej kolumnie lub zestawie kolumn nie powtarzały się. Stosuje się je wtedy, gdy dana wartość ma być niepowtarzalna, ale niekoniecznie musi być kluczem głównym.
Typowe przykłady użycia:
- adres e-mail użytkownika,
- numer PESEL,
- login,
- numer indeksu ucznia lub studenta.
Przykład użycia w CREATE TABLE
CREATE TABLE uzytkownicy (
id INT PRIMARY KEY,
email VARCHAR(100) UNIQUE,
login VARCHAR(50) UNIQUE
);
W tym przykładzie dwóch użytkowników nie może mieć tego samego adresu e-mail ani tego samego loginu.
UNIQUE a PRIMARY KEY
UNIQUE jest podobne do PRIMARY KEY, ponieważ również blokuje duplikaty. Różnica polega na tym, że tabela może mieć tylko jeden klucz główny, ale może mieć wiele ograniczeń UNIQUE.
CREATE TABLE pracownicy (
id INT PRIMARY KEY,
pesel CHAR(11) UNIQUE,
email VARCHAR(100) UNIQUE
);
UNIQUE a NOT NULL
UNIQUE odpowiada za brak powtórzeń, natomiast NOT NULL oznacza, że pole nie może być puste. To różne ograniczenia.
email VARCHAR(100) UNIQUE NOT NULL
Taki zapis oznacza, że adres e-mail musi być podany i nie może się powtarzać.
Najważniejsze do egzaminu
Jeśli w pytaniu pojawia się sformułowanie: „wartości w kolumnie nie mogą się powtarzać”, poprawną odpowiedzią jest UNIQUE.