Создание первичных ключей

Вы можете определить первичный ключ в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL. Создание первичного ключа автоматически создает соответствующий уникальный, кластеризованный или некластеризованный индекс.

В этом разделе

Перед началом работы

Ограничения и условия

  • В таблице возможно наличие только одного ограничения по первичному ключу.

  • Все столбцы с ограничением PRIMARY KEY должны иметь признак NOT NULL. Если значение NULL не указано, все столбцы, участвующие в ограничении PRIMARY KEY, имеют значение NULL.

Безопасность

Разрешения

Для создания таблицы с первичным ключом требуется разрешение CREATE TABLE в базе данных и разрешение ALTER на схему, в которой создается таблица.

Для создания первичного ключа в существующей таблице требуется разрешение ALTER для таблицы.

Использование среды SQL Server Management Studio

Создание первичного ключа

  1. В обозревателе объектов щелкните правой кнопкой мыши таблицу, в которую нужно добавить уникальное ограничение, и нажмите кнопку "Конструктор".

  2. В конструкторе таблиц щелкните селектор строк для столбца базы данных, который необходимо определить в качестве первичного ключа. Если вы хотите выбрать несколько столбцов, удерживайте клавишу CTRL, щелкнув селекторы строк для других столбцов.

  3. Щелкните правой кнопкой мыши селектор строк для столбца и выберите команду Задать первичный ключ.

Осторожность

Чтобы переопределить первичный ключ, необходимо удалить все связи с существующим первичным ключом и только после этого создавать новый первичный ключ. Появится сообщение, предупреждающее об автоматическом удалении в ходе процесса всех существующих связей.

Столбец первичного ключа идентифицируется символом первичного ключа в его селекторе строк.

Если первичный ключ состоит более чем из одного столбца, то в одном столбце могут встречаться дублирующиеся значения, но все сочетания значений изо всех столбцов первичного ключа должны быть уникальными.

При определении составного ключа порядок столбцов в первичном ключе совпадает с порядком столбцов, показанным в таблице. Однако после создания первичного ключа порядок столбцов можно изменить. Дополнительные сведения см. в разделе Изменение первичных ключей.

Использование Transact-SQL

Создание первичного ключа в существующей таблице

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В примере создается первичный ключ в столбце TransactionID.

    USE AdventureWorks2012;  
    GO  
    ALTER TABLE Production.TransactionHistoryArchive   
    ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID);  
    GO  
    
    

Создание первичного ключа в новой таблице

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В примере создается таблица и определяется первичный ключ в столбце 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).