И ключ (или ключевое слово), и индекс являются идентификаторами строки таблицы.
Хотя индекс - это структура параллельной идентификации, содержащая указатель на идентифицированную строку, а ключи - члены поля in situ.
Ключ, как идентификатор, подразумевает уникальность (ограничение) и NOT NULL (ограничение).В NULL нет смысла как идентификатор (так как null не может ничего идентифицировать), а также неуникальное идентифицирующее значение.
Некластеризованный индекс может содержать реальные данные, не служащие в качестве идентификатора для реальных данных, и поэтому быть неуникальным [1]
К сожалению, ключ или индекс (идентификатор) вызывается ограничением (правилом или ограничением), за которым следовало большинство предыдущих ответов.
Ключи используются в контексте:
- альтернативные альтернативные или альтернативные ключи-кандидаты, могут быть кратны
- составной ключ (несколько полей объединены)
- первичный ключ (суперключ), натуральный или суррогатный ключ, только один,действительно используется для ссылочной целостности
- внешний ключ
Внешний ключ - это ключ в другой таблице (где он является первичным ключом), и даже не ключ, к которому они часто обращаются.Такое использование объясняется путаницей сокращения термина «ограничение внешнего ключа» до «внешнего ключа».
Ограничение первичного ключа действительно подразумевает ограничения NOT NULL и UNIQUE +, что указанный столбец (или объединенные столбцы) является идентификатором, а также, к сожалению, заменяется «первичным ключом» или «ограничением первичного ключа», в то время как они оба нельзя вызватьлибо только (первичный ключ), либо только (первичный) ключ.
Обновление:
Мой связанный вопрос:
[1]
УНИКАЛЬНЫЙ аргумент для создания INDEX - для чего?