REFERENCES имя_род_таблицы [(имя_столбца_род_таблицы [,...n])] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] | NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] (лог_выражение) } Рассмотрим отдельные параметры представленных конструкций, связанные с
ограничениями целостности данных. Ограничения целостности имеют приоритет над
триггерами, правилами и значениями по умолчанию. К ограничениям целостности
относятся ограничение первичного ключа
PRIMARY KEY , ограничение внешнего
ключа
FOREIGN KEY , ограничение уникальности
UNIQUE , ограничение значения
NULL , ограничение на проверку
CHECK .
4.6.1. Ограничение первичного ключа (PRIMARY KEY) Таблица обычно имеет столбец или комбинацию столбцов, значения которых
уникально идентифицируют каждую строку в таблице. Этот столбец (или столбцы)
называется
первичным ключом таблицы и нужен для обеспечения ее
целостности .
Если в первичный ключ входит более одного столбца, то значения в пределах одного
столбца могут дублироваться, но любая комбинация значений всех столбцов первичного
ключа должна быть уникальна.
При создании первичного ключа SQL Server автоматически создает
уникальный индекс для столбцов, входящих в первичный ключ. Он ускоряет доступ к данным этих
столбцов при использовании первичного ключа в запросах.
Таблица может иметь только
одно ограничение PRIMARY KEY , причем ни один
из включенных в первичный ключ столбцов не может принимать значение
NULL . При
попытке использовать в качестве первичного ключа столбец (или группу столбцов), для
которого ограничения первичного ключа не выполняются, первичный ключ создан не
будет, а система выдаст сообщение об ошибке.
Поскольку ограничение