Первичные ключи
Основная цель первичного ключа состоит в том, чтобы предоставить средство для идентификации каждой записи в таблице.
Первичный ключ обеспечивает средство дляидентичность строки, используя данные в строке.Первичный ключ может основываться на одном или нескольких столбцах, таких как имя и фамилия;однако во многих проектах первичный ключ представляет собой автоматически генерируемое число из столбца идентификаторов.
Первичный ключ имеет следующие характеристики:
- Тамможет быть только один первичный ключ для таблицы.
- Первичный ключ состоит из одного или нескольких столбцов.
- Первичный ключ обеспечивает целостность сущности таблицы.
- ВсеОпределенные столбцы должны быть определены как NOT NULL.
- Первичный ключ однозначно идентифицирует строку.
- Первичные ключи по умолчанию приводят к уникальным индексам CLUSTERED.
Уникальные ключи
Уникальный ключ также называется уникальным ограничением.Уникальное ограничение может использоваться для обеспечения уникальности строк в базе данных.
Разве мы уже не делаем это с первичным ключом?Да, мы делаем, но таблица может иметь несколько наборов столбцов, которые вы хотите уникальные.
В SQL Server уникальный ключ имеет следующие характеристики:
- В таблице может быть несколько уникальных ключей.
- Уникальные ключи по умолчанию приводят к НЕКЛАСТЕРНЫМ уникальным индексам.
- Один или несколько столбцов составляют уникальный ключ.
- Столбец может иметь значение NULL, но допускается по одному NULL на каждый столбец.
- На ограничение внешнего ключа может ссылаться ограничение внешнего ключа.
source: here