Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. UNIQUE w SQL

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.