У меня есть таблица, содержащая столбец INT IDENTITY
и столбец VARCHAR(10)
.Я хочу иметь UNIQUE CLUSTERED INDEX
в столбце IDENTITY
(так что это первичный ключ), и мне также нужен способ предотвращения дублирования значений в столбце VARCHAR(10)
.Однако данные должны быть упорядочены по столбцу IDENTITY
в порядке возрастания.
Например:
CREATE TABLE ref.currency (
currency_id INT NOT NULL IDENTITY(1,1),
currency_name VARCHAR(10) NOT NULL
);
GO
CREATE UNIQUE CLUSTERED INDEX ix_ref_currency_id ON ref.currency(currency_id);
GO
INSERT INTO ref.currency (
currency_name
)
VALUES
('Pounds'),
('Euros'),
('Dollars');
(я создаю UNIQUE CLUSTERED INDEX
вместо PRIMARY KEY
, какМеня этому учили, но я не до конца понимал причины, по которым одно должно быть выбрано над другим. С тех пор я придерживался этого.)
Вопрос:
Какой тип индекса мне следует выбрать?добавить в эту таблицу, чтобы предотвратить добавление повторяющихся значений в столбец currency_name
, чтобы не влиял на порядок данных?
Я пытался добавить UNQIUE NONCLUSTERED INDEX
Однако это приводит к тому, что данные упорядочиваются по currency_name
, что мне не нужно.