UNIKALNE Ograniczenia w Microsoft SQL Server
Ograniczenie UNIQUE zapewnia większą elastyczność niż ograniczenie klucza podstawowego
Tworząc ograniczenie UNIQUE, administratorzy programu SQL Server określają, że kolumna bazy danych nie może zawierać zduplikowanych wartości. Kiedy tworzysz nowy UNIKALNY ograniczenie , SQL Server sprawdza daną kolumnę, aby określić, czy zawiera ona jakiekolwiek zduplikowane wartości. Jeśli stół zawiera duplikaty, polecenie tworzenia wiązania kończy się niepowodzeniem. Podobnie po zdefiniowaniu ograniczenia UNIQUE w kolumnie próby dodania lub zmodyfikowania danych, które spowodowałyby istnienie duplikatów, również kończą się niepowodzeniem.
KIVILCIM PINAR / Getty Images
Dlaczego warto korzystać z UNIKATOWYCH Ograniczeń
Ograniczenie UNIQUE i klucz podstawowy wymuszają unikalność, ale czasami ograniczenie UNIQUE jest lepszym wyborem.
- Użyj ograniczenia UNIQUE, aby określić kilka ograniczeń w tabeli. Do tabeli można dołączyć tylko jeden klucz podstawowy.
- Użyj ograniczenia UNIQUE, gdy kolumna zezwala na wartości null. Ograniczenia klucza podstawowego można dołączać tylko do kolumn, które nie zezwalają na wartości null.
Tworzenie UNIKALNEGO Ograniczenia
Najprostszym sposobem utworzenia ograniczenia unikatowego w Transact-SQL jest połączenie z aparatem bazy danych w Eksploratorze obiektów w SQL Management Studio, a następnie kliknięcie Nowe zapytanie .
Użyj następującej kwerendy, modyfikując warunki zgodnie z potrzebami, aby utworzyć nową tabelę i dodać ograniczenie do kolumny:
|_+_|
Wykonaj zapytanie.
Podobnie, aby utworzyć ograniczenie unikatowe w istniejącej tabeli, wykonaj następujące zapytanie T-SQL:
|_+_|UNIKALNE Ograniczenia a UNIKALNE indeksy
Istnieje pewne zamieszanie dotyczące różnicy między ograniczeniem UNIQUE a indeksem UNIQUE. Chociaż możesz używać różnych poleceń T-SQL do ich tworzenia (ALTER TABLE i ADD CONSTRAINT dla ograniczeń i CREATE UNIQUE INDEX dla indeksów), w większości mają one ten sam efekt. W rzeczywistości, kiedy tworzysz ograniczenie UNIQUE, w rzeczywistości tworzy ono indeks UNIQUE w tabeli. Zwróć jednak uwagę na kilka różnic:
- Podczas tworzenia indeksu możesz dodać dodatkowe opcje do polecenia tworzenia.
- Kolumna podlegająca ograniczeniu UNIQUE może być użyta jako klucz obcy.