Создание первичных ключей
Определить первичный ключ в SQL Server 2012 можно с помощью среды Среда SQL Server Management Studio или Transact-SQL. Создание первичного ключа автоматически приводит к созданию соответствующего уникального кластеризованного или некластеризованного индекса.
В этом разделе
Перед началом работы выполните следующие действия.
Ограничения
Безопасность
Создание первичного ключа с помощью:
Среда SQL Server Management Studio
Transact-SQL
Перед началом
Ограничения
В таблице возможно наличие только одного ограничения по первичному ключу.
Все столбцы с ограничением PRIMARY KEY должны иметь признак NOT NULL. Если допустимость значения NULL не указана, то для всех столбцов c ограничением PRIMARY KEY устанавливается признак NOT NULL.
Безопасность
Разрешения
Создание новой таблицы с первичным ключом требует разрешения CREATE TABLE в базе данных и разрешения ALTER на схему, в которой создается таблица.
Создание первичного ключа в существующей таблице требует разрешения ALTER на таблицу.
[Top]
Использование среды SQL Server Management Studio
Создание первичного ключа
В обозревателе объектов щелкните правой кнопкой таблицу, в которую необходимо добавить ограничение уникальности, и выберите команду Конструктор.
В Конструкторе таблиц щелкните селектор строк для столбца базы данных, который необходимо определить в качестве первичного ключа. Чтобы выделить несколько столбцов, нажмите и удерживайте клавишу CTRL и щелкните селекторы строк для остальных столбцов.
Щелкните правой кнопкой мыши селектор строк столбца и выберите команду Задать первичный ключ.
Внимание! |
---|
Чтобы переопределить первичный ключ, необходимо удалить все связи с существующим первичным ключом и только после этого создавать новый первичный ключ. Появится сообщение, предупреждающее об автоматическом удалении в ходе процесса всех существующих связей. |
Ключевой столбец-источник идентифицируется символом первичного ключа в соответствующем селекторе строк.
Если первичный ключ состоит более чем из одного столбца, то в одном столбце могут встречаться дублирующиеся значения, но все сочетания значений изо всех столбцов первичного ключа должны быть уникальными.
При определении составного ключа порядок столбцов в первичном ключе совпадает с порядком столбцов, показанным в таблице. Однако после создания первичного ключа порядок столбцов можно изменить. Дополнительные сведения см. в разделе Изменение первичных ключей.
[Top]
Использование Transact-SQL
Создание первичного ключа в существующей таблице
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается первичный ключ в столбце TransactionID.
USE AdventureWorks2012; GO ALTER TABLE Production.TransactionHistoryArchive ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID); GO
Создание первичного ключа в новой таблице
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается таблица и определяется первичный ключ для столбца TransactionID.
USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive1 ( TransactionID int NOT NULL, CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID) ); GO
Дополнительные сведения см. в разделах ALTER TABLE (Transact-SQL), Инструкция CREATE TABLE (Transact-SQL) и table_constraint (Transact-SQL).
[Top]