Mam tabeli jak ten:Jak utworzyć ograniczenie unikalne SQL na podstawie 2 kolumn?
|UserId | ContactID | ContactName
---------------------------------------
| 12456 | Ax759 | Joe Smith
| 12456 | Ax760 | Mary Smith
| 12458 | Ax739 | Carl Lewis
| 12460 | Ax759 | Chuck Norris
| 12460 | Bx759 | Bruce Lee
muszę dodawać ograniczenie do tej tabeli, dzięki czemu użytkownik może nie mieć zduplikowanych kontaktów identyfikatorów. Użytkownicy importują dane z różnych systemów zewnętrznych, więc ContactId nie będzie unikatowy, ale będzie unikalny dla każdego użytkownika.
W jaki sposób tworzyć unikalne i nie-zerowe ograniczenia oparte na pojedynczych kolumnach, ale jak utworzyć unikalne ograniczenia w dwóch kolumnach?
Jaka jest różnica między tymi dwoma metodami? Czy są jakieś przypadki, w których jeden jest preferowany w stosunku do drugiego? Czy podejście oparte na indeksach będzie szybsze w przypadku dużego zbioru danych? – Zapnologica
@Zapnologica Sprawdź inne pytanie dotyczące tego konkretnego tematu: http://dba.stackexchange.com/questions/144/when-should-i-use-a-unique-constraint-instead-of-a-unique-index – Jonathan